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

lc9542님의 프로필 이미지
lc9542

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

5장 회귀 Kaggle 보스턴 집값 예측 실습

작성

·

612

1

안녕하십니까. 현재 완강 후 복습하고 있는 학생입니다!

5장 회귀 파트 Kaggle 보스턴 집값 예측 실습을 하던 중 궁금한 것이 생겨 질문드립니다.

 

Kaggle에서 데이터를 받으면 train.csv와 test.csv가 있는데 처음 모델링을 진행할 때 train 데이터를 활용하여 진행했더니 test 데이터로 predict를 할 수 없었습니다.

알아본 결과 train 데이터셋으로 더미변수를 생성한 경우 test 데이터셋을 더미변수로 인코딩 했을 때 matching이 되지 않아 predict가 안되는 것 같았습니다.

따라서 train 데이터셋과 test 데이터셋을 합쳐서 새로운 데이터프레임(all_data)을 생성하여 모든 전처리 과정을 다시 진행하고 더미변수 생성 후 train 데이터셋과 test 데이터셋으로 다시 분리를 해줬습니다.

이후 재분리된 train 데이터셋을 train_test_split 으로 분할한 후 모델링을 진행하고 마지막에 all_data 에서재분리했던 test 데이터셋을 활용하여 model.predict(test) 를 통해 submission.csv 를 만들 수 있었습니다.

 

이런 과정을 진행하며 궁금한 점은 현업에서 만약 지금까지 수집된 데이터로 모델링을 진행했는데 예측할 데이터에 새로운 범주 혹은 기존 범주 중 새롭게 수집된 데이터가 있는 경우 처음부터 모델링을 다시 진행하는 것인지 아니면 다른 방법이 있는지 궁금합니다.

 

강의 들으며 정말 실력이 많이 늘었습니다. 복습이 끝나면 SQL 강의도 수강을 계획하고 있습니다. 좋은 강의 만들어주셔서 정말 감사합니다!

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

네, 적어주신대로 학습 데이터의 피처 갯수와 예측을 위한 테스트 데이터의 피처 갯수는 서로 동일해야 합니다. 안 그러면 예측 모델에서 오류를 발생시킵니다.

따라서 업무적인 변경이 발생하여 추가적인 피처들을 기반으로 예측 모델을 만들고자 할때는 다시 해당 피처들을 추가하여 학습을 추가해 줘야 합니다.

실력이 향상되셨다는 이야기를 들으니 저도 기쁘군요. SQL 강의까지 고려해 주셔서 감사합니다.

 

lc9542님의 프로필 이미지
lc9542
질문자

답변 정말 감사합니다!

lc9542님의 프로필 이미지
lc9542

작성한 질문수

질문하기