Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- android
- oracle
- 고전역학
- 인프라
- write by GPT-4
- chatGPT's answer
- Java
- write by chatGPT
- flet
- 시스템
- Database
- NIO
- lombok
- 자바네트워크
- 파이썬
- 코틀린
- 역학
- 소프트웨어공학
- 자바
- 유닉스
- GIT
- JVM
- Spring boot
- 뉴턴역학
- 웹 크롤링
- python
- kotlin
- 리눅스
- GPT-4's answer
- 자바암호
Archives
- Today
- Total
Akashic Records
14.4 비지도학습 본문
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