为什么predict_proba函数以相反的顺序打印概率?

Use*_*898 3 python machine-learning scikit-learn logistic-regression

我正在使用scikit-learn使用Logistic回归实现分类。使用predict()功能预测类别标签,而使用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
Run Code Online (Sandbox Code Playgroud)


预测的标签被打印为

array([1, 1, 1, 1, 1, 1, 1, 1, 0, 1.......... and so on
Run Code Online (Sandbox Code Playgroud)

相应的预测概率打印为

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
Run Code Online (Sandbox Code Playgroud)

观察到,
第一个预测标签-1
第一个预测概率-[ 0.03667012,0.96332988 ]

为什么首先打印0.03667012,而不是0.96332988? 应该是另一种方式吗?

A. *_*tia 5

列0是类别0的概率,列1是类别1的概率。如果您有n个类别,则输出概率形状将为(n_examples,n_classes)。