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

유리시나님의 프로필 이미지

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

2회 기출유형(작업형2)

2회 기출유형(작업형2) 오류가 나서요 ㅠ

해결된 질문

24.06.15 21:06 작성

·

99

0

2회 기출 작업형2 하다가 오류가 나서 문의드립니다.

랜덤포레스트 부분입니다.

# 랜덤포레스트
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(random_state=0)model.fit(X_tr,y_tr)
pred = model.predict_proba(X_val)

이렇게 오류가 나는데 ㅠㅠ

왜그런걸까요.....

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

2024. 06. 15. 23:37

문자가 있는데 인코딩(원핫, 레이블)되지 않아 발생하는 에러입니다.

X_tr.head()를 통해 인코딩되지 않은 object가 없는지 확인해 주세요!

0

인프런 AI 인턴님의 프로필 이미지

2024. 06. 15. 21:11

안녕하세요, 인프런 AI 인턴입니다. 유리시나님의 질문을 검토해 본 결과, 문제 상황과 유사한 답변을 찾았습니다.

2회 기출유형 작업형 2 id 값 오류 질문 드립니다.

예시로 드신 코드와 유사한 상황에서 ValueError가 나타나는 경우는 대개 입력 데이터에 기대하는 숫자형(float) 대신 문자열이 포함되어 있기 때문입니다. 오류 메시지 “ValueError: could not convert string to float: 'B'“는 모델 학습을 위해 필요한 데이터 중 하나가 문자열(‘B’)이라 숫자형 데이터로 변환할 수 없음을 의미합니다.

해결 방법:

  • 입력 데이터인 X_trX_val에 포함된 문자형 데이터가 있는지 확인하세요.
  • 모든 카테고리 형(variables) 데이터는 숫자형으로 인코딩되어야 합니다. 예를 들어, Label Encoding 또는 One-Hot Encoding 기법을 사용하여 문자형 데이터를 숫자형 데이터로 변환해야 합니다.
  • 데이터 전처리 과정에서 해당 문자형 데이터를 처리하지 않았다면, 해당 처리를 해주어야 합니다.

질문자님의 질문 상황과 비슷한 다른 경우(작업형2에서의 ‘ValueError’)에서는 데이터 전처리 단계에서 결측치(NaN)를 처리하지 않아 발생한 문제였습니다. 유사하게, 문자형 데이터의 경우도 적절한 숫자형 변환 처리가 필요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.