[머신러닝] 사이킷런 파라미터 용어 정리

우니·2021년 9월 1일
0

새근새근 잘 자는 까미

머신러닝은 여러가지 파라미터를 갖고 있습니다.
코드를 치면서도 확인해야 할 부분들이 많아서 각 파라미터의 뜻과 용도를 적어보려고 합니다.



* 주요 부스터 파라미터

learning rate : 학습률
n_estimators : 사용할 트리의 개수
max_features : 최대 선택할 특성의 개수
colsample_bytree : 트리 생성에 필요한 샘플링에서 사용할 범위. 0~1까지
subsample : 데이터 샘플링 비율(과적합 제어)
num_leaves : 전체 트리 개수
subsample : 데이터 샘플링 비율 지정
colsample_bytree : 피처가 많을 때 과적합 조절에 사용
트리 생성에 필요한 피처의 샘플링에서 사용
reg_lambda : L2를 정규화한 용어(가중치)
n_jobs = -1 : cpu 코어를 사용한다




from lightgbm import LGBMRegressor

lgbm_params = {'n_estimators':[1000]}
lgbm_reg = LGBMRegressor(n_estimators=1000, learning_rate=0.05, num_leaves =4, subsample=0.6, colsample_bytree=0.4, reg_lambda=10, n_jobs=-1

print_best_params(lgbm_reg, lgbm_params) 

LGBMRegressor 5 CV 최적 평균 RMSE 값 : 0.1161, 최적 alpha:{'n_estimators':1000}



def get_rmse_pred(preds):
	for key in preds[key]
    mse = mean_squred_error(y_test, pred_value)
    rmse = np.sqrt(mse)
    print('{0} 모델의 RMSE:{1}'.format(key, rmse))

#개별 모델 학습 

ridge_reg = Ridge(alpha=8)
lasso_reg.fit = Lasso(X_train, y_train)
lasso_reg = Lasso(alpha=0.001)
lasso_reg.fit(X_train, y_train) 

# 개별 모델 예측 
ridge_pred = ridge_reg.predict(X_test)
lasso_pred = lasso_reg.predict(X_test)


#개별 모델 예측값 혼합으로 최종 예측값 도출 
pred = 0.4 * ridge_pred + 0.6 * lasso_pred
preds = {'최종 혼합' :pred, 'Ridge':ridge_pred, 'Lasso':lasso_pred}

#최종 혼합 모델, 개별 모델의 RMSE 값 출력 
get_rmse_pred(preds) 

from XGBRegressor(n_estimators=1000, learning_rate=0.05, colsample_bytree=0.5, subsample=0.8)

lgbm_reg = LGBMRegressor(n_estimators=1000, learning_rate=0.05, num_leves=4, subsample=0.6, colsample_bytree=0.4, reg_lambda=10, n_jobs=-1)


xgb_reg.fit(X_train, y_train)
lgbm_reg.fit(X_train, y_train) 
xgb_pred = xgb_reg.predict(X_test)
lgbm_pred = lgbm_reg.predict(X_test)

pred = 0.5 * xgb_pred + 0.5 * lgbm_pred
preds = {'최종 혼합':pred, 'XGBM':xgb_pred, 'LGBM":lgbm_pred}

get_rmse_pred(preds)

profile
데이터와 머신러닝을 배우는 일본사업 마케터입니다

0개의 댓글

관련 채용 정보