Menu
CoddyTech

숫자 살펴보기

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

마지막 프로젝트: 손으로 쓴 스캔 이미지 1,797장과 선생님은 없습니다. 5개의 강의에 걸쳐, 라벨을 하나도 읽지 않고도 다음과 같은 그룹을 찾아냅니다.

두 줄로 배열된 흐릿한 회색 숫자 그림 10개. 스캔 이미지에서 k-means가 찾은 10개 그룹의 중심: 9, 흐릿한 1 또는 8, 7, 6, 2, 0, 3, 4, 5, 가느다란 1

모든 프로젝트는 관찰하는 것에서 시작합니다. 픽셀의 분산, 즉 여러 스캔에 걸친 표준 편차는 작성자들이 어디에서 의견이 다른지 보여줍니다. 여기서는 모든 7에 대해 살펴봅니다:

7의 픽셀 분산을 나타낸 8 x 8 격자입니다. 분산이 클수록 파란색이 진하며, 위쪽 가로획과 아래로 이어지는 획을 따라 값이 높고 왼쪽 가장자리와 오른쪽 아래에서는 0.0입니다

spread = X[y == 7].std(axis=0)
print((spread == 0).sum())

이렇게 하면 15가 출력됩니다. 7개마다 15픽셀이 비어 있습니다. 절대 바뀌지 않는 픽셀은 모델에 아무런 정보도 주지 않습니다.

challenge icon

챌린지

중급

탐색을 시작하세요. 시작 코드는 스캔 데이터를 X에, 숫자를 y에 불러오고 차트를 설정합니다.

  1. 모든 스캔에서 각 픽셀의 편차를 구하세요. 가장 편차가 큰 픽셀의 행, 열, 편차(소수점 이하 2자리)를 출력한 다음, 모든 스캔에서 비어 있는 픽셀의 개수를 출력하세요.
  2. ax에 8 x 8 그림으로 나타내고, cmap="Blues"와 컬러바를 사용하세요. 그림을 표시하세요.

숫자 1만 살펴보면:

Busiest pixel: row 6, column 5 (spread 6.53)
Blank in every scan: 12 pixels

작가들의 의견이 엇갈리는 곳이라는 제목의 8 x 8 그림과 컬러바: 숫자 1에서 각 픽셀의 편차를 나타내며, 행과 열은 0부터 7까지 번호가 매겨져 있습니다. 가운데에는 어두운 띠 두 개가 세로로 나 있는데, 작가들이 획을 서로 다른 위치에 그린 곳입니다. 왼쪽과 오른쪽 가장자리는 옅은 색입니다.

여러분의 그림은 스캔 1,797개 전체를 다룹니다. Coddy가 그림을 설명합니다. 작가들의 의견이 가장 많이 엇갈리는 곳은 어디인가요?

직접 해보기

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits

# 1,797개의 손글씨 스캔 이미지: 각각 64픽셀(8 x 8, 잉크 값은 0부터 16까지)과 쓰인 숫자
digits = load_digits()
X = digits.data
y = digits.target

fig, ax = plt.subplots()
ax.set_title("Where Writers Disagree")

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

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

비지도 학습의 모든 레슨

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