해결된 질문
작성
·
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 예측 모델 결과 제출 오류 관련 질문 - 데이터 전처리 및 제출 과정에서의 여러 오류를 다루고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.