У меня есть набор данных с осью x, состоящий из значений между [100-350] и двоичными 0 и 1 по оси y.
Я использовал логистическую регрессию sklearn, чтобы найти логистическую функцию, которая будет соответствовать моим данным наиболееточно.
x_train,x_test,y_train,y_test = train_test_split(crowding[['time_spent_avg']].astype('timedelta64[m]'),crowding.over_crowd,test_size=0.01)
X=crowding.time_spent_avg.astype('timedelta64[m]')
X=X[:,np.newaxis]
y=crowding.over_crowd
model = LR( solver='lbfgs')
model.fit(X,y)
Когда я просто строю точки и рассчитываю модель, я получаю результаты, которые кажутся не коррелированными:
loss = expit(X_test * model.coef_ + model.intercept_).ravel()
plt.figure()
plt.plot(X_test, loss, color='red', linewidth=3)
plt.plot(crowding.time_spent_avg.astype('timedelta64[m]'),crowding.over_crowd,'.')
НО, когда я проверяю оценку модели:
model.score(x_test,y_test)
я получаю значение 0,85, которое, я полагаю, означает, что модель работает хорошо.
это значит?модель хорошая?Есть ли что-то, что я делаю неправильно с использованием sklearn?