交流群:462197261站长百科站长论坛热门标签收藏本站北冥有鱼 互联网前沿资源第一站 助力全行业互联网+
点击这里给我发消息
  • 当前位置:
  • Python sklearn中的.fit与.predict的用法说明

    北冥有鱼 教程大全 2020-06-28 ,,,

    我就废话不多说了,大家还是直接看代码吧~

    clf=KMeans(n_clusters=5) #创建分类器对象
    fit_clf=clf.fit(X) #用训练器数据拟合分类器模型
    clf.predict(X) #也可以给新数据数据对其预测
    
    print(clf.cluster_centers_) #输出5个类的聚类中心
    
    y_pred = clf.fit_predict(X) #用训练器数据X拟合分类器模型并对训练器数据X进行预测
    
    print(y_pred) #输出预测结果

    补充知识:sklearn中调用某个机器学习模型model.predict(x)和model.predict_proba(x)的区别

    model.predict_proba(x)不同于model.predict(),它返回的预测值为获得所有结果的概率。(有多少个分类结果,每行就有多少个概率,对每个结果都有一个概率值,如0、1两分类就有两个概率)

    我们直接上代码,通过具体例子来进一步讲解:

    python3 代码实现:

    # -*- coding: utf-8 -*-
    """
    Created on Sat Jul 27 21:25:39 2019
    
    @author: ZQQ
    """
    from sklearn.linear_model import LogisticRegression
    from sklearn.ensemble import RandomForestClassifier
    from xgboost import XGBClassifier
    import numpy as np
    import warnings
    warnings.filterwarnings("ignore")
    # 这个方法只是解决了表面,没有根治
    
    # 数据(特征,属性)
    x_train = np.array([[1,2,3], 
              [1,5,4], 
              [2,2,2], 
              [4,5,6], 
              [3,5,4], 
              [1,7,2]]) 
    # 数据的标签
    y_train = np.array([1, 0, 1, 1, 0, 0]) 
     
    # 测试数据
    x_test = np.array([[2,1,2], 
              [3,2,6], 
              [2,6,4]]) 
     
    # 导入模型
    model = LogisticRegression() 
     
    #model = RandomForestClassifier()
    
    #model=XGBClassifier()
    
    model.fit(x_train, y_train)
    
    # 返回预测标签 
    print(model.predict(x_test)) 
     
    print('---------------------------------------')
    
    # 返回预测属于某标签的概率 
    print(model.predict_proba(x_test)) 
     
    

    运行结果:

    分析结果:

    使用model.predict() :

    预测[2,1,2]为1类

    预测[3,2,6]为1类

    预测[2,6,4]为0类

    使用model.predict_proba() :

    预测[2,1,2]的标签是0的概率为0.19442289,1的概率为0.80557711

    预测[3,2,6]的标签是0的概率为0.04163615,1的概率为0.95836385

    预测[2,6,4]的标签是0的概率为0.83059324,1的概率为0.16940676

    预测为0类的概率值和预测为1的概率值和为1

    同理,如果标签继续增加,3类:0,1, 2

    预测为0类的概率值:a

    预测为1类的概率值:b

    预测为2类的概率值:c

    预测出来的概率值的和a+b+c=1

    注:model.predict_proba()返回所有标签值可能性概率值,这些值是如何排序的呢?

    返回模型中每个类的样本概率,其中类按类self.classes_进行排序。

    通过numpy.unique(label)方法,对label中的所有标签值进行从小到大的去重排序。

    得到一个从小到大唯一值的排序。这也就对应于model.predict_proba()的行返回结果。

    以上这篇Python sklearn中的.fit与.predict的用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持北冥有鱼。


    广而告之:
    热门推荐:
    将光标定位于输入框最右侧实现代码

    前端开发过程中,经常需要这样的场景。用JS实现将光标定位于输入框最右侧。 场景一:编辑图片的描述文字 场景二:Script.aculo.us的Ajax.InPlaceEditor类。双击可编辑,编辑后离开可自动更新该区域。 以上场景都需要JS实现将光标定位于输入框最右侧,却不是通过鼠标点入···

    javascript实现动态标签云

    今天上学校的图书馆,看到了一个好玩的东西,特意百度了下,发现叫做“标签球”,效果图为: 直接代码如下: CSS: #div1 {position:relative; width:350px; height:350px; border:1px solid #000; margin: 20px auto 0; } #div1 a {position:absolute; top:0px; left:0px; font···

    DedeCms防止垃圾文章群发、垃圾评论和注册

    一、来源判断方法: 方法1:具体方法是:在member 目录下面的文件里面加上来路的判断,代码为: Copy to ClipboardLiehuo.Net Codes引用的内容:[www.eyoucms.com] if(stristr($_SERVER['HTTP_REFERER'],"eyoucms.com")){ } else { echo &lsqu···

    javascript弹出带文字信息的提示框效果

    本文实例讲述了javascript弹出带文字信息的提示框效果。分享给大家供大家参考,具体如下: tooltips.js: // position of the tooltip relative to the mouse in pixel // var offsetx = 12; var offsety = 8; function newelement(newid) { if(document.createElement) { ···

    手挽手带你学React之React-router4.x的使用

    手挽手带你学React入门三档,带你学会使用Reacr-router4.x,开始创建属于你的React项目 什么是React-router React Router 是一个基于 React 之上的强大路由库,它可以让你向应用中快速地添加视图和数据流,同时保持页面与 URL 间的同步。通俗一点就是,它帮助我们的程序在不同的···

    从0到1构建vueSSR项目之路由的构建

    vue开发依赖的相关配置 Vue SSR 指南 今天先做客户端方面的配置,明天再做服务端的部分。 那么马上开始吧~ 修改部分代码 脚手架生成的代码肯定是不适合我们所用的 所以要修改一部分代码 //App.vue <template> <div id="app"> <router-view></r···

    you *might* want to use the less safe log

    恢复MySQL数据库创建存储过程是遇到错误 you *might* want to use the less safe log_bin_trust_function_creators variable 需要执行 SET GLOBAL log_bin_trust_function_creators = 1;

    jQuery内部原理和实现方式浅析

    这段时间在学习研究jQuery源码,受益于jQuery日益发展强大,研究jQuery的大牛越来越多,学习的资料也比前两年好找了,有很多非常不错的资源,如高云的jQuery1.6.1源码分析系列。这些教程非常细致的分析了jQuery内部原理和实现方式,对学习和理解jQuery有非常大的帮助。但是个人···

    webuploader模态框ueditor显示问题解决方法

    webuploader 模态框 ueditor 显示问题 模态框z-index 对应的值 .modal { z-index: 10050 !important; outline: none !important; } 遮罩层对应的z-index值 .modal-backdrop { border: 0 !important; outline: none !important; z-index: 10049 !important; } uedito···

    javascript onkeydown实现键盘快捷键控制页面

    IE only的鼠标左右键控制上一页下一页<script type="text/javascript"> <!-- var preview_page = "14671.html"; var next_page = "14675.html"; var index_page = "index.html"; var article_id =···