小编D_H*_*D_H的帖子

不同的结果:R 中的“xgboost”与“caret”

我尝试在 R 中设置 xgboost 分类模型

  1. 使用 xgboost 库
  2. 带插入符号

但尽管我使用相同的设置(?),我得到了不同的结果(例如,对测试数据集的不同预测)。我使用来自 mlbench 库的 Ionosphere 数据集,并尝试在本示例中尽可能保持简单(没有交叉验证、参数调整等):

有人知道为什么我得到不同的结果(见下文)。由于 caret 只是 xgboost 的包装器(“它只是调用相同的 xgboost 包”),因此结果应该完全相同。

library(caret)
library(xgboost)
library(mlbench)

#####
###Load & Prepare Data
#####
data(Ionosphere)
dataset <- Ionosphere
dataset <- dataset[,-c(2)] #remove (Constant everywhere)
dataset$V1 <- as.numeric(as.character(dataset$V1)) #factor to numeric
dataset$Class<-ifelse(dataset$Class=="good",dataset$Class<-1,dataset$Class<-0) #convert good->1 and bad->0
dataset$Class<-as.factor(dataset$Class) #convert to factor

#####
###Create Train & Test Dataset
#####
set.seed(1992)
validation_index<-createDataPartition(dataset$Class, p=0.8, list=FALSE)
testSet<-dataset[-validation_index,]
trainSet<-dataset[validation_index,]

#xgb.DMatrix for xgb.train() ("trainSet[c(34)]=trainSet$Class")
xgb.trainData<-xgb.DMatrix(data = data.matrix(trainSet[,-c(34)]), label = data.matrix(trainSet$Class))
xgb.testData<-xgb.DMatrix(data = …
Run Code Online (Sandbox Code Playgroud)

r classification machine-learning r-caret xgboost

7
推荐指数
0
解决办法
4674
查看次数

标签 统计

classification ×1

machine-learning ×1

r ×1

r-caret ×1

xgboost ×1