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

배움의 길님의 프로필 이미지
배움의 길

작성한 질문수

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

작업형2 모의문제2 결과 질문입니다. (에어비앤비)

작성

·

24

·

수정됨

0

image.png

 

데이터 전처리에서 test_id의 데이터가 9779개이고,

검증 데이터 분리에서 X_val의 데이터가 5868개입니다.

 

행의 개수가 맞지 않아서 오류가 발생하는데, 어떻게 해결해야 할까요?

 

'id' 컬럼을 pop 하고, 검증 데이터를 분리하면 아래와 같이 행 수가 줄어듭니다.

 

그리고 랜덤 포레스트로 pred를 예측하는데요.

 

X_val 값이 들어가는 게 아닌가요?

 

image.png

 

image.png

 

답변 2

0

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

네, 이렇게 하면 0점 처리 됩니다.

csv 생성전에 반드시 pred의 데이터 행의 수와, test의 행의수가 같은지 확인해 주세요

지금은 X_val을 예측했고, 우리가 최종적으로 제출할 데이터는 test입니다.

다시 한번

pred = model.predict(test)로 test를 예측해서 처리해 주세요!

배움의 길님의 프로필 이미지
배움의 길
질문자

네, 이해했습니다. 감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. 배움의 길님께서 제기하신 문제는 Pandas DataFrame 생성 시 배열 길이가 맞지 않아 발생하는 오류입니다. 이 오류는 ‘id’와 ‘price’의 데이터 길이가 맞지 않기 때문에 발생합니다. 해결 방법은 테스트 데이터(test 데이터)로 예측 결과(pred)를 가져와야 하며, 검증 데이터(X_val)에 대한 예측 결과를 사용하면 안 됩니다.

여기 동일한 문제에 대한 다른 질문 및 해결 방법 관련 정보를 제공해드리겠습니다:

  1. 오류: ValueError 발생 해결하기

    • 주 내용: test_id와 예측 값 pred의 길이가 다를 때 발생하는 문제에 대한 설명과 해결 방법입니다.
  2. 기사 (2회): 기출유형-작업형2 풀이 오류 해석

    • 주 내용: ‘ValueError: array length 1760 does not match index length 2200’ 오류에 대한 오류 원인 분석과 해결 방법입니다.

이 문제를 해결하려면 다음과 같은 점을 주의하셔야 합니다:
- 예측 결과는 항상 테스트 데이터에 대해 생성되어야 하며, 검증 데이터는 모델의 성능을 평가하기 위한 목적이어야 합니다.
- submit DataFrame을 생성할 때, test_idpred의 길이가 동일한지 항상 확인하세요.

문제가 계속되는 경우, 데이터 분할이나 전처리에 잘못된 부분이 있는지 다시 검토해 보세요. 데이터셋의 크기를 확인하고 올바른 데이터가 사용되고 있는지 확인하는 것이 중요합니다.

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

배움의 길님의 프로필 이미지
배움의 길

작성한 질문수

질문하기