반응형
1. 비지도학습(Unsupervised Learning)이란?
비지도학습은 정답(Label)이 없는 데이터에서 패턴, 구조, 관계를 찾아내는 학습 방식입니다.
지도학습처럼 ‘정답지’가 없기 때문에, 모델은 스스로 데이터의 숨은 규칙을 발견합니다.
1.1 주요 활용 사례
- 고객 세분화: 구매 이력 기반 고객 그룹 나누기
- 이상치 탐지: 금융 사기, 시스템 장애 조기 감지
- 데이터 시각화: 고차원 데이터를 2D/3D로 축소해 이해도 향상
2. 군집(Clustering)
군집은 유사한 데이터끼리 묶는 작업입니다.
대표적인 알고리즘은 다음과 같습니다.
알고리즘 | 특징 |
---|---|
K-Means | 간단하고 빠르지만, 군집 개수를 사전에 지정해야 함 |
계층적 군집(Hierarchical) | 데이터 계층 구조를 시각화 가능 |
DBSCAN | 군집 개수를 지정하지 않아도 되며 이상치 처리에 강점 |
2.1 K-Means 개념
- 데이터 포인트를 K개의 그룹으로 분할
- 각 그룹 중심(centroid)을 반복적으로 갱신하여 군집 형성
3. 차원 축소(Dimensionality Reduction)
차원 축소는 데이터의 **특징 수(Feature)**를 줄이는 과정입니다.
고차원 데이터를 시각화하거나, 불필요한 특성을 제거해 모델 성능을 향상시킬 수 있습니다.
3.1 PCA(주성분 분석)
- 데이터의 분산을 가장 잘 설명하는 축(Principal Component)을 찾아 변환
- 특징 수를 줄이면서 정보 손실 최소화
4. 실습 – K-Means로 Iris 데이터 군집화
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans
import pandas as pd
import matplotlib.pyplot as plt
# 데이터 로드
iris = load_iris()
X = iris.data
# K-Means 학습
kmeans = KMeans(n_clusters=3, random_state=42)
clusters = kmeans.fit_predict(X)
# 결과 DataFrame 생성
df = pd.DataFrame(X, columns=iris.feature_names)
df['cluster'] = clusters
# 시각화
plt.scatter(df['sepal length (cm)'], df['sepal width (cm)'], c=df['cluster'], cmap='viridis')
plt.xlabel('Sepal Length')
plt.ylabel('Sepal Width')
plt.title('K-Means Clustering of Iris')
plt.show()
5. 실습 – PCA로 차원 축소
from sklearn.decomposition import PCA
# 2차원으로 축소
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)
# 시각화
plt.scatter(X_pca[:, 0], X_pca[:, 1], c=clusters, cmap='viridis')
plt.xlabel('Principal Component 1')
plt.ylabel('Principal Component 2')
plt.title('PCA Dimensionality Reduction')
plt.show()
6. 오늘의 핵심 요약
- 비지도학습은 정답이 없는 데이터에서 구조를 찾는 방식
- 군집: K-Means, DBSCAN, 계층적 군집 등 다양한 기법 존재
- 차원 축소: PCA 등으로 데이터 이해도 향상 및 학습 효율 개선
- 실습을 통해 K-Means와 PCA를 적용해봄
반응형
'개발 창고 > AI' 카테고리의 다른 글
자연어 처리(NLP) 기초 – 텍스트 데이터 다루기와 감정 분석 실습 (0) | 2025.08.19 |
---|---|
신경망 기본 실습: 간단한 이미지 분류 모델 만들기 (2) | 2025.08.17 |
지도학습 실습: 분류(Classification)와 회귀(Regression) (2) | 2025.08.16 |
데이터 전처리와 시각화: AI 모델 학습을 위한 필수 단계 (2) | 2025.08.14 |
딥러닝(Deep Learning) 기본 개념: CNN과 RNN 이해하기 (2) | 2025.08.12 |