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爬虫常用的模块分析
Aug 29 Python
Python代码调试的几种方法总结
Apr 15 Python
用Python的Flask框架结合MySQL写一个内存监控程序
Nov 07 Python
Python实现Logger打印功能的方法详解
Sep 01 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
Nov 06 Python
python仿evething的文件搜索器实例代码
May 13 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
Aug 20 Python
python 模拟创建seafile 目录操作示例
Sep 26 Python
在python下实现word2vec词向量训练与加载实例
Jun 09 Python
vue.js刷新当前页面的实例讲解
Dec 29 Python
详解Django中 render() 函数的使用方法
Apr 22 Python
OpenCV实现常见的四种图像几何变换
Apr 01 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
JQuery下的Live方法和$.browser方法使用代码
2010/06/02 Javascript
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
BootStrapValidator初使用教程详解
2017/02/10 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
Node.js 基础教程之全局对象
2017/08/06 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
2018/02/08 Javascript
vue 组件中添加样式不生效的解决方法
2018/07/06 Javascript
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
基于vue实现web端超大数据量表格的卡顿解决
2019/04/02 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
PyTorch线性回归和逻辑回归实战示例
2018/05/22 Python
python高阶爬虫实战分析
2018/07/29 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
2019/01/23 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
Flask配置Cors跨域的实现
2019/07/12 Python
Django 通过JS实现ajax过程详解
2019/07/30 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
欧洲最大的拼图游戏商店:JigsawPuzzle.co.uk
2018/07/04 全球购物
JAVA中的关键字有什么特点
2014/03/07 面试题
什么时候需要进行强制类型转换
2016/09/03 面试题
高校辅导员推荐信范文
2013/12/25 职场文书
优秀党支部申报材料
2014/12/24 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
出国留学单位推荐信
2015/03/26 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
Python+Appium自动化测试的实战
2021/06/30 Python