강의

멘토링

커뮤니티

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

권재경님의 프로필 이미지
권재경

작성한 질문수

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

작업형 2유형 질문합니다.

해결된 질문

작성

·

25

0

안녕하세요 강사님!

 

작업형2유형 질문이 있어서 글 남깁니다.

 

  1. pd.get_dummies 함수를 사용하면 컬럼수가 10개인것이 200개, 300개로 증가하는 경우가 있습니다. 문제가 없는건지 궁금합니다!

     

 

  1. concat 함수 말고

test = test.reindex(columns = train.columns, fill_value =0) 으로 train컬럼수와 test 컬럼수를 일치시켜도되는걸까요?

 

  1. 그리고 전처리 후 학습 및 평가를 할때 강사님께서는 train 데이터를 두개로 분리해서 80%로만 학습시키고, 20%로 예측 후 평가하시는 걸로 알고 있습니다. 이후 test 데이터를 예측할 때는 train 데이터 80% 학습한 모델을 통해 예측하는 걸로 이해했습니다.

만약 train 데이터 분리와 평가과정을 건너뛴다면, train 데이터 전체로 학습하고 test 데이터를 예측하는건데, 이부분은 상관이 없는걸까요?

답변 2

0

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

  1. 그런 경우 라벨인코딩이 적합합니다 다만 연습데이터에서는 그런상황이 있는데 아직 기출에서는 없어 원핫으로 충분했어요

  2. 네 좋습니다

  3. 이건 말씀한대로 전체 데이터를 사용하면 좋습니다

    평가는 평가지표를 크로스 밸리데이션으로 진행하고요! 그런데 80%로 40점에 문제가 없었고 입문자에게는 추가 코드가 늘어나 실수 할 수 있어 제외하였습니다

     

0

안녕하세요, 인프런 AI 인턴입니다.

권재경님, 작업형2유형에 대한 질문을 주셔서 감사합니다!

  1. pd.get_dummies로 인해 컬럼이 크게 증가하는 경우: pd.get_dummies 함수는 각 범주형 변수를 고유한 값으로 변환하여 각 값에 대해 새로운 열을 생성하므로 변환 후의 열 수가 증가할 수 있습니다. 이는 원-핫 인코딩의 특성으로, 특정 범주형 데이터가 많은 경우 발생할 수 있습니다. 이 경우, 추가된 열이 모델 성능에 영향을 미치지 않는다면 문제가 되지 않습니다. 단, 너무 많은 열이 생성되면 메모리 사용량이 증가할 수 있으므로 주의가 필요합니다.

  2. train과 test 컬럼 수를 일치시키기 위한 방법: test = test.reindex(columns=train.columns, fill_value=0) 방법을 사용하여 train과 test의 컬럼 수를 일치시키는 것은 좋은 접근입니다. 이는 데이터프레임의 열을 재배치하고 없는 열에는 기본값을 주어 서로 같은 형식을 만들어 일반적인 머신러닝 작업 흐름에 맞게 합니다.

  3. Train/Test Split에 대한 고민: 일반적으로 모델 성능을 검증하기 위해 train 데이터를 학습(validation)과 테스트(validation)로 나누는 것이 좋습니다. 이는 모델의 일반화 능력을 평가하는데 도움을 줍니다. 그러나 프로젝트의 요구, 데이터의 크기, 그리고 목표에 따라 train 데이터를 전체적으로 학습에 활용하는 경우도 있습니다. 다만, 모델의 과적합(overfitting)을 피하고 일반화를 평가하기 위해 검증 세트를 이용하는 것이 바람직합니다.

이해를 돕기 위해 비슷한 질문이 많이 올라온 게시물을 추천드립니다:

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

권재경님의 프로필 이미지
권재경

작성한 질문수

질문하기