Menu
CoddyTech

복습: 헬스장 회원

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

challenge icon

챌린지

쉬움

이 장을 시작했던 카페 방문을 기억하나요? 헬스장도 바닥 공간을 위해 같은 것을 알고 싶어 합니다. 어떤 유형의 회원들이 방문할까요? members.csv에는 회원별 방문당 평균 유산소 운동 시간과 웨이트 운동 시간이 들어 있습니다.

  1. KMeans를 학습시키세요: 클러스터 3개, n_init=10, random_state=0.
  2. 각 그룹에 대해 크기가 큰 순서대로 크기, 중심, 가장 전형적인 회원, 즉 중심에 가장 가까운 회원을 출력하세요.
  3. 각 그룹을 크기를 라벨로 표시해 산점도로 그리세요. 예를 들면 55 members처럼요. 그런 다음 검은색 별표에 centers 라벨을 붙이고, 범례를 표시한 뒤 그래프를 보여 주세요.

다른 헬스장의 경우:

Groups, biggest first:
45 members: 39 min cardio, 15 min weights (most typical: Rosa P.)
30 members: 20 min cardio, 47 min weights (most typical: Finn A.)
15 members: 56 min cardio, 46 min weights (most typical: Lu W.)

그리고 해당 그래프:

Gym Members라는 제목의 산점도. 가로축은 유산소 운동 시간, 세로축은 웨이트 운동 시간입니다. 아래쪽에는 유산소 운동을 하는 회원 45명, 왼쪽 위에는 웨이트 운동을 하는 회원 30명, 오른쪽 위에는 두 운동을 모두 많이 하는 회원 15명이 있습니다. 각 그룹에는 검은색 별표가 하나씩 있고, 범례에는 각 그룹이 크기로 표시되어 있습니다.

그러면 Coddy가 당신의 그래프를 설명합니다.

직접 해보기

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

# 회원 한 명당 한 행: 방문당 유산소 운동과 웨이트 트레이닝의 평균 시간(분)
members = pd.read_csv("members.csv")
X = members[["cardio_min", "weights_min"]]

fig, ax = plt.subplots()
ax.set_title("Gym Members")
ax.set_xlabel("Cardio (min per visit)")
ax.set_ylabel("Weights (min per visit)")

# 아래에 코드를 작성하세요

비지도 학습의 모든 레슨

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