#python #machine-learning #scikit-learn #classification #logistic-regression
#python #машинное обучение #scikit-learn #классификация #логистическая регрессия
Вопрос:
Я использую SGDClassifier sklearn с функцией потери журнала для выполнения логистической регрессии.
model = sklearn.linear_model.SGDClassifier(random_state=0, verbose=1,loss='log',n_iter=iterat)
result = model.fit(X, y)
Я установил verbose=1, чтобы посмотреть, как выглядят ошибки.
Похоже, что модель собиралась сходиться на итерации 858 (logloss = 0.1562), но logloss внезапно снова вырос до очень высокого значения
Норма эпохи 856: 5.19, NNZs: 104, смещение: -1.158471, T: 4280000000, средняя потеря: 0.156228 Общее время обучения: 2186.96 секунды.
Эпоха 857 Норма: 5.19, NNZs: 104, смещение: -1.158562, T: 428500000000, средняя потеря: 0.156217 Общее время обучения: 2189.51 секунды.
Норма эпохи 858: 5.19, NNZs: 104, смещение: -1.158651, T: 4290000000, средняя потеря: 0.156205 Общее время обучения: 2192.06 секунды.
Норма эпохи 859: 5.19, NNZs: 104, смещение: -1.158744, T: 32704, средняя потеря: 20512.848380 Общее время обучения: 2194.61 секунды.
Норма эпохи 860: 5.19, NNZs: 104, смещение: -1.158834, T: 5032704, средняя потеря: 133.443993 Общее время обучения: 2197.16 секунды.
Норма эпохи 861: 5.19, NNZs: 104, смещение: -1.158925, T: 10032704, средняя потеря: 67.012436 Общее время обучения: 2199.71 секунды.
Кто-нибудь знает, почему это происходит? заранее спасибо
Комментарии:
1. Трудно ответить без данных. Гораздо более важный вопрос: знаете ли вы, что
n_iter
это значит? ( эпохи! ; я думаю, что вы здесь немного обширны, что может быть причиной такого поведения) И почему вы используете sgd вместо классических подходов к оптимизации logreg? (размер данных? выглядит не так уж и много, когда одна итерация выполняется в течение 2 секунд)