本文主要介绍如何利用Xgboost+LR构建分类模型,基于真实案例用R语言来实现该算法。
一、算法原理
Xgboost可以用来构造新特征变量,而LR则可以把原始特征和新特征集合起来构造模型,并计算各特征的显著性和权重系数。
二、利用R构造Xgboost模型
原始数据,数据框格式,8个自变量,1个因变量,训练集共200万+数据,测试集90万+数据。
# 利用xgboost包的xgb.create.features构造新特征变量
library(xgboost)
traindata1 <- data.matrix(traindata[,c(1:8)]) # 将自变量转化为矩阵
library(Matrix)
traindata2 <- Matrix(traindata1,sparse=T) # 利用Matrix函数,将sparse参数设置为TRUE,转化为稀疏矩阵
traindata3 <- as.numeric(as.character(traindata[,9])) # 将因变量转化为numeric
traindata4 <- list(data=traindata2,label=traindata3) # 将自变量和因变量拼接为list
dtrain <- xgb.DMatrix(data = traindata4$da