r - gbm(广义提升模型)函数未正确训练
问题描述
我正在尝试使用“gbm”功能进行预测,尽管程序在使用时无法识别出明确的错误
head (boos.model)
和
head (pred_boos)
我没有 0 和 1 作为预测,我不知道如何解决它。我已经尝试过其他型号并达到要求data.test = data [801: 1000]
,一切都很好。所以我猜错误是在继续的行中。我的代码如下:
library("mltools")
library("caret")
library("MASS")
library("MLmetrics")
library("gbm")
library("mlbench")
data=data.frame()
for (i in 0:4){
mu1=c(0+i,4)
Sigma= matrix(c(1,0.5,0.5,1),ncol=2)
X1_distribution=mvrnorm(n=100,mu=mu1,Sigma=Sigma)
mu2=c(5-i,1)
Sigma= matrix(c(1,0.5,0.5,1),ncol=2)
X2_distribution=mvrnorm(n=100,mu=mu2,Sigma=Sigma)
X=rbind(X1_distribution,X2_distribution)
Y=c(rep(1,100),
rep(0,100))
data.aux=data.frame(Y=Y,
X1=X[,1],
X2=X[,2])
data=rbind(data,data.aux)
}
data.train=data[1:800,]
data.test=data[801:1000,]
boos.model= gbm(form=formula('factor(Y) ~ .'),
data=data.train,
distribution='bernoulli',
n.trees=5000,
interaction.depth = 4)
#head(boos.model)
pred_boos= predict(boos.model,
newdata=data.test,
n.trees=5000)
#head(pred_boos)
解决方案
推荐阅读
- python - 在 pytest 中为多个测试运行相同的进程
- r - 使用 R,是否有更好的方法来收集具有多个记录系列的每个人的记录开始和结束天数
- flutter - 在堆栈和列中包装定位小部件时出现颤振错误(无限像素溢出的 RenderFlex。)
- java - 从一个特定元素中查找所有值
- ios - 如何修复 Xcode 中不等的标签大小?
- windows - 如何更改文件夹中的所有文件夹图标 windows 10
- eclipse - 在 Eclipse 中处理草图未按预期工作
- objective-c - Core Data + CloudKit 迁移:无法在生产模式中的记录 [...] 中创建或修改字段 [...]
- python - SymPy solve():UnboundLocalError:分配前引用的局部变量“solved_syms”
- javascript - Feathersjs TypeError:app.publish 不是函数