sklearn 의 학습 모듈 사용 시, “ValueError: Expected 2D array, got 1D array instead” 발생 시 해결방법.

 

머신러닝 공부를 하면서, sklearn 패키지에 있는 LinearRegression을 트레이닝 하려고 하는데,

또 짜증나게 영문 모를 에러가 발생한다.

 

이상하다... 독립 변수, 종속 변수 모두 다 확인해서... Test, Train Data도 잘 나눠서 넣었는데 이게 무슨 에러여...

분명히 개수도 맞고 데이터 형도 맞고 한데...

 

검색검색해보니... 젠장맞을..

머신러닝 알고리즘 트레이닝을 할때, sklearn 패키지 같은 경우, 독립변수(x)를 2차원 배열로 넣어야 되나보다..

(학습할 독립변수가 여러개가 될 수 있으니 그런 듯)

위와 같은 경우는,

 

이런 식으로 , x변수가 하나라도 2차원 배열로 선언을 해줘야한다.

그러고나니..

 

oh... 깔끔하게 실행됨..

 

사실 책의 예제에는 위와 같이 [[]] 형태로 2차원 배열로 선언이 되어 있었는데, 왜 그렇게 되어있는지 설명도 없고 해서, 나의 무지와 고집으로 ㅠ 1차원 배열로 선언을 했다가 결국 많은 길을 돌아왔다..

 

sklearn의 다른 알고리즘들도 동일한 형식을 가진 것들이 있는 것 같은데, 문제가 될 시 위와 같이 해결을 해보자..

 

 

정말 에러잡는다고, 시간이 두배는 걸리는 파이썬... 데이터 분석 공부..

갈 길이 멀다..

반응형

+ Recent posts