天天看點

sklearn中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

記錄一下Xgboost中的參數含義,友善之後用到時回過頭再來檢視,後續還會繼續更新其他模型的參數含義。