职业院校专题建设网站,wordpress 火箭,成都设计公司地址,南阳网站制作GBM是一种集成学习算法#xff0c;它结合了多个弱学习器#xff08;通常是决策树#xff09;来构建一个强大的预测模型。GBM使用“Boosting”的技术来训练弱学习器#xff0c;这种技术是一个迭代的过程#xff0c;每一轮都会关注之前轮次中预测效果较差的样本#xff0c;…GBM是一种集成学习算法它结合了多个弱学习器通常是决策树来构建一个强大的预测模型。GBM使用“Boosting”的技术来训练弱学习器这种技术是一个迭代的过程每一轮都会关注之前轮次中预测效果较差的样本以便更专注地对它们进行建模。这有助于逐步减少整体预测误差。
#1 清空
rm(list ls())
gc()
#2 导入包
library(survival)
library(gbm)
help(packagegbm)
#3 拆分训练集和测试集
data-lung
set.seed(123)
train - sample(1:nrow(data), round(nrow(data) * 0.70))
train - data[train, ]
test - data[-train, ]
#4 建立模型
set.seed(123)
gbm_model - gbm(Surv(time, status) ~ .,#建模distribution coxph,#分布data train,#数据n.trees 5000,#树数量shrinkage 0.1,#学习率或步长减少interaction.depth 5,#每棵树的最大深度n.minobsinnode 10,#最小观测次数在树的终末节点cv.folds 10#交叉验证次数
)
plot(gbm_model)#通过“积分”其他变量绘制所选变量的边际效应。
summary(gbm_model)#绘图从高到低显示因素的相对重要性 #5 预测
best.iter - gbm.perf(gbm_model, plot.it TRUE, method cv)
pred_train - predict(gbm_model, train, n.trees best.iter)
pred_test - predict(gbm_model, test, n.trees best.iter)
#6 模型评价
#计算ROC
library(survivalROC)
roc_area - survivalROC(Stimetrain$time,statustrain$status,marker pred_train,predict.time100,methodKM)
# 计算C-index
Hmisc::rcorr.cens(-pred_train, Surv(train$time, train$status))
Hmisc::rcorr.cens(-pred_test, Surv(test$time, test$status))
#7 计算生存概率
# 计算累积
CH- basehaz.gbm(train$time, train$status, pred_train, t.eval 300, cumulative TRUE)
exp(-exp(pred_test)*CH)