2017-02-15 144 views
1

我正在使用scikit-learn使用Logistic迴歸實現分類。 使用predict()函數預測類別標籤,而使用predict_proba()函數打印預測概率。
爲什麼predict_proba函數以相反的順序打印概率?

代碼段粘貼下面:

# Partition the dataset into train and test data 
X_train, X_test, y_train, y_test = train_test_split(ds_X, ds_y, test_size=0.33, random_state=42) 

y_pred = logreg.predict(X_test)        # Predicted class labels from test features 
y_predicted_proba = logreg.predict_proba(X_test)   # Predicted probabilities from test features 


預測標籤印刷作爲

array([1, 1, 1, 1, 1, 1, 1, 1, 0, 1.......... and so on 

相應預測概率打印爲

array([[ 0.03667012, 0.96332988], 
     [ 0.03638475, 0.96361525], 
     [ 0.03809274, 0.96190726], 
     [ 0.01746768, 0.98253232], 
     [ 0.02742639, 0.97257361], 
     [ 0.03676579, 0.96323421], 
     [ 0.02881874, 0.97118126], 
     [ 0.03082288, 0.96917712], 
     [ 0.65332179, 0.34667821], 
     [ 0.02091977, 0.97908023], 
        . 
        ' 
     and so on 

觀察,
第一預測標籤 -
第一預測概率 - [0.03667012,0.96332988]

爲什麼0.03667012第一印刷,代替0.96332988? 它應該是另一種方式嗎?

+3

第一列是第0類的預測概率,第二列是第1類的預測概率。你是說他們應該按照從最高到最低的順序打印? –

+0

不,我解釋的方式是首先打印概率的補充。 但現在,我的疑問已被清除。 0類的預測概率首先被打印,然後是類標籤1的概率。謝謝。 – User456898

回答

3

列0是類0的概率,列1是類1的概率。如果有n個類,則輸出概率形狀將是(n_examples,n_classes)。

相關問題