복습: 와인 이웃
Coddy Machine Learning 여정의 지도 학습 섹션에 포함된 레슨. 58개 중 10번째.
챌린지
쉬움와인에 대해 이 장의 첫 번째 지도처럼 지도를 그려 보세요. 시작 코드는 와인 178개(특징 2개, 품종 0~2)를 나누고, ks를 나열하며 차트에 레이블을 붙입니다.
- 두 데이터 세트를 스케일링하되, 학습용 와인에 맞춰 스케일러를 학습합니다.
- 테스트 정확도가 가장 높은 k를 출력합니다(현재는 이렇지만, 더 공정한 평가는 7장에서 다룹니다).
- 그 k로 지도를 채웁니다.
xx,yy격자는 100×100이고, 양쪽 방향 모두 -3부터 3까지이며, 예측 결과는zz에 저장합니다. - 스케일링된 학습용 와인을 위에 산점도로 표시하고,
names에서 가져온 레이블을 붙인 다음 범례를 추가합니다.
알코올과 플라보노이드를 사용하면 다음과 같습니다.
Best k: 13 (test accuracy 0.956)Coddy가 지도를 설명해 줍니다.
직접 해보기
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler
# 세 가지 재배 품종의 와인 178개, 클래스 0, 1, 2
wine = load_wine()
# 열 6과 12: flavanoids 및 프롤린
X = wine.data[:, [6, 12]]
y = wine.target
names = ["cultivar A", "cultivar B", "cultivar C"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
ks = range(1, 32, 2) # k = 1, 3, 5, ..., 31
fig, ax = plt.subplots()
ax.set_title("Wine Neighbors")
ax.set_xlabel("flavanoids (scaled)")
ax.set_ylabel("proline (scaled)")
# 아래에 코드를 작성하세요
지도 학습의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러