scikit-learn中predict_proba用法 (与predict的区别)

 predict_proba返回的是一个 n 行 k 列的数组, 第 i 行 第 j 列上的数值是模型预测 第 i 个预测样本为某个标签的概率,并且每一行的概率和为1。

 1 # conding :utf-8
 2 from sklearn.linear_model import LogisticRegression
 3 import numpy as np
 4 x_train = np.array([[1,2,3],
 5                     [1,3,4],
 6                     [2,1,2],
 7                     [4,5,6],
 8                     [3,5,3],
 9                     [1,7,2]])
10  
11 y_train = np.array([3, 3, 3, 2, 2, 2])
12  
13 x_test = np.array([[2,2,2],
14                    [3,2,6],
15                    [1,7,4]])
16  
17 clf = LogisticRegression()
18 clf.fit(x_train, y_train)
19  
20 # 返回预测标签
21 print(clf.predict(x_test))
22  
23 # 返回预测属于某标签的概率
24 print(clf.predict_proba(x_test))
25  
26 # [2 3 2]
27 # [[0.56651809 0.43348191]
28 #  [0.15598162 0.84401838]
29 #  [0.86852502 0.13147498]]
30 # 分析结果:
31 # 预测[2,2,2]的标签是2的概率为0.56651809,3的概率为0.43348191
32 #
33 # 预测[3,2,6]的标签是2的概率为0.15598162,3的概率为0.84401838
34 #
35 # 预测[1,7,4]的标签是2的概率为0.86852502,3的概率为0.13147498

 

posted @ 2018-08-05 14:22  杨国峰  阅读(3931)  评论(0编辑  收藏  举报