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值/精确值
参考资料:
来源:oschina
链接:https://my.oschina.net/u/4357583/blog/3354936