如何提取surv.penalized模型中的非零系数及其名称?
提取surv.penalized模型的非零系数名称与数值
你可以通过以下步骤提取训练后surv.penalized模型中的非零系数及其对应特征名称:
访问训练后的底层模型
mlr3框架中,训练完成的模型会存储在学习器的$model属性中,这是penalized包原生的模型对象。提取系数并筛选非零项
从底层模型中取出系数向量,然后筛选出数值不为0的条目,这些条目的名称就是对应特征名,值为系数数值。
完整代码示例:
# 接你已有的训练代码之后 # 提取模型系数 model_coefs <- penalized$model$coefficients # 筛选非零系数 non_zero_coefs <- model_coefs[model_coefs != 0] # 查看结果 print(non_zero_coefs)
执行后会输出类似如下的结果(具体数值取决于你的训练参数和数据):
time2 time3 -0.02345678 0.01234567
如果需要将结果整理成数据框方便后续处理,可以使用:
library(tibble) non_zero_coefs_df <- tibble( feature_name = names(non_zero_coefs), coefficient_value = as.numeric(non_zero_coefs) ) print(non_zero_coefs_df)
内容的提问来源于stack exchange,提问作者Faiza
相关产品推荐
相关产品推荐

