inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

사이킷런 PCA 클래스의 이해

차원축소 fit & transform 관련 질문드립니다!!

328

김남욱

작성한 질문수 63

0

안녕하세요 선생님. 개인적인 프로젝트를 진행하며 차원축소나 스케일링시 fit/transform과 관련하여 궁금한 점이 생겨 오랜만에 질문드립니다.

  1. 선생님께서 쓰신 책의 스케일링 파트에서(131p) 가능하면 스케일링 후 split을 하고 만약 그게 여의치 않다면 학습 데이터로 fit 후 테스트 데이터를 transform 하라고 하셨는데, 여기서 말하신 여의치 않은 상황이 어떤 경우가 있을지 감이 잘 안잡혀 알고 싶습니다.

  2. 프로젝트를 하며 전체 데이터에 대하여 차원축소 후 train_test_split 진행할 때와 split 진행 후 차원축소를 train 데이터에 fit하여 진행하였을 때 모델의 정확도 차이가 유의미하게 발생하는데(split 후 차원축소 시 오버 피팅처럼 성능이 나타남), 그 이유는 무엇인지, 둘 중에 높은 성능을 보이는 방향으로 모델을 제작해도 문제가 없는 것인지 궁금합니다.

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

답변 1

1

권 철민

안녕하십니까,

반갑습니다. 그러고보니 간만에 질문 주신것 같군요. ^^

 

  1. 선생님께서 쓰신 책의 스케일링 파트에서(131p) 가능하면 스케일링 후 split을 하고 만약 그게 여의치 않다면 학습 데이터로 fit 후 테스트 데이터를 transform 하라고 하셨는데, 여기서 말하신 여의치 않은 상황이 어떤 경우가 있을지 감이 잘 안잡혀 알고 싶습니다.

    => 테스트 데이터가 실시간으로 들어올 때는 해당 데이터를 미리 스케일링 할 수가 없습니다. 그러니까 배치 데이터로 전체 데이터가 되어 있고, 이를 기반으로 테스트 데이터를 미리 쪼개는 경우가 아니라 실시간으로 데이터가 들어오는 경우라면 미리 스케일링할 수가 없기 때문에 학습 데이터로 fit() 한 scaler객체를 이용해서 테스트 데이터를 transform() 해야 합니다.

     

  2. 프로젝트를 하며 전체 데이터에 대하여 차원축소 후 train_test_split 진행할 때와 split 진행 후 차원축소를 train 데이터에 fit하여 진행하였을 때 모델의 정확도 차이가 유의미하게 발생하는데(split 후 차원축소 시 오버 피팅처럼 성능이 나타남), 그 이유는 무엇인지, 둘 중에 높은 성능을 보이는 방향으로 모델을 제작해도 문제가 없는 것인지 궁금합니다.

     

    => 두개가 유의미한 차이가 나서는 안됩니다. 뭔가 잘못 변환된 것 같습니다. 학습 데이터로 fit()한 PCA 객체를 이용해서 테스트 데이터를 transform()했는지 다시 한번 확인해 주십시요. 그게 아니라면 전체 데이터가 너무 작아서 서로 다르게 분할을 적용하지는 않았는지(가령 random_state를 다르게 줬다거나)를 확인해 보시기 바랍니다.

 

감사합니다.

0

김남욱

다른 데이터를 적용했을 때 차원축소와 split 순서가 바뀌어도 큰 차이가 없다면, 그건 이전의 데이터가 잘못되었다고 봐도 괜찮을까요??

1

권 철민

그건 확정할 수 없습니다. 코드가 잘못 되었거나, 말씀하신대로 데이터가 잘못되었을 수도 있습니다.

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

0

56

2

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

0

92

2

정수 인덱싱

0

86

2

넘파이 오류

0

113

2

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

0

107

2

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

0

96

2

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

0

79

2

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

0

83

2

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

0

75

2

5강 강의 오류가 있어요.

0

90

1

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

0

81

2

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

0

79

3

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

0

131

2

좋은 강의 감사합니다.

0

80

2

scoring 함수 음수값

0

74

2

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

0

108

2

분류 평가 정확도 예측

0

90

2

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

0

114

1

카카오톡 채널 있나요

0

119

1

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

0

193

2

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

0

109

2

주피터 대신 구글 코랩

0

184

2

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

0

156

2

실루엣 스코어..

0

93

2