sklearn中predict()與predict_proba()用法區別


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  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM