error
[파이썬/머신러닝] ConvergenceWarning: Maximum number of iteration reached before convergence
colin2
2024. 11. 15. 10:33
[문제]

작성 코드
from sklearn.linear_model import SGDClassifier
sc = SGDClassifier(loss='log_loss', max_iter=10)
sc.fit(train_scaled, train_target)
[원인]
SGDClassifier가 설정된 반복 횟수 (max_iter) 내에 모델 학습을 완전히 수렴시키지 못했다는 경고로, 반복 횟수가 너무 작아서 모델이 수렴하기 전에 반복이 종료된 것
[해결]
반복 횟수(max_iter)를 늘려주면 됨
sc = SGDClassifier(loss='log_loss', max_iter=1000)
완성코드
from sklearn.linear_model import SGDClassifier
# max_iter를 1000으로 늘리고, tol을 적절히 설정하여 수렴 보장
sc = SGDClassifier(loss='log_loss', max_iter=1000, tol=1e-4)
# 모델 학습
sc.fit(train_scaled, train_target)