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