Menu
CoddyTech

클래스 시각화

Coddy Machine Learning 여정의 데이터와 시각화 섹션에 포함된 레슨. 60개 중 55번째.

클래스들이 서로 분리된 군집을 이루나요? 클래스별로 산점도를 하나씩 그리고, 각 산점도에 target_names에서 가져온 이름을 지정하세요:

꽃받침 길이와 너비에 따른 붓꽃: 종마다 색을 달리했으며, setosa는 왼쪽 위에 독자적인 군집을 이루고 versicolor와 virginica는 가운데와 오른쪽에서 겹칩니다

그 뒤에 있는 코드:

df = iris.frame
fig, ax = plt.subplots()
for i in range(3):
    group = df[df["target"] == i]
    ax.scatter(group["sepal length (cm)"], group["sepal width (cm)"], label=iris.target_names[i])
ax.set_title("Iris flowers by sepal size")
ax.set_xlabel("sepal length (cm)")
ax.set_ylabel("sepal width (cm)")
ax.legend()
plt.show()

각 호출은 고유한 색상을 가지며, label=iris.target_names[i]는 0, 1, 2를 범례에 표시할 이름으로 바꿉니다.

Setosa는 뚜렷하게 구분되지만, versicolor와 virginica는 겹칩니다. 데이터 분포가 겹치는 부분에서 모델이 실수를 하게 됩니다.

challenge icon

챌린지

중급

악성 샘플과 양성 샘플은 서로 다른 군집을 이루나요? 팀원이 만든 차트로는 알 수 없습니다. load_breast_cancer의 모든 데이터를 하나의 산점도로, 한 가지 색으로 그리기 때문입니다.

  1. 그 산점도를 클래스별 산점도로 바꾸세요. 가로축에는 mean radius, 세로축에는 mean concave points를 표시하세요.
  2. 각 산점도에 target_names에서 가져온 클래스 이름을 붙이세요.

준비된 줄은 그대로 두세요. 아래 차트는 다른 두 측정값으로 그린 것으로, 여러분의 차트도 이와 비슷해야 합니다.

평균 텍스처와 평균 매끄러움에 따른 유방 조직 샘플의 산점도. 악성 샘플은 파란색, 양성 샘플은 주황색이며, 범례에 두 클래스의 이름이 표시되어 있습니다.

프로그램은 아무것도 출력하지 않습니다. Coddy가 차트를 확인하고 설명합니다.

직접 해보기

import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer

cancer = load_breast_cancer(as_frame=True)
df = cancer.frame

# 아래 줄은 변경하지 마세요
fig, ax = plt.subplots()

# 여기에서 코드를 수정하세요
ax.scatter(df["mean radius"], df["mean concave points"])

# 아래 줄들은 변경하지 마세요
ax.set_title("Cells by Diagnosis")
ax.set_xlabel("mean radius")
ax.set_ylabel("mean concave points")
ax.legend()
plt.show()
quiz icon실력 점검

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

데이터와 시각화의 모든 레슨

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