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

 更新时间:2020年06月28日 11:10:42   作者:冽夫  
这篇文章主要介绍了Python sklearn中的.fit与.predict的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

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

相关文章

  • 浅谈Python中eval的强大与危害

    浅谈Python中eval的强大与危害

    这篇文章主要介绍了Python中eval的强大与危害,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Python异常处理try语句应用技巧实例探究

    Python异常处理try语句应用技巧实例探究

    异常处理在Python中是至关重要的,try-except是用于捕获和处理异常的核心机制之一,本文就带大家深入了解如何使用try-except,处理各种异常情况
    2024-01-01
  • Python中的 No Module named ***问题及解决

    Python中的 No Module named ***问题及解决

    这篇文章主要介绍了Python中的 No Module named ***问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • python面试题小结附答案实例代码

    python面试题小结附答案实例代码

    这篇文章主要介绍了python面试题小结,本文通过实例代码相结合的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • 利用Python破解摩斯密码

    利用Python破解摩斯密码

    摩尔斯电码( 又译为摩斯密码,英语:Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。本文将通过Python代码来实现破解摩斯密码,感兴趣的可以学习一下
    2022-02-02
  • Python requirements.txt的具体使用

    Python requirements.txt的具体使用

    requirements.txt文件是项目的依赖包及其对应版本号的信息列表,本文主要介绍了Python requirements.txt的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • DataFrame.groupby()所见的各种用法详解

    DataFrame.groupby()所见的各种用法详解

    这篇文章主要介绍了DataFrame.groupby()所见的各种用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Sanic框架流式传输操作示例

    Sanic框架流式传输操作示例

    这篇文章主要介绍了Sanic框架流式传输操作,结合实例形式分析了Sanic通过流请求与响应传输操作相关实现技巧与注意事项,需要的朋友可以参考下
    2018-07-07
  • Python实现繁體转为简体的方法示例

    Python实现繁體转为简体的方法示例

    这篇文章主要介绍了Python实现繁體转为简体的方法,涉及Python编码转换相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • kafka监控获取指定topic的消息总量示例

    kafka监控获取指定topic的消息总量示例

    今天小编就为大家分享一篇kafka监控获取指定topic的消息总量示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12

最新评论