XGBoost使用篇(未完成)


1.截止到本文(20191104)sklearn沒有集成xgboost算法,需要單獨安裝xgboost庫,然后導入使用

xgboost官網安裝說明

Pre-built binary wheel for Python

在源碼git頁面下載包,然后手動安裝。

如何安裝包

2.xgboost讀取文件的格式?

xgboost的數據輸入數據格式DMatrix目前支持兩種數據格式:LibSVM和CSV

libsvm數據格式

xgboost可以從libsvm、csv、numpy array、dataframe、xgboost binary buffer file載入訓練數據

讀入后,數據存儲在DMatrix目標文件中。

3.xgboost模型的訓練及預測過程?

第一種形式:

xgboost原生接口的實現方法

import xgboost as xgb # read in data dtrain = xgb.DMatrix('demo/data/agaricus.txt.train') dtest = xgb.DMatrix('demo/data/agaricus.txt.test') # specify parameters via map param = {'max_depth':2, 'eta':1, 'objective':'binary:logistic' } num_round = 2 bst = xgb.train(param, dtrain, num_round) # make prediction preds = bst.predict(dtest)

第二種形式:

xgboost的sklearn接口,來實現一些模型訓練、擬合、效果展示的功能

import xgboost as xgb
import numpy as np
from sklearn.model_selection import KFold, train_test_split, GridSearchCV
from sklearn.metrics import confusion_matrix, mean_squared_error
from sklearn.datasets import load_iris, load_digits, load_boston
digits = load_digits(2)
y = digits['target']
X = digits['data']
kf = KFold(n_splits=2, shuffle=True, random_state=rng)
for train_index, test_index in kf.split(X):
  xgb_model = xgb.XGBClassifier().fit(X[train_index], y[train_index])
  predictions = xgb_model.predict(X[test_index])
  actuals = y[test_index]

  print(confusion_matrix(actuals, predictions))

xgb.XGBClassifier().fit()和xgb.train()的區別?

https://blog.csdn.net/mr_muli/article/details/84798847

第二種形式中的幾種用法:

xgboost.XGBRegressor(), implementation of the skleran api for xgboost regression

xgboost.XGBClassifier(), implementation of the skleran api for xgboost classification

xgboost.XGBRanker(), implementation of the sklearn api for xgboost ranking

xgboost.XGBRFRegressor() ,sklearn api for xgboost random forest regression

xgboost.XGBRFClassifier(), SKlearn api for xgboost random forest classification

https://xgboost.readthedocs.io/en/latest/python/python_api.html#module-xgboost.sklearn

4.為什么xgboost有時預測結果為0/1,有時預測結果為概率值?

注意objective變量的設置,不同的設置最后模型預測的結果返回的內容是不一樣的。

https://www.cnblogs.com/wzdLY/p/9831282.html

XGBoost參數調優完全指南

xgboost的兩種訓練方式,以及不同的objective的影響

xgboost不同訓練方式,及grid search調參方法

5.XGBoost的訓練數據格式是ndarray,如果是dataframe的形式要先轉換為ndarray(df.values)

6. XGBoost整體流程:

變量處理/特征工程/特征選擇/特征變換

grid search或者隨機網格搜索

  cross validation(sklearn K折交叉驗證):

    三類參數(general parameters/booster parameters/task parameters)

    每個模型的roc曲線/auc值/ks值/精確值

參考資料:

用xgboost做分類,預測結果輸出的為什么不是類別概率?

模型融合--XGBoost

四個xgb模型融合拿下金融風控冠軍,是如何做特征工程的?

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM