데이터 사전 처리를 수행하는 경우 스케일링 또는 정규화를 수행하는 것이 좋습니다. 손에 데이터가있을 때 쉽게 할 수 있습니다. 당신은 모든 데이터를 가지고 있으며 즉시 그것을 할 수 있습니다. 그러나 모델을 만들고 실행 한 후에 들어오는 첫 번째 데이터는 크기를 조정하거나 정규화해야합니까? 필요하다면 하나의 행을 스케일링하거나 정규화하는 방법은 무엇일까요? 각 기능에서 최소/최대/평균/표준이 무엇인지 어떻게 알 수 있습니까? 그리고 들어오는 데이터는 각 기능의 최소/최대/평균입니까?데이터 과학 스케일링/정규화 실제 사례
답변
예, 당신이 다른 모델 넌센스을 예측하는 것, 입력 데이터에 정상화를 적용 할 필요가 알려 주시기 바랍니다.
또한 교육 도중 또는 교육 데이터에서 사용 된 정규화 계수를 저장해야합니다. 그런 다음 들어오는 데이터에 동일한 계수를 적용해야합니다.
당신이 최소 - 최대 정상화를 사용하는 경우 예를 들어:
f_n = (F - 분 (F))/(최대 (F) - min_ (F))
는 그런 다음 저장해야 min (f) 및 max (f)를 사용하여 새 데이터에 대한 정규화를 수행합니다.
먼저 스케일링 및 정규화를 사용해야 할 때를 알아야합니다. 확장
- 스케일링은 사람의 소득과 같은 기능을 가지고 있고 당신이 어떤 순서 10^3의 값을 가질 것으로 나타났습니다 일부는 10^6이있는 경우라고 비교 magnitudes.Let로 기능을 전환 할 뿐이다 . 이제 당신이 KNN과 같은 알고리즘을 사용하여 문제를 모델링한다면, Ridge Regression은 그러한 속성의 더 큰 크기에 더 높은 가중치를 줄 것입니다.이를 방지하려면 먼저 기능을 확장해야합니다 .Min-Max 스케일러는 가장 많이 사용되는 스케일링 중 하나입니다 .
평균 정규화 - 당신이 그 기능은 다음 목적 함수는 이미 제로 평균과 같은 순서로 분산을 가정 SVM 같은 알고리즘에 대해 0을 중심으로하지 않습니다 발견 기능의 분포를 조사 후, 우리가 할 수 있다면 모델링의 문제입니다. 여기에서는 평균 정규화를 수행해야합니다.
표준화 - SVM, 신경망과 같은 알고리즘의 경우, 로지스틱 회귀는 우리가 표준화 되었죠 수 있도록하지 않는 이유 같은 order.So의 기능의 분산이 필요하다, 우리는 제로 평균과 단위 분산으로 특징의 분포를 만든다.
이제 교육 및 테스트 설정에 관한 질문에 대답 해 보도록하겠습니다. 50k 데이터 세트에서 모델을 학습하고 10k 데이터 세트에서 테스트한다고 가정 해 보겠습니다. 위의 세 가지 변형에 대해 표준 접근 방식에서는 정규화 도구 또는 스케일러를 교육 데이터 집합에만 적용하고 테스트 데이터 집합에 변형을 사용해야한다고 말합니다. 우리의 경우, 우리가 표준화를 사용하기를 원한다면 먼저 우리의 표준화기를 50k 훈련 데이터 세트에 맞추고 50k 훈련 데이터 세트를 변형하고 또한 데이터 세트를 테스트하는 데 사용합니다.
참고 - 테스트 데이터 집합을 변형하기 위해 이미 표준화 된 표준화 도구 대신 표준화 도구를 테스트 데이터 집합에 맞추면 안됩니다.