Я строю модель прогнозирования оттока с логистической регрессией в Python.Моя точность модели составляет 0,47 и предсказывает только 0 с.Реализованная переменная y на самом деле составляет 81 ноль и 92 единицы.
У меня есть только несколько функций и 220 пользователей (записей).Если я установлю эталонное время, оно будет еще меньше (около 123 записей для тренировочного набора и 173 для тестового набора).Поэтому я думаю, что размер выборки слишком мал, чтобы использовать логистическую регрессию.Но я все еще пытался, потому что это всего лишь пример теста, поэтому я получил только этот небольшой набор данных.(Теоретически данных больше)
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
logreg.fit(x_train, y_train)
y_pred = logreg.predict(x_test)
print('Accuracy: {:.2f}'.format(logreg.score(x_test, y_test)))
Даже если я не тестирую модель, то есть я использую весь набор данных для построения модели, когда я предсказываю будущее изменение, оно все равно возвращает только 0 с.из-за того, что размер моей выборки слишком мал, или потому что точность меньше 0,5, поэтому он просто возвращает одно значение (0 здесь)?Или я что-то не так сделал в коде?
Большое спасибо!