Я использую scikit-learn для реализации классификации с использованием логистической регрессии. Этикетки классов прогнозируются с использованием функции 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
The предсказанных этикетки печатаются как
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? Должно ли быть другим?
Первый столбец - это предсказанная вероятность для класса 0, вторая - прогнозируемая вероятность для класса 1. Вы говорите, что они должны печататься в самом высоком-низшем порядке? –
Нет, способ, которым я интерпретировал, был дополнением к вероятности, которая сначала печатается. Но теперь мои сомнения очищены. Сначала прогнозируется прогнозируемая вероятность для класса 0, за которой следует вероятность для метки класса 1. Спасибо. – User456898