인프런 커뮤니티 질문&답변

Gumraze님의 프로필 이미지
Gumraze

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

랜덤 포레스트 실습

DataConversionWarning 오류

작성

·

3.2K

0

안녕하세요 맥 환경에서 머신러닝 공부중입니다.

현재 맥북프로로 M1 pro칩 기반에서 작동 중에

3분 30초에 GridSearchCV 작동부분에서 아래와 같은 오류가 발생합니다.

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().

n_jobs = -1로 설정하였을 때는 결국 timeout으로 빠져 작동 정지 됩니다.

아마 cpu환경이 M1과 다르기 때문에 생기는 오류라고 생각되어 n_jops=2, 4, 8 ,10으로 설정하여 가동을 시켰습니다.

n_jops를 변경하면 값이 결과값이 나오지만, 여전히 DataConversionWarning이 나옵니다.

왜 그런지 알 수 있을까요?

(사진 함께 첨부합니다.)

스크린샷 2023-03-28 오후 4.34.29.png스크린샷 2023-03-28 오후 4.37.02.png

답변 2

0

Gumraze님의 프로필 이미지
Gumraze
질문자

y_train.shape 값이 (7352, 1)로 나옵니다!

권 철민님의 프로필 이미지
권 철민
지식공유자

음, y_train이 2차원이군요.

원래 실습 코드를 그대로 사용하시나요? 아님 변경을 하신 부분이 있는지요?

변경하신 부분이 있으면 해당 사항을 원래 실습코드 대로 하시거나 아님 아래와 같이 y_train을 1차원으로 변경해 보시지요

y_train = y_train.reshape(-1, )

print(y_train.shape)

Gumraze님의 프로필 이미지
Gumraze
질문자

원래 실습 코드로 강의를 듣고 복습을 위한 코드 파일을 새롭게 만들어서 학습 중입니다.

위 오류는 원본 실습 코드에서 오류가 발생하여, 복습 코드에서 n_job을 임의로 조정해서 실습 해보았던 것입니다.

y_train을 1차원으로 변경시켜도 아래와 같은 오류가 반복됩니다.
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().
-------------------------
reval()함수를 통해서 1차원으로 변경하여 실행하였더니 정상적으로 작동됩니다!

권 철민님의 프로필 이미지
권 철민
지식공유자

reshape(-1,)로 안되고 ravel()을 적용하니 된게 살짝 의아하군요.

암튼 해결이 되었다니, 다행이군요.

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

에러 내용으로만 봐서는 y_train의 shape가 현재 2차원 이기 때문에 오류가 발생한다고 적혀 있는데, 일단,

y_train.shape를 하셔서 y_train의 shape가 어떻게 되는지 올려 주시겠습니까?

감사합니다.

Gumraze님의 프로필 이미지
Gumraze

작성한 질문수

질문하기