비지도 학습
K-평균과 계층적 군집화 같은 군집화 기법을 이해합니다.
비지도 학습은(는) CoddyKit의 무료 Python For Kids 강의입니다. 이것은 6개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Python For Kids 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Python For Kids 강의에는 총 6개의 강의가 포함되어 있습니다.
비지도 학습
비지도 학습은 알고리즘이 레이블이 지정되지 않은 데이터에서 패턴을 학습하는 머신러닝의 한 유형입니다. 군집화, 차원 축소, 이상 탐지에 자주 사용됩니다.
이 레슨에서는 K-평균과 계층적 군집화 같은 군집화 기법을 살펴봅니다.

비지도 학습이란 무엇인가요?
비지도 학습은 미리 정의된 레이블 없이 데이터를 분석하고 그룹화하는 방식입니다. 데이터에 숨겨진 구조나 패턴을 식별하는 것을 목표로 합니다.
주요 작업은 다음과 같습니다:
- 군집화: 유사한 데이터 포인트를 그룹으로 묶습니다.
- 차원 축소: 중요한 정보를 유지하면서 특성의 수를 줄입니다.
K-평균 군집화
K-평균은 특성의 유사성을 기준으로 데이터를 K개의 군집으로 나누는 대표적인 군집화 알고리즘입니다. 작동 방식을 살펴보겠습니다:
# Example: K-Means Clustering
from sklearn.cluster import KMeans
import numpy as np
# Sample data
X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])
kmeans = KMeans(n_clusters=2, random_state=0)
kmeans.fit(X)
print("Cluster Centers:", kmeans.cluster_centers_)
print("Labels:", kmeans.labels_)계층적 군집화
계층적 군집화는 유사한 데이터 포인트를 그룹화하기 위해 트리 형태의 구조(덴드로그램)를 만듭니다. 미리 군집 수를 정하지 않아도 됩니다.
# Example: Hierarchical Clustering
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt
# Sample data
X = [[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]
linked = linkage(X, 'single')
dendrogram(linked)
plt.show()차원 축소
차원 축소는 중요한 정보를 유지하면서 특성의 수를 줄여 데이터를 단순화합니다. 주성분 분석(PCA)은 이 작업에 사용되는 대표적인 기법입니다.
# Example: PCA
from sklearn.decomposition import PCA
import numpy as np
# Sample data
X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
pca = PCA(n_components=1)
X_reduced = pca.fit_transform(X)
print("Reduced Data:", X_reduced)비지도 학습의 활용
비지도 학습은 다음과 같은 분야에 사용됩니다:
- 고객 세분화: 행동을 기준으로 고객을 그룹화합니다.
- 이상 탐지: 데이터에서 비정상적인 패턴을 식별합니다.
- 이미지 압축: 품질을 유지하면서 이미지 크기를 줄입니다.
군집 시각화
군집을 시각화하면 데이터 포인트가 어떻게 그룹화되었는지 이해하는 데 도움이 됩니다. 맷플롯립과 시본을 이 용도로 사용할 수 있습니다:
# Example: Visualizing clusters
import matplotlib.pyplot as plt
# Sample data and labels
X = [[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]
labels = [0, 0, 0, 1, 1, 1]
for i in range(len(X)):
plt.scatter(X[i][0], X[i][1], c='r' if labels[i] == 0 else 'b')
plt.show()비지도 학습의 과제
비지도 학습에는 다음과 같은 여러 과제가 있습니다:
- 군집 수 정의: K-평균에서는 군집 수를 미리 지정해야 합니다.
- 해석 가능성: 군집이 항상 명확한 의미를 가지는 것은 아닙니다.
- 확장성: 대규모 데이터 세트의 처리는 계산량이 많을 수 있습니다.
비지도 학습에서 흔히 하는 실수
다음과 같은 실수를 피해야 합니다:
- K-평균에서 잘못된 군집 수를 선택하는 것
- 특성 크기 조정과 같은 데이터 전처리를 수행하지 않는 것
- 검증 없이 군집을 지나치게 해석하는 것
무엇을 배웠나요?
이 레슨에서는 다음 내용을 배웠습니다:
- 비지도 학습의 기본 개념과 주요 작업
- K-평균 및 계층적 군집화를 구현하는 방법
- PCA를 사용한 차원 축소의 개념
- 비지도 학습의 활용 분야, 과제, 흔한 실수
잘하셨습니다! 다음 주제로 넘어가겠습니다.

자주 묻는 질문
“비지도 학습” 강의는 무료인가요?
네 — “비지도 학습” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Python For Kids 강의 전체를 잠금 해제할 수 있습니다. Python For Kids 강의에는 총 6개의 강의가 포함되어 있습니다.
“비지도 학습”에서 뭘 배우나요?
K-평균과 계층적 군집화 같은 군집화 기법을 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 Python For Kids을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Python For Kids을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Python For Kids은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 6개 중 3번째 강의입니다.
“비지도 학습” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Python For Kids 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Python For Kids 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.