Python sklearn中的.fit与.predict的用法说明


Posted in Python onJune 28, 2020

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

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))

运行结果:

Python sklearn中的.fit与.predict的用法说明

分析结果:

使用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的用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅述python中argsort()函数的实例用法
Mar 30 Python
Python基于更相减损术实现求解最大公约数的方法
Apr 04 Python
python3.6使用pickle序列化class的方法
Oct 22 Python
在Python中使用defaultdict初始化字典以及应用方法
Oct 31 Python
使用Python创建简单的HTTP服务器的方法步骤
Apr 26 Python
Python3 itchat实现微信定时发送群消息的实例代码
Jul 12 Python
django框架ModelForm组件用法详解
Dec 11 Python
python 用 xlwings 库 生成图表的操作方法
Dec 22 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
Mar 01 Python
python中threading开启关闭线程操作
May 02 Python
python实现邮件循环自动发件功能
Sep 11 Python
python 单机五子棋对战游戏
Apr 28 Python
浅谈sklearn中predict与predict_proba区别
Jun 28 #Python
解决Pytorch自定义层出现多Variable共享内存错误问题
Jun 28 #Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
Jun 28 #Python
PyTorch的torch.cat用法
Jun 28 #Python
使用pytorch 筛选出一定范围的值
Jun 28 #Python
解析python 中/ 和 % 和 //(地板除)
Jun 28 #Python
pytorch 常用函数 max ,eq说明
Jun 28 #Python
You might like
PHP提取中文首字母
2008/04/09 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
php绘制一条直线的方法
2015/01/24 PHP
PHP常用工具类大全附全部代码下载
2015/12/07 PHP
PHP+Apache+Mysql环境搭建教程
2016/08/01 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
sencha ext js 6 快速入门(必看)
2016/06/01 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
javascript 动态脚本添加的简单方法
2016/10/11 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
2017/10/27 Javascript
jQuery+CSS实现的标签页效果示例【测试可用】
2018/08/14 jQuery
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
Python编程之string相关操作实例详解
2017/07/22 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
python实现俄罗斯方块
2018/06/26 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
利用python实现周期财务统计可视化
2019/08/25 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
Pytorch模型转onnx模型实例
2020/01/15 Python
通过实例解析python创建进程常用方法
2020/06/19 Python
opencv 图像滤波(均值,方框,高斯,中值)
2020/07/08 Python
Python读写锁实现实现代码解析
2020/11/28 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
俄语专业毕业生推荐信
2013/10/28 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
2014年生活老师工作总结
2014/12/23 职场文书
高一军训感想
2015/08/07 职场文书
golang操作rocketmq的示例代码
2022/04/06 Golang
win10频率超出范围怎么办?win10老显示超出工作频率范围的解决方法
2022/07/07 数码科技