데이크루 4기

데이크루 | 서포터즈 | 4기

  • moneyIcon 상금 : 총 100만원
  • 204명 마감
마감

 

[🏢한남더힐🏢] 아파트 실거래가 예측 Stage 3 : 이런걸 데이터 전처리 라고 하는거야 🤨

공동작성자

stroke
2023.02.23 11:32 2,129 조회 language

안녕하세요, 데이크루 4기 '한남더힐' 팀입니다 🏢

저희는 '아파트 실거래가 예측' 프로젝트의 데이콘 프로젝트 기반 학습(Project Based Learning, PBL)을 만들고 있습니다.

세번째 포스팅의 주제는 '데이터 전처리'입니다.


🚀목차🚀

아래 링크를 클릭하시면 '아파트 실거래가 예측' 프로젝트의 전 스테이지를 보실 수 있습니다.

👉Stage 1 한남더힐 내집마련 프로젝트 🏢 : https://dacon.io/competitions/official/236047/codeshare/7486
👉Stage 2 넌 모르잖아, 알록달록한 데이터 시각화의 세상 🌈 : https://dacon.io/competitions/official/236047/codeshare/7614
👉Stage 3 이런걸 데이터 전처리 라고 하는거야 🤨 : https://dacon.io/competitions/official/236047/codeshare/7662
👉Stage 4 고작 이 성능만 보고 그런 표정이 되는거에요?😶 : https://dacon.io/competitions/official/236047/codeshare/7663
👉Stage 5 브라보 ! 멋지다, 부스팅모델 👏👏 : https://dacon.io/competitions/official/236047/codeshare/7680
👉Stage 6 우리 꼭 또 보자, 대회 상위권에서 🏆️ :  https://dacon.io/competitions/official/236047/codeshare/7713

본 포스팅은 데이콘 서포터즈 '데이크루' 4기 활동의 일환입니다.

코드
로그인이 필요합니다
0 / 1000
동그란맘속에피어난howisthepy
2023.03.02 13:53

안녕하세요! 저는 이제 막 데이터 분석 공부하고 있는 학생인데욥. 우선 너무 쉽고 재미있게 잘 배웠습니다.
다름이 아니라 4. 의 전처리 결과를 test 데이터에 적용할 때 꼭
train 데이터의 전처리 과정을 적용해주어야 하는지가 궁금합니다.
만약 전체 데이터를 train 데이터로 놓고 전처리 과정 후에 전체의 일부를 분할해서 test 데이터로 만들면 안되는지 궁금합니다.

JHPark
2023.03.02 14:37

안녕하세요! 먼저, 팀 한남더힐의 PBL를 읽어주셔서 감사합니다.
본래 '기계학습에서 train data로 학습을 한다.'는 행위는 train data와 '비슷한 상황'에서 적절한 예측이나 판단을 하기 위해서 입니다.
경진대회 평가를 위해서 '비슷한 상황'을 만들어낸 것이 test data를 이용한 평가 단계입니다.
따라서 본래에  test data는 데이터의 값이나, 분포, 변수 정보 등을 알 수 없는 것이 당연합니다.
이런 제약 때문에, 경진대회에서는 미래에 예측해야 할 데이터의 정보를 이용해 학습하는 'data leakage'를 규칙 위반으로 설정해 심사하고 있습니다.

질문자님께서  든 예시는 수치형 데이터의 분포를 사용해 데이터를 scale하거나 train data에 없는 범주형 데이터가 test data에 존재할 경우,
 test 데이터의 분포나 정보를 사용한 것이 되기 때문에 data leakage에 해당할 것 같습니다.

충분한 답변이 되셨길 바라며, 부족한 답변이나 잘못된 의견에 대해서 많은 분들의 수정과 추가 답변 감사히 받겠습니다.

동그란맘속에피어난howisthepy
2023.03.03 13:45

답변 너무 감사합니다. 또 하나 배웠네요 감사합니다!

산공짱
2024.01.11 17:46

train 데이터 전처리 결과를 test 데이터에 적용하는데 아파트 브랜드 범주를 수정할 때 사용한 'others'라는 문자열이 정수로 수정되지 않아 test.loc[:,'apt'] = test.loc[:,'apt'].astype('int')에서 오류가 발생합니다. 이 부분은 어떻게 해결하면 좋을까요?