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)