xgboost中XGBClassifier()參數

#常規參數

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)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章