inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

전처리와 데이터 분할

710

동규김

작성한 질문수 4

0

선생님, 안녕하세요.

스케일링 파트를 보다가 의문점이 생겨서 문의 드렸습니다.

가능하다면 전체 데이터의 스케일링 변환을 적용한 뒤 학습/테스트 데이터로 분리 하라고 하셨는데 스케일링 등과 같은 전처리 과정에서 train&test data를 분할하기전에 전체 데이터에 대해서 Preprocessing 인스턴스를 갖고 fit&transform을 할 경우에 test data를 치팅한 효과, data leakage를 발생할 수 있다고 생각해서 데이터 분할 후 전처리를 하는게 맞다고 생각하는데..

학습/테스트 데이터 분할 후 전처리를 해야하나요 아니면 전체 데이터로 전처리 후 분할을 해야하나요?

 

preprocessing 머신러닝 배워볼래요? datasplit 통계 python

답변 1

1

권 철민

안녕하십니까,

정석대로 하자면 train 데이터로 fit된 Scaler 객체를 이용해서 test 데이터를 transform해주는 게 맞습니다.

제가 가능하면 전체 데이터로 scaling을 권유하는 이유는 학습 데이터에 fit/transform()을 적용후에 무의식적으로(?) 테스트 데이터에 다시 fit/transform() 적용해 버리기 쉽기 때문입니다. 개념적으로 train 데이터에 fit된 Scaler를 이용해서 test 데이터를 transform()하는 것에 대해서 잘 이해하지 못한다던가 반사적으로 test데이터에 scaling을 적용하는 경우가 있어서 그렇습니다.

그리고 일반적으로 회사내 데이터를 기반으로 할 때 train과 test 데이터 전체에 scaling을 미리 적용했다고 data leakage로 까지 간주하지 않습니다. 물론 test데이터가 실시간으로 생성되는 거라면 당연히 test 데이터는 train 데이터로 fit된 Scaler 객체를 이용해서 test 데이터를 transform 해줘야 합니다.

감사합니다.

모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.

0

29

2

안녕하세요 열심히 수강중인 학생입니다

0

71

2

정수 인덱싱

0

75

2

넘파이 오류

0

91

2

11강 numpy의 axis 축 질문 드립니다.

0

90

2

Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.

0

82

2

Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.

0

71

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

78

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

65

2

5강 강의 오류가 있어요.

0

86

1

실무에서 LTV 관련 모델 선택 질문입니다!

0

74

2

14강 강의 듣는중에 궁금한게 있어서 질문합니다~

0

70

3

파이썬 다운그레이 후 사이킷런 재설치

0

122

2

좋은 강의 감사합니다.

0

76

2

scoring 함수 음수값

0

68

2

6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?

0

104

2

분류 평가 정확도 예측

0

82

2

안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.

0

100

1

카카오톡 채널 있나요

0

111

1

혹시 강의에서 사용하시는 ppt 받을 수 있는건가요

0

191

2

pca 스케일링 관련하여 질문드립니다.

0

103

2

주피터 대신 구글 코랩

0

176

2

강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?

0

149

2

실루엣 스코어..

0

88

2