안녕하세요
265
작성한 질문수 1
안녕하세요 선생님.
강의를 듣다가 궁금한 점이 생겨서 질문을 남기게 되었습니다.
사이킷런에서 제공하는 스케일링 방법에는 standard, robust, minmax, maxabs가 있는 걸로 알고있습니다.
제가 지금 하고싶은게 데이터 칼럼별로 분포를 뽑아서 분포에 맞는 스케일링을 적용하고 싶은데
어떤 분포는 이 스케일링 방법을 사용하는 것이 효과적이다 이런 정보를 얻을 수 있을까 하여 질문을 드립니다.
칼럼별로 각각 스케일링 방법을 적용하여 가장 효과가 좋은 스케일링 방법을 찾는거 밖에는 방법이 없을까요?
답변해주시면 감사하겠습니다!
답변 1
1
안녕하십니까,
좋은 시도군요. 일반적으로 스케일링은 개별 feature내에서 데이터들이 skew되었거나, 서로 다른 feature들간 크기 단위들이 극명하게 차이가 날경우에 적용을 합니다. 하지만 머신러닝 알고리즘이 개선 되면서 스케일링의 효과가 생각보다 크지 않는 경우가 많습니다.
사실 트리 계열(회귀 트리 포함)에서는 스케일링의 효과는 거의 미미합니다. 보통은 선형계열(선형회귀, 로지스틱 회귀, SVM, k-nearest)이나 딥러닝등을 적용할 때 스케일링을 고려합니다. 하지만 선형계열 조차 스케일링을 적용했을 때 성능이 조금 향상될때가 있고, 그렇지 못할 때가 있습니다. 때문에 스케일링을 직접 적용해 보는것 외에는 어떤 데이터 분포가 효과적이다라고 말씀드리기가 어렵습니다.
경험적으로는 적은 데이터 셋에서는 일반적으로 선형계열이 트리 계열보다 약간 성능이 좋을 수 있습니다. 특히 회귀의 경우에 피처가 많지 않고 데이터 셋이 적으면 선형 계열 적용이 더 나을 수 있는데 이때 선형 계열 성능이 잘 나오지 않을 때(예를 들어 트리 계열보다 성능이 안나온다면) 스케일링등의 preprocessing 작업을 고려해 볼수 있습니다. 하지만 각 feature들이 어떤 분포를 가질때 어떤 스케일링을 적용하면 좋다라는 공식은 찾지 못했습니다. 또한 스케일링을 적용했을 때 반드시 성능이 좋아진다는 보장도 없습니다.
또 하나, 딥러닝을 하신다면 특히 데이터 스케일링이 필요합니다(예를 들어 0 ~ 1사이 값으로). 이는 딥러닝이 비교적 큰 값을 가지면 상대적으로 최적화 하기 어려운 특성을 가지고 있기 때문입니다.
결론적으로는 어떤 분포에 어떤 스케일링을 적용하면 좋다는 마법 공식은 없다고 생각합니다. 다만 알고리즘의 특성상 스케일링 적용이 필요할 수도 그렇지 않을 수도 있습니다. 일반적으로는 적용 전후 결과로 판단을 합니다.
좋은 질문 감사합니다.
안녕하세요 열심히 수강중인 학생입니다
0
61
2
정수 인덱싱
0
68
2
넘파이 오류
0
85
2
11강 numpy의 axis 축 질문 드립니다.
0
85
2
Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.
0
79
2
Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.
0
70
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
75
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
64
2
5강 강의 오류가 있어요.
0
84
1
실무에서 LTV 관련 모델 선택 질문입니다!
0
72
2
14강 강의 듣는중에 궁금한게 있어서 질문합니다~
0
69
3
파이썬 다운그레이 후 사이킷런 재설치
0
117
2
좋은 강의 감사합니다.
0
72
2
scoring 함수 음수값
0
67
2
6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?
0
100
2
분류 평가 정확도 예측
0
76
2
안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.
0
98
1
카카오톡 채널 있나요
0
107
1
혹시 강의에서 사용하시는 ppt 받을 수 있는건가요
0
189
2
pca 스케일링 관련하여 질문드립니다.
0
100
2
주피터 대신 구글 코랩
0
172
2
강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?
0
147
2
실루엣 스코어..
0
85
2
float64 null 값 처리 방법
0
102
2





