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中使用select模块实现非阻塞的IO
Feb 03 Python
python+selenium实现京东自动登录及秒杀功能
Nov 18 Python
python使用Plotly绘图工具绘制水平条形图
Mar 25 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
May 04 Python
Python循环结构的应用场景详解
Jul 11 Python
Python实现蒙特卡洛算法小实验过程详解
Jul 12 Python
python 错误处理 assert详解
Apr 20 Python
Python openpyxl模块实现excel读写操作
Jun 30 Python
在django中实现choices字段获取对应字段值
Jul 12 Python
Django日志及中间件模块应用案例
Sep 10 Python
使用Python实现NBA球员数据查询小程序功能
Nov 09 Python
Python离线安装openpyxl模块的步骤
Mar 30 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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
PHP4之真OO
2006/10/09 PHP
深入Nginx + PHP 缓存详解
2013/07/11 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
详解php与ethereum客户端交互
2018/04/28 PHP
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
2013/04/16 Javascript
Javascript判断图片尺寸大小实例分析
2014/06/16 Javascript
jQuery实现点击后标记当前菜单位置(背景高亮菜单)效果
2015/08/22 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
js实现轮播图的两种方式(构造函数、面向对象)
2017/09/30 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
python实现读Excel写入.txt的方法
2018/04/29 Python
python绘制多个曲线的折线图
2020/03/23 Python
python虚拟环境完美部署教程
2019/08/06 Python
Python中os模块功能与用法详解
2020/02/26 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
2020/04/28 Python
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
马来西亚综合购物网站:Lazada马来西亚
2018/06/05 全球购物
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
EJB timer的种类
2014/10/28 面试题
机械制造与自动化应届生求职信
2013/11/16 职场文书
生产车间主管岗位职责
2013/12/28 职场文书
帮一个朋友写的求职信
2014/08/09 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
新郎结婚感言
2015/07/31 职场文书
任命书格式范文
2015/09/22 职场文书
五年级作文之劳动作文
2019/11/12 职场文书
解析高可用Redis服务架构分析与搭建方案
2021/06/20 Redis
gateway网关接口请求的校验方式
2021/07/15 Java/Android
Java实现给Word文件添加文字水印
2022/02/15 Java/Android
Python中第三方库Faker的使用详解
2022/04/02 Python