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输出PowerPoint(ppt)文件中全部文字信息的方法
Apr 28 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
Jun 16 Python
Python中sort和sorted函数代码解析
Jan 25 Python
python如何对实例属性进行类型检查
Mar 20 Python
Flask框架Flask-Principal基本用法实例分析
Jul 23 Python
Python UnboundLocalError和NameError错误根源案例解析
Oct 31 Python
Python企业编码生成系统总体系统设计概述
Jul 26 Python
python使用正则来处理各种匹配问题
Dec 22 Python
浅谈Python协程
Jun 17 Python
Python reques接口测试框架实现代码
Jul 28 Python
如何基于Python pygame实现动画跑马灯
Nov 18 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
Feb 25 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实现保存submit内容之后禁止刷新
2014/03/19 PHP
ThinkPHP自动填充实现无限级分类的方法
2014/08/22 PHP
PHP中使用hidef扩展代替define提高性能
2015/04/09 PHP
PHP PDO操作MySQL基础教程
2017/06/05 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
2019/05/29 PHP
Yii Framework框架使用PHPExcel组件的方法示例
2019/07/24 PHP
javascript中的几个运算符
2007/06/29 Javascript
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
2013/02/22 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
JavaScript实现Java中StringBuffer的方法
2015/02/09 Javascript
jquery性能优化高级技巧
2015/08/24 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
js中string和number类型互转换技巧(分享)
2016/11/28 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
2018/04/18 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
[01:01:31]2018DOTA2亚洲邀请赛3月29日小组赛B组 Mineski VS paiN
2018/03/30 DOTA
Python实现list反转实例汇总
2014/11/11 Python
python生成器表达式和列表解析
2016/03/10 Python
python基本语法练习实例
2017/09/19 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
SQL中where和having的区别
2012/06/17 面试题
数学专业推荐信范文
2013/11/21 职场文书
出纳担保书范文
2014/04/02 职场文书
综合测评自我评价
2015/03/06 职场文书
内勤岗位职责范本
2015/04/13 职场文书
配置Kubernetes外网访问集群
2022/03/31 Servers