작성
·
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
0
0
안녕하십니까,
1. scoring = 'neg_mean_absolute_error' 로 설정해 주십시요. 일반적으로 scoring을 값이 클 수록 모델 성능이 좋은 것으로 사이킷런에서 인식하는데, mae는 값이 클 수록 모델 성능이 저하되는 것이므로 Negative 키워드를 붙여서 사용합니다.
2. 가급적이면 Elastic Net과 유사하게 L1+L2가 1이 되도록 하라는 경험적인 얘기들이 있지만, 반드시 1로 제약하라는 조건은 없습니다. 1보다 커도 동작합니다.
감사합니다.
0
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