R语言kaggle 房价预测用xgboost 实现,可以保证前五十,最好达到第四名的成绩

关于数据集的下载:https://download.csdn.net/download/u012429555/10891685

library(xgboost)
install.packages("xgboost")
library(readr)
library(stringr)
library(caret)
install.packages("caret")
install.packages("car")
library(car)
set.seed(100)
# devtools::install_github("ellisp/forecastxgb-r-package/pkg")
# 
# installr::install.github("forecastxgb-r-package/pkg")
# install.packages("forecastxgb")
# library(forecastxgb)

help("xgboost")

traindata<-kc_train


  

traindata1 <- data.matrix(traindata[,c(1:13)]) # 将自变量转化为矩阵
library(Matrix)
traindata2 <- Matrix(traindata1,sparse=T) # 利用Matrix函数,将sparse参数设置为TRUE,转化为稀疏矩阵
traindata3 <- data.matrix(traindata[,14]) # 将因变量转化为numeric
traindata4 <- list(data=traindata2,label=traindata3) # 将自变量和因变量拼接为list
dtrain <- xgb.DMatrix(data = traindata4$data, label = traindata4$label) # 构造模型需要的xgb.DMatrix对象,处理对象为稀疏矩阵


testdata1 <- data.matrix(kc_test[,c(1:13)]) # 将自变量转化为矩阵
library(Matrix)
traindata2 <- Matrix(testdata1,sparse=T) # 利用Matrix函数,将sparse参数设置为TRUE,转化为稀疏矩阵
traindata3 <- data.matrix(traindata[,14]) # 将因变量转化为numeric
traindata4 <- list(data=traindata2,label=traindata3) # 将自变量和因变量拼接为list
dtest <- xgb.DMatrix(data = testdata1) # 构造模型需要的xgb.DMatrix对象,处理对象为稀疏矩阵


param <- list(max_depth=6,eta=0.03) # 定义模型参数
model <- xgboost(params=param,data = dtrain,nrounds = 15)

pred <- predict(model,dtest)
predict_data<-pred
str(pred)

write.csv(predict_data,file="G:/QQ下载的文件ggle_train_6.csv")

 

你可能感兴趣的:(数据处理--R语言,R_数据分析)