인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

davang2's profile image
davang2

asked

[Revised Edition] The Complete Guide to Python Machine Learning

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

scoring에 대한 질문

Written on

·

3.5K

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를 사용할수있는지 궁금합니다.

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

Answer 5

1

dooleyz3525님의 프로필 이미지
dooleyz3525
Instructor

안녕하십니까,

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

감사합니다.

0

davang2님의 프로필 이미지
davang2
Questioner

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

-8이 좋은건가요?

0

davang2님의 프로필 이미지
davang2
Questioner

정말감사합니다!

0

dooleyz3525님의 프로필 이미지
dooleyz3525
Instructor

안녕하십니까,

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

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

감사합니다.

0

davang2님의 프로필 이미지
davang2
Questioner

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

davang2's profile image
davang2

asked

Ask a question