Menu
CoddyTech

파이프라인 조정하기

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

파이프라인은 정리 단계를 포함하여 어떤 모델처럼 튜닝할 수 있습니다. 각 설정은 단계 이름, 밑줄 두 개, 매개변수 순으로 이름이 지정됩니다.

pipe = make_pipeline(SimpleImputer(), DecisionTreeClassifier(random_state=0))
grid = {"simpleimputer__strategy": ["mean", "median", "most_frequent"],
        "decisiontreeclassifier__max_depth": [2, 4, 6, 8]}
search = GridSearchCV(pipe, grid, cv=5)
search.fit(X_train, y_train)

make_pipeline은 각 단계를 클래스 이름의 소문자 형태로 명명합니다. 모형 로켓 200회 발사에서 300 m에 도달했는지 여부를 기준으로 한 12가지 설정의 점수는 다음과 같습니다.

평균 CV 정확도를 나타낸 격자: 행은 mean, median, most_frequent 채우기 방식을, 열은 트리 깊이 2, 4, 6, 8을 나타냅니다. 점수는 0.733부터 0.820까지이며, 깊이 6에서 median으로 채운 셀이 0.820으로 최고 점수를 기록했습니다.

각 폴드마다 대치기를 포함한 전체 파이프라인을 다시 적합하므로, 어떤 폴드도 자신을 테스트하는 행을 미리 보지 않습니다.

challenge icon

챌린지

중급

음악 학교는 어떤 바이올린 학생들이 학년 시험에 합격할지 알고 싶어 합니다. 시작 코드는 k 값 3개를 읽고, 파이프라인에 대한 그리드 검색은 오류로 중단됩니다.

  1. 검색이 대치기의 전략과 k-NN의 이웃 수를 조정하도록 그리드의 두 키를 수정하세요.
  2. 아래와 같이 최적 설정, 교차 검증 정확도와 테스트 정확도를 출력하세요.

2, 4, 6을 입력한 다른 학교의 경우:

Best: mean fills, 6 neighbors
Cross-validated accuracy: 0.720
Test accuracy: 0.820

직접 해보기

import pandas as pd
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.pipeline import make_pipeline

# 바이올린 학생들: 급수 시험에 합격했는지 (1) 불합격했는지 (0); 일부 연습
# 기록과 초견 연주 점수가 누락되어 있습니다
students = pd.read_csv("violins.csv")
X = students.drop(columns="passed")
y = students["passed"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
ks = [int(input()), int(input()), int(input())]

# 이 탐색은 오류로 중단됩니다: 그리드를 수정하세요
pipe = make_pipeline(SimpleImputer(), StandardScaler(), KNeighborsClassifier())
grid = {
    "strategy": ["mean", "median"],
    "n_neighbors": ks,
}
search = GridSearchCV(pipe, grid, cv=5)
search.fit(X_train, y_train)

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

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

지도 학습의 모든 레슨

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