728x90
1. 손글씨 데이터셋('load_digits')
- 손글씨 숫자 이미지를 포함하고 있다.
- 0부터 9까지의 숫자 이미지를 포함하며, 각 이미지는 8*8 픽셀 크기이다.
- 주로 분류 알고리즘을 테스트하고 비교하는 데 사용된다.
📌'load_digits'에서 10개의 샘플 이미지를 시각화
- 이미지 그리기
- 'enumerate(axes.flatten())' 을 사용하여 서브플롯의 인덱스와 축 객체를 가져온다.
- 'data[i].reshape((8, 8))'을 통해 데이터 배열을 (8, 8) 모양으로 변환하여 이미지로 만든다.
- 'ax.imshow'를 사용하여 서브플롯에 이미지를 그린다.
2. 스케일링(Scaling)
- 데이터를 특정한 스케일로 통일하는 것
- 다차원의 값들을 비교 분석하기 쉽게 만들어주며, 자료의 오버플로우나 언더플로우를 방지하여 최적화 과정에서의 안정성 및 수렴 속도를 향상
- 데이터를 모델링하기 전에 스케일링을 하는 것이 좋음
2-1. 스케일링의 종류
- StandardScaler: 평균과 표준편차를 사용
- MinMaxScaler: 최소, 최대값이 각각 0과 1이 되도록 스케일링
- RobustScaler: 중앙값과 IQR사용(아웃라이어의 영향을 최소화)
📌네이버와 넷플릭스의 평점 비교
MinMaxScaler를 사용하여 평점을 0~1로 변환하였다.
2-2. 정규화(Normalization)
- 값의 범위(Scale)을 0~1 사이의 값으로 바꿔주는 것
- 정규화가 스케일링 중 하나
- 학습 전에 Scaling을 하는 것
- 머신러닝, 딥러닝에서 Scale이 큰 Feature의 영향이 비대해지는 것을 방지
- scikit-learn에서 MinMaxScaler 사용
2-3. 표준화(Standardization)
- 값의 범위(Scale)를 평균 0, 분산 1이 되도록 바꿔주는 것
- 학습 전에 Scaling 하는 것
- 머신러닝, 딥러닝에서 Scale이 큰 Feature의 영향이 비대해지는 것을 방지
- scikit-learn에서 StandardScaler 사용
3. Support Vector Machine(SVM)
분류, 회귀 및 이상 탐지에 사용되는 강력한 감독 학습 기법이다. SVM의 주요 목표는 데이터 포인트를 클래스 사이의 최대 여백을 가진 결정 경계(또는 초평면)로 분리하는 것이다.
3-1. 초평면(Hyperplane):
- 데이터 포인트를 다른 클래스와 구별하는 선형 경계를 나타낸다.
- 2차원에서는 직선, 3차원에서는 평면, 고차원에서는 초평면으로 불린다.
3-2. 서포트 벡터(Support Vectors):
- 결정 경계를 정의하는 데이터 포인트이다.
- 서포트 벡터는 초평면에 가장 가까운 데이터 포인트로, 이 포인트들은 초평면의 위치를 결정하는 데 중요한 역할을 한다.
3-3. 마진(Margin):
- 초평면과 가장 가까운 서포트 벡터 사이의 거리이다.
- SVM은 이 마진을 최대화하는 초평면을 찾는다.
3-4. 커널 트릭(Kernel Trick):
- 선형적으로 구분할 수 없는 데이터를 고차원 공간으로 매핑하여 선형적으로 구분 가능하게 만든다.
- 주로 사용되는 커널 함수: 폴리노미얼 커널(Polynomial kernel), RBF(Radial Basis Function) 커널, 시그모이드 커널 등.
728x90
'데이터 분석' 카테고리의 다른 글
17. KMeans (1) | 2024.07.19 |
---|---|
16. 랜덤 포레스트 (0) | 2024.07.10 |
14. 로지스틱 회귀 (0) | 2024.07.09 |
13. 의사 결정 나무 (1) | 2024.07.09 |
12. 선형 회귀 (0) | 2024.07.09 |