R 如何使用XGBoost进行预测
我正在尝试使用XGBoost创建我的第一个模型,但我不知道如何实际获得预测值。我能够训练一个模型并得到均方根误差值,但我不知道从这里开始该怎么做 我的数据集是关于房价的。我使用的变量包括:地块正面、地块面积、建筑类型、总质量、总秒数、全浴、半浴、TotRmsAbvGrd、YearBuild、TotalBsmtSF、卧室ABvgr和GrLivArea。这些变量中的一些是数字,一些是字符串 这是我的代码和出错的地方:R 如何使用XGBoost进行预测,r,xgboost,R,Xgboost,我正在尝试使用XGBoost创建我的第一个模型,但我不知道如何实际获得预测值。我能够训练一个模型并得到均方根误差值,但我不知道从这里开始该怎么做 我的数据集是关于房价的。我使用的变量包括:地块正面、地块面积、建筑类型、总质量、总秒数、全浴、半浴、TotRmsAbvGrd、YearBuild、TotalBsmtSF、卧室ABvgr和GrLivArea。这些变量中的一些是数字,一些是字符串 这是我的代码和出错的地方: library(data.table) library(caret) librar
library(data.table)
library(caret)
library(Metrics)
library(xgboost)
train<-fread("train_data.csv")
test<-fread("test_data.csv")
sub_train<-train[,.(LotFrontage,LotArea,BldgType,OverallQual,OverallCond,FullBath,HalfBath,TotRmsAbvGrd,YearBuilt,TotalBsmtSF,BedroomAbvGr,GrLivArea,SalePrice)]
sub_test<-test[,.(LotFrontage,LotArea,BldgType,OverallQual,OverallCond,FullBath,HalfBath,TotRmsAbvGrd,YearBuilt,TotalBsmtSF,BedroomAbvGr,GrLivArea)]
sub_test$SalePrice<-0
y.train<-sub_train$SalePrice
y.test<-sub_test$SalePrice
dummies <- dummyVars(SalePrice~ ., data = sub_train)
x.train<-predict(dummies, newdata = sub_train)
x.test<-predict(dummies, newdata = sub_test)
dtrain <- xgb.DMatrix(x.train,label=y.train,missing=NA)
dtest <- xgb.DMatrix(x.test,label=y.test,missing=NA)
param <- list( objective = "reg:linear",
gamma =0.02,
booster = "gbtree",
eval_metric = "rmse",
eta = 0.02,
max_depth = 10,
subsample = 0.9,
colsample_bytree = 0.9,
tree_method = 'hist'
库(data.table)
图书馆(插入符号)
图书馆(指标)
图书馆(xgboost)
培训如果您试图预测销售价格,您可能需要尝试的是pred如果您试图预测销售价格,您可能需要尝试的是pred
XGBm<-xgb.cv( params=param,nfold=5,nrounds=2000,missing=NA,data=dtrain,print_every_n=1)
pred<-predict(XGBm, sub_test$SalePrice)
watchlist <- list(eval = dtest, train = dtrain)
XGBm<-xgb.train( params=param,nrounds=200,missing=NA,data=dtrain,watchlist,early_stop_round=20,print_every_n=1)
sub_train2 <- xgb.DMatrix(x.train,label=y.train,missing=NA)
pred1<-predict(XGBm, sub_train$SalePrice)