Menu
CoddyTech

실제 단위로 본 중심점

Coddy Machine Learning 여정의 비지도 학습 섹션에 포함된 레슨. 51개 중 12번째.

클러스터의 중심은 그 클러스터를 대표하는 구성원입니다. K-means는 스케일링된 데이터에서 놀이공원의 중심을 찾았으므로, 중심은 z 점수로 표시됩니다. 동일한 중심을 변환 전과 후로 비교해 보세요:

놀이공원 방문객을 보여 주는 두 개의 차트에 3개의 클러스터 중심이 십자 표시로 표시되어 있습니다. 왼쪽은 스케일링된 축으로, 중심은 0.8, 1.3과 같은 값에 위치합니다. 오른쪽은 실제 단위로, 동일한 중심이 6.8시간과 13.9회 놀이기구 탑승, 6.0과 6.2, 2.4와 3.0에 위치합니다

스케일러를 유지하세요. 스케일러는 각 특성의 평균과 분산을 기억하며, inverse_transform은 스케일링을 되돌립니다.

scaler = StandardScaler()
km.fit(scaler.fit_transform(park))
centers = scaler.inverse_transform(km.cluster_centers_)
print(centers.round(1))

클러스터당 한 행씩 시간, 놀이기구 이용 횟수, 나이를 출력합니다:

[[ 6.   6.2 38.4]
 [ 2.4  3.  45.8]
 [ 6.8 13.9 20.7]]

클러스터 2의 중심은 0.8과 1.3이었습니다. 이제 6.8시간과 13.9회 탑승으로 읽힙니다. 같은 점을 사람이 이해할 수 있는 단위로 나타낸 것입니다.

challenge icon

챌린지

중급

장갑 제조업체는 손의 군집을 4가지 장갑 크기로 변환합니다. 시작 코드는 손 150개의 크기를 조정하고 군집화한 다음, 고객의 손 정보를 new_hand에 읽어 들입니다.

  1. 새 손이 속하는 군집을 찾으세요. 먼저 크기를 조정합니다.
  2. 중심을 다시 cm 단위로 변환하세요.
  3. 아래와 같이 해당 군집의 중심을 소수점 1자리까지 출력하세요.

다른 장갑 제조업체의 경우:

Your glove size: hand 20.3 cm, palm 8.9 cm, finger 8.6 cm

직접 해보기

import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans

# 장갑 제작자가 측정한 손 150개의 치수(cm): 손 길이, 손바닥 너비, 가운데손가락 길이
hands = pd.read_csv("hands.csv")
scaler = StandardScaler()
scaled = scaler.fit_transform(hands)
# 장갑 크기마다 클러스터 하나
km = KMeans(n_clusters=4, n_init=10, random_state=0)
km.fit(scaled)

# 새 고객의 손 치수를 동일한 열로 구성된 한 행짜리 표로 나타냄
new_hand = pd.DataFrame({
    "hand_cm": [float(input())],
    "palm_cm": [float(input())],
    "finger_cm": [float(input())],
})

# 아래에 코드를 작성하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

비지도 학습의 모든 레슨

직접 연습해 보세요: 온라인 Python 컴파일러