본문 바로가기

오늘의 공부/ML

6장 모델평가와 하이퍼파라미터 튜닝의 모범 사례

6.4. 그리드 서치를 사용한 머신 러닝 모델 세부 튜닝

하이퍼 파라미터: 모델의 성능을 향상시키기 위해 튜닝하는 파라미터이다.

 

 

6.4.1. 그리드 서치

GridSearchCV:

 

하이퍼 파라미터 값에 대한 최적의 조건을 찾아 모델 성능을 향상시키는데 큰 도움이 된다.

 

GridSearchCV의 파라미터는 다음과 같다.

 

* estimator : 모델

* param_grid: key: list 구조를 갖는 딕셔너리. estimator 튜닝에 사용하는 파라미터 값을 지정한다.

* scoring : 평가 방법

* cv : 학습/ 테스트 세트 개수

* refit : 디폴트가 True. True 로 하면 가장 최적의 하이퍼 파라미터를 찾은 뒤 이걸로 재학습시킴.

 

-최상의 모델 점수는 best_score_

-이 모델의 매개변수는 best_params_ 에서 얻을 수 있다. 

-best_estimatior_ : 최고로 좋은 모델을 받을 수 있고 이것을 통해 predict

 

https://datascienceschool.net/view-notebook/ff4b5d491cc34f94aea04baca86fbef8/

 

Data Science School

Data Science School is an open space!

datascienceschool.net

 

 

6.4.2. 중첩 교차 검증을 사용한 알고리즘 선택

 

cross_val_score

 

여러 종류의 머신 러닝 알고리즘을 비교할 때 사용한다.

중첩 교차 검증은 바깥쪽 k-겹 교차 검증 루프가 데이터를 훈련 폴드와 테스트 폴드로 나누고 안쪽 루프가 훈련 폴드에서 k-겹 교차 검증을 수행하여 모델을 선택한다. 

 

https://m.blog.naver.com/PostView.nhn?blogId=ckdgus1433&logNo=221599517834&categoryNo=11&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

교차 검증(cross validation)

이번 시간에는 머신러닝에서 평가에 필수적으로 사용되는 교차 검증(cross validation)에 대해서 알아보자....

blog.naver.com

 

 

6.5. 여러가지 성능 평가 지표

오차행렬 confusion_matrix

진짜 음성

TN

(정답)

거짓 양성

FP

(오답)

거짓 음성

FN

(오답)

진짜 양성

TP

(정답)

https://everyday-deeplearning.tistory.com/entry/%EC%A0%95%ED%99%95%EB%8F%84-%EC%A0%95%EB%B0%80%EB%8F%84-%EC%9E%AC%ED%98%84%EC%9C%A8-FscoreFmeasure%EB%9E%80

 

Python으로 머신러닝하기 | 정확도, 정밀도, 재현율, F-score(F-measure)란?

안녕하세요 으니에요! 취준생 기간을 열심히 보내느라 블로그에 소홀했습니다ㅜ 오늘은 이진 분류기의 성능을 평가하는 방법 중 오차 행렬에 대해 알아보도록 하겠습니다! 오차 행렬은 실제 타겟과 예측 값을 아..

everyday-deeplearning.tistory.com

정밀도Precision: 모델이 TRUE 라고 분류한 것 중에서 실제 True 인 것의 비율이다. 모델의 입장에서 (Positive 정답률, PPV)

 

재현율Recall: 실제 True 인 것 중에서 모델이 True라고 예측한 것의 비율이다. 실제 정답의 입장에서 (sensitivity, hit rate)

 

정확도 accuracy : 전체 중 정답을 예측한 경우의 비율이다.

 

 

f1 점수: Precision과 Recall의 조화평균. 

정확도의 편중을 막기 위해 사용한다. 만약 우리가 예측하고자 하는 한달 동안이 특정 기후에 부합하여 비오는 날이 흔치 않다고 생각해보면, 해당 data의 domain이 불균형하게 되므로 맑은 것을 예측하는 성능은 높지만, 비가 오는 것을 예측하는 성능은 매우 낮을 수밖에 없다. 그래서 이를 보완하는 지표가 바로 f1점수이다.

 

https://sumniya.tistory.com/26

 

분류성능평가지표 - Precision(정밀도), Recall(재현율) and Accuracy(정확도)

기계학습에서 모델이나 패턴의 분류 성능 평가에 사용되는 지표들을 다루겠습니다. 어느 모델이든 간에 발전을 위한 feedback은 현재 모델의 performance를 올바르게 평가하는 것에서부터 시작합니다. 모델이 평가..

sumniya.tistory.com

 

 

ROC 곡선 그리기

roc 곡선: 왼쪽 위에 붙어있을 수록 성능이 좋다. 

auc 함수. 곡선을 수치화한게 auc 함수이다. 그래프 아래의 면적이 1에 가까울 수록 성능이 좋다.

 

https://bcho.tistory.com/tag/ROC%20curve

 

'ROC curve' 태그의 글 목록

평범하게 살고 싶은 월급쟁이 기술적인 토론 환영합니다.같이 이야기 하고 싶으시면 부담 말고 연락주세요:이메일-bwcho75골뱅이지메일 닷컴.

bcho.tistory.com

 

 

 

다중 분류의 성능 지표

  A반 B반 C반
학생수 9 2 3
평균 40 70 90

 

macro-average     40+70+90 / 3 = 66

micro-average      40*9 + 70*2+90*3 / 14 = 55

마이크로 평균은 각 개인을 구별하여 평가하기 위해 사용된다. 레이블마다 샘플 개수가 다른 불균형한 클래스를 다룰 때 유용하다!

 

https://unlimitedpower.tistory.com/entry/IR-마이크로-평균Micro-average-매크로-평균Macro-average-이란-무엇인가

 

[IR] 마이크로 평균(Micro-average), 매크로 평균(Macro-average) 이란 무엇인가?

카테고리를 가진 데이터의 평균은 마이크로 평균(Micro-average), 매크로 평균(Macro-average) 이 두가지로 나뉘게 되는데 이 둘의 차이점을 알아보도록 하겠습니다. 아래와 같이 학교에 A,B,C반이 있을 때 각각의..

unlimitedpower.tistory.com

 

6.6. 불균형한 클래스 다루기

class_weight = 'balanced'

 

소수 클래스에서 발생한 예측 오류에 큰 벌칙을 부여한다.

 

resample함수

 

소수 클래스의 샘플을 늘리거나 다수 클래스의 샘플을 줄여 인공적으로 훈련 샘플을 생성한다.