Akashic Records

14.4 비지도학습 본문

Python for Beginners

14.4 비지도학습

Andrew's Akashic Records 2023. 4. 25. 12:32
728x90

비지도학습(Unsupervised Learning)은 레이블이 없는 입력 데이터를 사용하여 기계학습 모델을 학습시키는 방법입니다. 주요 목적은 데이터의 내재된 구조와 패턴을 찾는 것입니다. 비지도학습의 대표적인 알고리즘에는 클러스터링(Clustering)과 차원 축소(Dimensionality Reduction)가 있습니다.

예제: k-평균 클러스터링(K-means Clustering)

이 예제에서는 Scikit-learn을 사용하여 k-평균 클러스터링을 수행해보겠습니다. k-평균은 주어진 데이터를 k개의 클러스터로 묶는 비지도 학습 알고리즘입니다.

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans

# 임의의 데이터 생성
X, _ = make_blobs(n_samples=300, centers=4, random_state=42)

# k-평균 클러스터링 수행
kmeans = KMeans(n_clusters=4, random_state=42)
kmeans.fit(X)

# 클러스터 레이블 예측
y_pred = kmeans.predict(X)

# 클러스터 중심 확인
cluster_centers = kmeans.cluster_centers_

# 결과 시각화
plt.scatter(X[:, 0], X[:, 1], c=y_pred, cmap='viridis')
plt.scatter(cluster_centers[:, 0], cluster_centers[:, 1], c='red', marker='x')
plt.xlabel("Feature 0")
plt.ylabel("Feature 1")
plt.show()


위 예제에서는 임의로 생성한 데이터셋을 사용하여 k-평균 클러스터링을 수행하였습니다. k-평균 알고리즘을 사용하여 데이터를 4개의 클러스터로 묶고, 클러스터 중심을 찾았습니다. 그리고 결과를 시각화하여 각 클러스터와 중심을 확인하였습니다.

비지도 학습 알고리즘에는 k-평균 외에도 계층적 클러스터링(Hierarchical Clustering), DBSCAN, t-SNE, PCA(주성분 분석) 등 다양한 방법이 있습니다. 문제와 데이터에 따라 적절한 알고리즘을 선택하여 모델을 학습시킬 수 있습니다. 비지도 학습은 데이터 전처리, 특성 추출, 시각화 등에도 활용되며, 지도학습과 함께 사용되어 더 좋은 결과를 얻을 수 있습니다.

728x90

'Python for Beginners' 카테고리의 다른 글

15.1 딥러닝 소개  (0) 2023.04.27
14.5 강화학습  (0) 2023.04.25
14.3 지도학습  (0) 2023.04.25
14.2 scikit-learn 라이브러리  (0) 2023.04.25
14.1 기계학습 소개  (0) 2023.04.25
Comments