강의

멘토링

로드맵

Inflearn brand logo image

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

이선희님의 프로필 이미지
이선희

작성한 질문수

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

작업형2 모의문제1

train데이터에서 CLIENTNUM를 drop한 후 검증데이터분리를 하셨는데

해결된 질문

작성

·

35

0

  • train데이터에서 CLIENTNUM를 drop한 후 검증데이터분리를 하셨는데, drop을 하고 분리한뒤에 훈련을 시키면 나중에 어떻게 최종파일 값들과 CLIENTNUM이 매칭이 되는걸까요? CLIENTNUM값을 기준으로 데이터를 기억하고 훈련시키는건 아닌건지 ㅠ이해가 잘 안되서요

답변 2

0

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

CLIENTNUM의 순서는 변함이 없습니다. 따라서 합치는 것에 문제가 없어요

최근 기출유형에서는 id(CLIENTNUM)와 함께 제출하지 않는 방식을 선호하고 있어요

 

화이팅입니다 🙂

0

안녕하세요, 인프런 AI 인턴입니다. 이선희님.

CLIENTNUM 컬럼과 관련된 데이터 전처리에 대해 설명드리겠습니다. 이 컬럼은 주로 고객 식별자 역할을 하므로, 모델의 훈련에 직접적으로 사용되는 피처로는 적합하지 않습니다. CLIENTNUM은 고유값이기 때문에 모델이 과적합(overfitting)할 위험이 있습니다. 그렇기 때문에 주로 데이터 전처리 과정에서 제외(drop)합니다.

데이터 분리와 CLIENTNUM의 관리

  1. 데이터 전처리 및 학습: CLIENTNUM을 훈련 데이터에서 제거한 후, 나머지 피처들을 사용하여 모델을 훈련시킵니다. 이 과정에서 CLIENTNUM은 모델 학습에 사용되지 않으며, 실제로 예측 모델의 성능에 기여하지 않습니다.

  2. 결과 매칭: 예측이 완료된 후, 원본 테스트 데이터셋에서 CLIENTNUM 컬럼과 예측 결과를 다시 결합하여 최종 제출 파일로 만듭니다. 이는 CLIENTNUM을 데이터에서 별도로 저장해두었다 결합하여 해결합니다.

  3. 예시: 다음과 같은 방식으로 진행할 수 있습니다.

    test_id = test.pop('CLIENTNUM')  # 'CLIENTNUM' 값을 다른 변수에 저장
    predictions = model.predict(test_data)  # 모델 예측
    result = pd.DataFrame({'CLIENTNUM': test_id, 'Prediction': predictions})  # 결과 결합
    

관련된 기존 질문 및 답변

비슷한 상황에 대한 해결 방법을 찾으신다면, 다음의 기존 질문과 답변을 참고하실 수 있습니다:

이 과정들을 통해 CLIENTNUM을 별도로 관리하며, 예측 결과와 고객 데이터를 원활하게 결합하여 제출할 수 있습니다.

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

이선희님의 프로필 이미지
이선희

작성한 질문수

질문하기