1.截止到本文(20191104)sklearn沒有集成xgboost算法,需要單獨安裝xgboost庫,然后導入使用
Pre-built binary wheel for Python
在源碼git頁面下載包,然后手動安裝。
2.xgboost讀取文件的格式?
xgboost的數據輸入數據格式DMatrix目前支持兩種數據格式:LibSVM和CSV
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的兩種訓練方式,以及不同的objective的影響
xgboost不同訓練方式,及grid search調參方法
5.XGBoost的訓練數據格式是ndarray,如果是dataframe的形式要先轉換為ndarray(df.values)
6. XGBoost整體流程:
變量處理/特征工程/特征選擇/特征變換
cross validation(sklearn K折交叉驗證):
三類參數(general parameters/booster parameters/task parameters)
每個模型的roc曲線/auc值/ks值/精確值
參考資料:
