#常規參數
booster
gbtree 樹模型做爲基分類器(默認)
gbliner 線性模型做爲基分類器
silent
silent=0時,輸出中間過程(默認)
silent=1時,不輸出中間過程
nthread
nthread=-1時,使用全部CPU進行並行運算(默認)
nthread=1時,使用1個CPU進行運算。
scale_pos_weight
正樣本的權重,在二分類任務中,當正負樣本比例失衡時,設置正樣本的權重,模型效果更好。例如,當正負樣本比例爲1:10時,scale_pos_weight=10。
模型參數
n_estimatores
含義:總共迭代的次數,即決策樹的個數
調參:
early_stopping_rounds
含義:在驗證集上,當連續n次迭代,分數沒有提高後,提前終止訓練。
調參:防止overfitting。
max_depth
含義:樹的深度,默認值爲6,典型值3-10。
調參:值越大,越容易過擬合;值越小,越容易欠擬合。
min_child_weight
含義:默認值爲1,。
調參:值越大,越容易欠擬合;值越小,越容易過擬合(值較大時,避免模型學習到局部的特殊樣本)。
subsample
含義:訓練每棵樹時,使用的數據佔全部訓練集的比例。默認值爲1,典型值爲0.5-1。
調參:防止overfitting。
colsample_bytree
含義:訓練每棵樹時,使用的特徵佔全部特徵的比例。默認值爲1,典型值爲0.5-1。
調參:防止overfitting。
學習任務參數
learning_rate
含義:學習率,控制每次迭代更新權重時的步長,默認0.3。
調參:值越小,訓練越慢。
典型值爲0.01-0.2。
objective 目標函數
迴歸任務
reg:linear (默認)
reg:logistic
二分類
binary:logistic 概率
binary:logitraw 類別
多分類
multi:softmax num_class=n 返回類別
multi:softprob num_class=n 返回概率
rank:pairwise
eval_metric
迴歸任務(默認rmse)
rmse--均方根誤差
mae--平均絕對誤差
分類任務(默認error)
auc--roc曲線下面積
error--錯誤率(二分類)
merror--錯誤率(多分類)
logloss--負對數似然函數(二分類)
mlogloss--負對數似然函數(多分類)
gamma
懲罰項係數,指定節點分裂所需的最小損失函數下降值。
調參:
alpha
L1正則化係數,默認爲1
lambda
L2正則化係數,默認爲1
參數樣例:
model = XGBClassifier(
booster='gbtree',
eval_metric='auc',
n_estimators=140,
learning_rate =0.05,
max_depth=7,
min_child_weight=0.1,
gamma=20,
subsample=0.7,
colsample_bytree=0.7,
colsample_level=0.7,
objective= 'binary:logistic',
nthread=4,
scale_pos_weight=2,
reg_alpha=5.4
reg_lambda=1,
seed=27,
alpha=0.1,
eta= 0.1,
silent=0)