[機械学習]セキレンパラメータ用語の整理
8969 ワード
ぐっすり眠る黒子
機械学習には多くのパラメータがある.
コードを書くときに確認が必要なところが多いので、各パラメータの意味と用途を書きたいと思います.
*主な起動パラメータ
学習率:学習率
n estimators:使用するツリーの数
max features:選択する最大属性数
colsample bytreee:ツリーを生成するために必要なサンプリングの範囲.0~1
サブサンプル:データサンプリングレート(および適切な制御)
num lease:フルツリー数
サブサンプル:データサンプリングレートの指定
colsample bytreee:皮膚が多い場合と適切な調節に適しています
ツリー作成に必要なフィーチャーのサンプリング
reg lambda:L 2正規化用語(重み)
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 estimator':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)
Reference
この問題について([機械学習]セキレンパラメータ用語の整理), 我々は、より多くの情報をここで見つけました https://velog.io/@rokomoko/머신러닝-사이킷런-파라미터-용어-정리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol