본문 바로가기
Machine Learning

[ML] Hyperparameter Tuning

by ram_ 2023. 1. 6.

Hyperparameter Tuning

: 모델의 성능을 확보하기 위해 조절하는 설정 값

 

튜닝 대상

- 결정나무에서 아직 우리가 튜닝해 볼만한 것은 max_depth이다.

간단하게 반복문으로 max_depth를 바꿔가며 테스트해볼 수 있을 것이다.

! 그런데 앞으로를 생각해서 보다 간편하고 유용한 방법을 생각해보자.


import pandas as pd

red_url = "https://raw.githubusercontent.com/PinkWink/ML_tutorial/master/dataset/winequality-red.csv"
white_url = "https://raw.githubusercontent.com/PinkWink/ML_tutorial/master/dataset/winequality-white.csv"

red_wine = pd.read_csv(red_url, sep=';')
white_wine = pd.read_csv(white_url, sep=';')

red_wine['color'] = 1.
white_wine['color'] = 0.

wine = pd.concat([red_wine, white_wine])
wine['taste'] = [1. if grade>5 else 0. for grade in wine['quality']]

X = wine.drop(['taste', 'quality'], axis = 1)
y = wine['taste']

wine 데이터 불러온다.

 


GridSearchCV

: 지정estimator된 분류기(wine_tree)에 params(파라미터)를 넣어서 스스로 5겹cv(cross validation)으로 Fit.

GridSearchCV를 import해준다.


Pipeline in GridSearch

from sklearn.pipeline import Pipeline
from sklearn.tree import DecisionTreeClassifier
from sklearn.preprocessing import StandardScaler

estimators = [
    ('scaler', StandardScaler()),
    ('clf', DecisionTreeClassifier())
]

pipe = Pipeline(estimators)

 

 

'Machine Learning' 카테고리의 다른 글

[ML] Cost Function _poly1d  (0) 2023.01.06
[ML] ROC Curve  (0) 2023.01.06
[ML] Hyperparameter Tuning_ 교차검증  (0) 2023.01.05
[ML] Pipeline  (0) 2023.01.05
[ML] Wine Analysis _DecisionTree  (0) 2023.01.05