0
0 комментариев

Собственно классификация данных методом логистической регрессии:

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
 
 
iris = datasets.load_iris()
X = iris.data[:, [2,3]]
y = iris.target
 
X_train, X_test, y_train, y_test = train_test_split(
                                X, y, test_size=0.3, random_state=0
                            )
 
sc = StandardScaler()
sc.fit(X_train)
X_train_std = sc.transform(X_train)
X_test_std = sc.transform(X_test)
 
lr = LogisticRegression(C=1000.0, random_state=0)
lr.fit(X_train_std, y_train)
 
lr.predict_proba([X_test_std[0,:]])

Тренировочные данные взяты прямо из библиотеки:

iris = datasets.load_iris()

Проблема в методе:

lr.predict_proba([X_test_std[0,:]])

который должен должен предсказывать вероятность принадлежности образца(ов) к имеющимся классам, и должен выдавать результат в таком виде:

array([[ 0.000, 0.063, 0.937 ]])

Приведенный выше массив должен говорить о том что модель предсказывает с шансом 93% принадлежность первого образца к третьему классу и 6.3% ко второму (к первому 0)
Но мне вместо этого выдает следующее:

array([[  2.05743774e-11,   6.31620264e-02,   9.36837974e-01]])

Как исправить, что не так ?

Изменен статус публикации
Добавить комментарий