predict是訓練后返回預測結果,是標簽值。
predict_proba返回的是一個 n 行 k 列的數組, 第 i 行 第 j 列上的數值是模型預測 第 i 個預測樣本為某個標簽的概率,並且每一行的概率和為1。
# conding :utf-8 from sklearn.linear_model import LogisticRegression import numpy as np x_train = np.array([[1,2,3], [1,3,4], [2,1,2], [4,5,6], [3,5,3], [1,7,2]]) y_train = np.array([3, 3, 3, 2, 2, 2]) x_test = np.array([[2,2,2], [3,2,6], [1,7,4]]) clf = LogisticRegression() clf.fit(x_train, y_train) # 返回預測標簽 print(clf.predict(x_test)) # [2 3 2] # 返回預測屬於某標簽的概率 print(clf.predict_proba(x_test)) # [[0.56651809 0.43348191] # [0.15598162 0.84401838] # [0.86852502 0.13147498]] # 分析結果: # 預測[2,2,2]的標簽是2的概率為0.56651809,3的概率為0.43348191 # 預測[3,2,6]的標簽是2的概率為0.15598162,3的概率為0.84401838 # 預測[1,7,4]的標簽是2的概率為0.86852502,3的概率為0.13147498