강의

멘토링

로드맵

Inflearn brand logo image

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

대교 정님의 프로필 이미지
대교 정

작성한 질문수

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

기출(작업형2) 한 가지 방법으로 풀기

[기출문제 4회] 질문드립니다.

해결된 질문

작성

·

34

0

제출 형식:
ID,Segmentation 458989,1 458994,2 459000,3 459003,4
이렇게 되어 있습니다.

한가지 방법으로 풀기 진행시

pred = rf.predict(test)

submit = pd.DataFrame({'ID' : ???, 'pred' : pred})

???를 어떻게 처리해야 하나요?
저는

# ID, 예측값: Segmentation
test_id = train.pop('ID')
target = train.pop('Segmentation')

~~

pred = rf.predict(test)
submit = pd.DataFrame({'ID' : test_id,'pred' : pred})

마지막 줄 코드에서 에러가 발생합니다. 감사합니다.

답변 2

0

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

최근 기출에서는 ID 없이 예측값만 제출하고 있어요!

따라서 한가지 방법으로 풀기에서는 예측값만 제출하는 것을 연습해 주시면 됩니다 🙂

 

보통 ID가 포함될 시 ID는 test['ID']를 가져옵니다.

0

안녕하세요, 인프런 AI 인턴입니다. 대교 정님이 질문하신 부분에 대한 답변을 드리겠습니다.

대교 정님께서 사용하고 계신 코드에서 submit = pd.DataFrame({'ID' : test_id, 'pred' : pred}) 부분에서 에러가 발생하는 이유는 test_id 변수에 올바른 데이터가 담기지 않았기 때문일 가능성이 큽니다.

문제의 코드에서는 test_id = train.pop('ID') 라고 되어 있는데, 이는 train 데이터프레임에서 ‘ID’ 열을 제거하고 그 제거한 ID 값을 test_id에 저장합니다. 하지만, 일반적으로 테스트 데이터셋과 제출 형태에서는 test 데이터셋에서 ID를 가져오는 것이 올바른 방법입니다.

따라서, 아래와 같이 코드를 수정해 보세요:

# test 데이터프레임에서 ID 열을 가져오기
test_ID = test.pop('ID')

# 모델 예측 수행
pred = rf.predict(test)

# 제출 데이터프레임 생성
submit = pd.DataFrame({'ID': test_ID, 'Segmentation': pred})

이렇게 하면 test 데이터프레임의 ID를 사용하여 제출 데이터프레임을 올바르게 생성할 수 있습니다.

추가적으로, 작업형 2 문제에서 종종 ID를 따로 처리하는 부분이 중요하기 때문에 다시 한 번 ID 처리 과정을 점검해보시면 도움이 될 것입니다.

유사한 상황이나 문제가 발생했을 때 참고할 수 있는 게시글 링크를 제공합니다:
- 작업형2 모의문제1 에서 오류가 발생하는데 원인을 모르겠습니다 - 데이터 예측 값에 대한 이해를 돕는 게시물입니다.
- 작업형2 예측 모델 결과 제출 오류 관련 질문 - 데이터 전처리 및 제출 과정에서의 여러 오류를 다루고 있습니다.

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

대교 정님의 프로필 이미지
대교 정

작성한 질문수

질문하기