inflearn logo
강의

Course

Instructor

[Revised Edition] The Complete Guide to Python Machine Learning

Cross-validation performance evaluation cross_val_score() and GridSearchCV for hyperparameter tuning - 01

GridSearch 질문입니다.

208

Jin

3 asked

2

안녕하세요

GridSearch 가 어떻게 작동되는지 많이 햇갈려서요 

예제코드가 iris data 값들을 파라미터값들인 깊이 와 split 으로 분할해서 학습시키는것이 맞는지요? 그리고 학습시키고 예측은 어느부분에서 실행되는것인지요

감사합니다.

python 머신러닝 배워볼래요? 통계

Answer 1

1

dooleyz3525

안녕하십니까,

사이킷런은 GridSearchCV 라는 객체를 제공합니다. GridSearchCV는 하이퍼 파라미터들을 순차적으로 대입해 가면서 모델을 학습 시키고 검증해서 최적 하이퍼 파라미터를 찾는데, 이때 Cross validation (교차 검증) 방식으로 학습과 검증을 합니다.

GridSearchCV() 생성 시 입력 인자로 사이킷런 Decision Tree와 같은 Estimator객체와 테스트할 하이퍼 파라미터들을 Dictionary 형태로 입력해주면 자동으로 Decision Tree를 입력된 하이퍼 파라미터들로 반복적으로 학습 후 성능 검증을 합니다.

# DecisionTree 객체 생성.

dt_clf = DecisionTreeClassifier()

# 테스트할 하이퍼 파라미터 설정. max_depth를 4, 5, 6 값을 번갈아서 테스트

hyper_params = {'max_depth': [ 4, 5, 6] }

# GridSearchCV 객체 생성, DecisionTreeClassifier 객체의 max_depth 4, 5, 6을 번갈아 가면서 학습, 검증 수행하되, 교차 검증 데이터 세트를 3으로 설정해서 수행. 즉 max_depth 4일때 모델 학습, 성능 검증, 5일때 학습 및 성능 검증, 6일때 학습 및 성능 검증을 하는데 교차 검증을 3으로 하므로 3개의 max_depth 하이퍼 파라미터 각각에 대해서 3번씩 학습, 검증 수행하므로 3x3번 학습, 3x3번 검증, 총 9번의 학습 검증을 수행

grid_cv = GridSearchCV(dt_clf, params=hyper_params, cv=3, refit=True)

# 학습데이터 x_train, y_train에 대해서 GridSearchCV  수행.  max_depth 4일때 모델 학습, 성능 검증, 5일때 학습 및 성능 검증, 6일때 학습 및 성능 검증을 하는데 교차 검증을 3으로 하므로 3개의 max_depth 하이퍼 파라미터 각각에 대해서 3번씩 학습, 검증 수행하므로 3x3번 학습, 3x3번 검증, 총 9번의 학습 검증을 수행

grid_cv.fit(x_train, y_train)

학습과 예측 모두 GridSearchCV에서 입력된 DecisionTreeClassifier 객체를 이용해서 수행합니다.

GridSearchCV는 해당 DecisionTreeClassifier 객체를 GridSearchCV에 입력된 하이퍼 파라미터와 CV값에 따라 반복적으로 학습 시키고 성능 검증하고, 그 결과를 별도의 Dictionary에 기록하는 역할을 수행합니다.  최종적으로 가장 좋은 성능을 나타낸 하이퍼 파라미터로 DecisionTreeClassifier 객체를 최종 학습 시키고 종료 합니다.

감사합니다.

안녕하세요 열심히 수강중인 학생입니다

0

63

2

정수 인덱싱

0

68

2

넘파이 오류

0

85

2

11강 numpy의 axis 축 질문 드립니다.

0

85

2

Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.

0

79

2

Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.

0

70

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

75

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

64

2

5강 강의 오류가 있어요.

0

84

1

실무에서 LTV 관련 모델 선택 질문입니다!

0

72

2

14강 강의 듣는중에 궁금한게 있어서 질문합니다~

0

69

3

파이썬 다운그레이 후 사이킷런 재설치

0

117

2

좋은 강의 감사합니다.

0

73

2

scoring 함수 음수값

0

67

2

6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?

0

100

2

분류 평가 정확도 예측

0

79

2

안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.

0

99

1

카카오톡 채널 있나요

0

108

1

혹시 강의에서 사용하시는 ppt 받을 수 있는건가요

0

190

2

pca 스케일링 관련하여 질문드립니다.

0

100

2

주피터 대신 구글 코랩

0

172

2

강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?

0

148

2

실루엣 스코어..

0

86

2

float64 null 값 처리 방법

0

103

2