#!/usr/bin/env python # coding: utf-8 # # 3. 비지도 학습과 데이터 전처리 # # ### 3.1 Types of unsupervised learning # - 비지도 변환 (Unsupervised Transform) # - 차원 축소 (Dimensionality Reduction) # - 군집 (Clustering) # # ### 3.2 Chanllenges in unsupervised learning # - 비지도 학습은 데이터 과학자가 데이터를 더 잘 이해하고 싶을 때 탐색적 분석 (EDA) 단게에 많이 활용 # - 비지도 학습의 전처리 단계에서도 많이 활용 # # ### 3.3 Preprocessing and Scaling # - 신경망 및 SVM 같은 알고리즘은 데이터의 스케일에 민감 # - 특성마다 스케일 조정이 필요 # In[1]: get_ipython().run_line_magic('matplotlib', 'inline') import sys sys.path.append('..') from preamble import * from sklearn.model_selection import train_test_split # In[2]: mglearn.plots.plot_scaling() # ### 3.3.1 여러 가지 전처리 방법 # - StandardScaler # - 각 특성의 평균을 0, 분산을 1 로 변경하여 모든 특성을 같은 크기를 갖음 # - 최솟값과 최댓값의 크기를 제한 하지 않는다. # # - RobustScaler # - 평균과 분산 대신 중간값, 사분위 값을 사용 # - 때문에 이상치 데이터에 대해 영향을 덜 받음 # # - MinMaxScaler # - 모든 특성이 0과 1 사이에 위치하도록 조정 # # - Normalizer # - 특성 백터의 유클리디안 길이가 1 이 되도록 데이터 포인트를 조정 # - 각도 혹은 방향의 특성만을 이용 # - 지름이 1인 원에 데이터 포인트를 투영 # - 각 데이터 포인트가 다른 비율로 스케일 조정 # In[ ]: