DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel(). y = column_or_1d(y, warn=True)
[문제]

경고 창이 발생한 코드
from sklearn.linear_model import SGDClassifier
sc = SGDClassifier(loss='log_loss', max_iter=10)
sc.fit(train_scaled, train_target)
print(sc.score(train_scaled, train_target))
print(sc.score(test_scaled, test_target))
[원인]
SGDClassifier는 레이블(target) 데이터를 1D 배열 형태로 받으려 하는데, 2D 배열로 되어 있어 발생하는 경고
[해결]
target을 1D 배열로 변환해주면 됨
train_target = train_target.ravel() # 2D -> 1D로 변환
test_target = test_target.ravel() # 2D -> 1D로 변환
완성코드
from sklearn.linear_model import SGDClassifier
train_target = train_target.ravel()
test_target = test_target.ravel()
sc = SGDClassifier(loss='log_loss', max_iter=10)
# 모델 학습
sc.fit(train_scaled, train_target)
# 학습 및 테스트 점수 출력
print(sc.score(train_scaled, train_target))
print(sc.score(test_scaled, test_target))
'error' 카테고리의 다른 글
[스프링부트/라이브러리 추가] Caused by: java.lang.ClassNotFoundException: org.json.simple.JSONObject (0) | 2024.11.19 |
---|---|
[파이썬/머신러닝] ConvergenceWarning: Maximum number of iteration reached before convergence (1) | 2024.11.15 |
[파이썬/주피터] Cell not executed due to pending input (0) | 2024.10.22 |
lombok에 STS4 경로 설정 후 STS4 실행 안됨 (1) | 2024.10.10 |
[인텔리제이] 프로젝트 빌드 오류, 빌드 안됨 (0) | 2024.10.01 |