차원 축소: 특징 추출

Python으로 연습하는 Machine Learning 면접 질문

Lisa Stuart

Data Scientist

비지도 학습 기법

  • 주성분 분석(PCA) --> 레슨 3.1
  • 특이값 분해(SVD) --> 레슨 3.1
  • 군집화/그룹화 --> 레슨 3.3
  • 탐색적 데이터 마이닝
Python으로 연습하는 Machine Learning 면접 질문

차원 축소 != 특징 선택

PCA 플롯

특징 선택

1 https://slideplayer.com/slide/9699240/ 2 https://www.analyticsvidhya.com/blog/2016/03/practical-guide-principal-component-analysis-python/
Python으로 연습하는 Machine Learning 면접 질문

차원의 저주

차원과 성능 관계 플롯

1 https://www.visiondummy.com/2014/04/curse-dimensionality-affect-classification/
Python으로 연습하는 Machine Learning 면접 질문

1차원 탐색

1차원 탐색 공간

Python으로 연습하는 Machine Learning 면접 질문

2차원 탐색

2차원 탐색 공간

Python으로 연습하는 Machine Learning 면접 질문

3차원 탐색

3차원 탐색 공간

Python으로 연습하는 Machine Learning 면접 질문

차원 축소 기법

  • PCA
  • SVD
Python으로 연습하는 Machine Learning 면접 질문

PCA

Iris PCA 플롯

  • PCA
    • X와 y의 관계
    • 주성분 축을 찾아 계산
    • 이동, 회전, 스케일 조정
    • 데이터의 저차원 투영
1 https://scikit-learn.org/stable/modules/decomposition.html
Python으로 연습하는 Machine Learning 면접 질문

SVD

Iris SVD 플롯

  • SVD
    • 선형대수와 벡터 미적분
    • 데이터 행렬을 세 행렬로 분해
    • '특이값' 도출
    • 데이터 분산 ≈ 특이값 제곱합(SS)
1 https://galaxydatatech.com/2018/07/15/singular-value-decomposition/
Python으로 연습하는 Machine Learning 면접 질문

차원 축소 함수

함수/메서드 반환
sklearn.decomposition.PCA 주성분 분석
sklearn.decomposition.TruncatedSVD 특이값 분해
PCA/SVD.fit_transform(X) 데이터 적합 및 변환
PCA/SVD.explained_variance_ratio_ PC가 설명하는 분산
Python으로 연습하는 Machine Learning 면접 질문

연습해 봅시다!

Python으로 연습하는 Machine Learning 면접 질문

Preparing Video For Download...