我就废话不多说了,大家还是直接看代码吧~
1 2 3 4 5 6 7 8 9 | 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 代码实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | # -*- 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的用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/189593/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)