inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개정판] 파이썬 머신러닝 완벽 가이드

교차검증 성능평가 cross_val_score()와 하이퍼 파라미터 튜닝을 위한 GridSearchCV - 01

GridSearch 질문입니다.

208

Jin

작성한 질문수 3

2

안녕하세요

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

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

감사합니다.

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

답변 1

1

권 철민

안녕하십니까,

사이킷런은 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

24

2

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

0

68

2

정수 인덱싱

0

71

2

넘파이 오류

0

88

2

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

0

89

2

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

0

80

2

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

0

71

2

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

0

76

2

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

0

65

2

5강 강의 오류가 있어요.

0

86

1

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

0

74

2

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

0

70

3

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

0

122

2

좋은 강의 감사합니다.

0

75

2

scoring 함수 음수값

0

68

2

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

0

104

2

분류 평가 정확도 예측

0

80

2

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

0

100

1

카카오톡 채널 있나요

0

110

1

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

0

191

2

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

0

102

2

주피터 대신 구글 코랩

0

174

2

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

0

149

2

실루엣 스코어..

0

87

2