인프런 커뮤니티 질문&답변

psycn1님의 프로필 이미지
psycn1

작성한 질문수

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

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

scoring에 대한 질문

작성

·

3.4K

0

안녕하세요 강의 잘듣고있습니다.

다름이아니라 다른데이터로 GridSearchCV 방법을 실행하고있는데요

from sklearn.metrics import  mean_absolute_error

from sklearn.model_selection import GridSearchCV

lgbm_reg = LGBMRegressor()

GridSearchCV(lgbm_reg, param_grid, cv = 5, scoring = 'mean_absolute_error')

이런식으로 입력을하면 KeyError: 'mean_absolute_error' 이라고 오류가 발생합니다. 

scoring에 어떤식으로 입력을해야 MAE를 사용할수있는지 궁금합니다.

답변 5

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

-6은 원래 mse가 6 인데 사이킷런이 negative로 -1를 곱한 것입니다. 그리고 -8 마찬가지 입니다. 때문에 원래 mse는 6과 8이며 mse는 적은게 더 좋기 때문에 6이 더 좋습니다. 사이킷런 기준으로는 큰게 더 좋은 metric이기 때문에 마찬가지로 -6이 더 좋습니다.

감사합니다.

0

psycn1님의 프로필 이미지
psycn1
질문자

안녕하세요 저번에 말씀해주신 neg_mean_squared_error이걸 사용해서 나오는 값이 -6인게 더좋은가요 아니면

-8이 좋은건가요?

0

psycn1님의 프로필 이미지
psycn1
질문자

정말감사합니다!

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

1. scoring = 'neg_mean_absolute_error' 로 설정해 주십시요. 일반적으로 scoring을 값이 클 수록 모델 성능이 좋은 것으로 사이킷런에서 인식하는데, mae는 값이 클 수록 모델 성능이 저하되는 것이므로 Negative 키워드를 붙여서 사용합니다.

2. 가급적이면 Elastic Net과 유사하게 L1+L2가 1이 되도록 하라는 경험적인 얘기들이 있지만, 반드시 1로 제약하라는 조건은 없습니다. 1보다 커도 동작합니다.

감사합니다.

0

psycn1님의 프로필 이미지
psycn1
질문자

GridSearchCV 질문

GridSearchCV에서 최적의 피라미터를 볼때        lambda와 alpha값이 각0.7 합이1.4 나왔습니다 제가 알기론 알파 감마의 합이 1이 되어야하는걸로 알고있는데 

위와 같이 알파와 감마의값이 1이넘어도 문제가 없는지   궁금합니다

코드는 아래에 적어두겠습니다.

GridSearchCV를 

lgbm_reg = LGBMRegressor()

params = {'n_estimators':[500,700,800],

          'reg_lambda':[0.3, 0.5, 0.7], 

          'reg_alpha':[0.3, 0.5, 0.7]}

grid = GridSearchCV(lgbm_reg, param_grid=params, 

                              cv=5)

n_estimators: 500

reg_lambda: 0.7

reg_alpha: 0.7

psycn1님의 프로필 이미지
psycn1

작성한 질문수

질문하기