머신 러닝, 반가워요
Coddy Machine Learning 여정의 데이터와 시각화 섹션에 포함된 레슨. 60개 중 1번째.
대부분의 프로그램은 사람이 작성한 규칙을 따릅니다. 머신 러닝 모델은 예시를 통해 스스로 규칙을 찾아냅니다.
여기 꽃잎 크기에 따라 점으로 표시한 아이리스 꽃 150개가 있습니다:
세 그룹이 보이나요? 모델도 이 그룹들을 학습한 다음, 본 적 없는 꽃의 이름을 알아낼 수 있습니다.
챌린지
쉬움이 프로그램은 준비되었습니다. 실행을 누르면 모델이 꽃 112개를 학습한 다음 새로운 꽃 38개의 이름을 맞힙니다.
모델의 추측을 보려면 그래프 탭을 여세요. 모델의 실수 한 가지를 찾을 수 있나요? 그런 다음 제출하세요.
직접 해보기
# Run을 눌러 모델이 학습하는 모습을 확인하세요
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
import matplotlib.pyplot as plt
# 붓꽃 150송이: 각 꽃의 측정값과 품종
iris = load_iris()
X_learn, X_new, y_learn, y_new = train_test_split(iris.data, iris.target, random_state=0)
# 모델은 정답과 함께 꽃 112송이를 학습합니다...
model = KNeighborsClassifier()
model.fit(X_learn, y_learn)
# ...그런 다음 한 번도 본 적 없는 꽃 38송이의 품종을 맞힙니다
guesses = model.predict(X_new)
right = (guesses == y_new).sum()
print(f"Studied {len(X_learn)} flowers")
print(f"Named {right} of {len(X_new)} new flowers correctly")
# 새 꽃은 각각 모델의 예측에 따라 색이 지정된 점으로 표시되며, 빨간색 X는 틀린 예측을 나타냅니다
fig, ax = plt.subplots()
for i, name in enumerate(iris.target_names):
picked = guesses == i
ax.scatter(X_new[picked, 2], X_new[picked, 3], label=f"guessed {name}")
wrong = guesses != y_new
ax.scatter(X_new[wrong, 2], X_new[wrong, 3], marker="x", color="red", s=120, label="mistake")
ax.set_title("The model's guesses for 38 new flowers")
ax.set_xlabel("petal length (cm)")
ax.set_ylabel("petal width (cm)")
ax.legend()
plt.show()
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
데이터와 시각화의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러