파이썬/라이브러리(API)

싸이킷런 (sklearn) train_test_split 에러 발생 원인

코데방 2024. 4. 13.
728x90

싸이킷런 모델 fit 적용 시 에러 발생 원인

 

정말 별거 아닌데 별거 아니라서 잘 안보이던 에러입니다. 

 

" ValueError: Found input variables with inconsistent numbers of samples"

 

 

 

 

 

 

 

원인은 train_test_split 메소드로 트레인 데이터와 테스트 데이터를 나눌 때 순서를 잘 못 줬기 때문.. 

 

Feature인 X_train과 타겟인 Y_train은 당연히 행의 갯수가 같아야하는데 순서를 잘 못 적으면 데이터도 틀어지지만 무엇보다 행의 갯수가 달라지기 때문에 위의 에러가 발생합니다. 

 

아무 생각없이 X_train, Y_train, X_test, Y_test로 나누면 안되고 아래와 같이 X를 먼저, Y를 뒤에 적어줘야 해결이 가능합니다!

 

# 테스트 데이터 분리
# 순서를 잘 지켜야함. 안그러면 데이터가 다르게 들어가서 에러남
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state = 42)

 

728x90

댓글

💲 추천 글