Menu
CoddyTech

한눈에 보는 숫자

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

load_digits에는 손으로 쓴 숫자 1,797개가 들어 있습니다. 각 샘플은 8×8 그림의 행별 픽셀 밝기값 64개로 구성되며, 값의 범위는 0(빈 공간)부터 16(잉크가 가득한 상태)까지입니다.

두 명의 작성자가 똑같이 4를 쓰는 경우는 없습니다:

load_digits에서 가져온 손으로 쓴 4 열 개가 다섯 개씩 두 줄로 배열되어 있으며, 검은 배경에 흰색 잉크로 쓰여 있고 각각 기울기와 모양이 조금씩 다릅니다

교사는 일반적인 것을 원합니다. 각 픽셀의 평균이 해당 숫자의 모든 샘플에 걸쳐 계산된 평균 이미지입니다.

challenge icon

챌린지

어려움

프로그램은 숫자 d를 읽습니다. as_frame 없이 숫자 데이터를 불러와 .data와 .target이 NumPy 배열이 되도록 하세요.

  1. 숫자 d의 평균 이미지를 계산하세요.
  2. 가장 밝은 픽셀의 행과 열을 출력하세요. 인덱스는 0부터 셉니다.
  3. 평균 잉크값을 출력하세요. 64개 픽셀 평균의 평균을 구한 뒤, np.round로 소수점 2자리까지 반올림합니다.
  4. gray를 사용해 8 x 8 이미지로 그린 다음, 제목을 Average와 해당 숫자로 지정하세요.

숫자 4의 경우 다음과 같은 모양이어야 합니다.

제목이 Average 4인 8 x 8 회색 이미지: 검은색 바탕에 흐릿한 흰색 4가 있고, 글씨를 쓴 사람들이 획을 가장 많이 교차하는 부분이 가장 밝음

입력이 4일 때 전체 출력은 다음과 같습니다.

Brightest pixel: row 5, column 4
Average ink: 4.85
Charts drawn: 1
Title: Average 4
Images: 1
Size: 8 rows, 8 columns
Color map: gray
Row 0: [0.0, 0.0, 0.5, 7.1, 11.5, 2.0, 0.2, 0.1]
Row 1: [0.0, 0.1, 3.5, 13.3, 8.5, 2.0, 1.1, 0.3]
Row 2: [0.0, 0.7, 10.5, 11.4, 4.9, 5.8, 3.8, 0.3]
Row 3: [0.0, 4.6, 14.5, 6.4, 7.4, 10.6, 6.1, 0.0]
Row 4: [0.0, 8.6, 14.6, 9.7, 13.0, 14.0, 5.3, 0.0]
Row 5: [0.1, 6.3, 11.3, 12.4, 14.6, 10.4, 1.6, 0.0]
Row 6: [0.1, 1.1, 2.9, 7.8, 13.5, 4.2, 0.0, 0.0]
Row 7: [0.0, 0.0, 0.6, 7.8, 11.8, 2.0, 0.0, 0.0]

직접 해보기

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

d = int(input())

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

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

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

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