问题标签 [scikit-survival]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1753 浏览

python - 如何从 python 中拟合的 scikit-survival 模型解释 .predict() 的输出?

我很困惑如何解释scikit-survival 中.predict拟合模型的输出。CoxnetSurvivalAnalysis我已经阅读了scikit-survival 中的笔记本 Intro to Survival Analysis和 API 参考,但找不到解释。以下是导致我困惑的一个最小示例:

所以这是进入模型的X:

...继续拟合模型并生成预测:

preds具有与 相同数量的记录X,但它们的值与 中的值完全不同data_y,即使在它们拟合的相同数据上进行预测时也是如此。

输出:

那么究竟是preds什么?显然.predict,这里的含义与 scikit-learn 中的完全不同,但我不知道是什么。API 参考说它返回“预测的决策函数”,但这是什么意思?以及如何在yhat给定的几个月内达到预测的估计值X?我是生存分析的新手,所以我显然遗漏了一些东西。

0 投票
1 回答
375 浏览

machine-learning - 如何处理审查实例?

我正在开展一个项目,使用机器学习方法和包含大约 900 个变量的数据集来预测事件(移植失败)的日期,我是这个领域的新手,我不确定我是否走在正确的轨道上。

起初,我使用神经网络在 python 中使用 Keras 库进行预测,然后我发现我的数据中有 70% 的审查实例(Y 变量)。但是,除了 Y 之外,我还有一个后续变量。所以,我得出结论,我不应该使用神经网络来解决这类问题,而且我必须事先处理审查数据。现在我有三个问题:

1)有这样的审查数据率是否正常?我们应该如何处理这种情况?

2) 我的结论是否正确,即神经网络不是解决我的问题的最佳方案?如果不是,最常见的机器学习方法是什么?我为此目的找到了生命线和 scikit-survival 包,但我不知道哪个更好,它是正确的解决方案。

3)我用后续变量替换了审查数据,而根据我的数据集中审查数据的高比例,我认为它不合适。我意识到我应该使用另一种方法,如校准,但我找不到执行此操作的 python 库。你能帮我解决这个问题吗?Pyhton 中通常用于校准什么?

0 投票
1 回答
115 浏览

pyasn1 - 无法安装 scikit-survival 软件包。得到一个 Pyasn1 错误和一个“dill”错误

我一直在尝试安装 scikit-survival 包以进行生存分析,但每当我尝试这样做时,我都会收到如下所示的错误。

错误

pyasn1-modules 0.1.5 has requirement pyasn1<0.4.0,>=0.3.4, but you'll have pyasn1 0.1.9 which is incompatible. 错误

0 投票
0 回答
85 浏览

python - GBM生存的难以置信的可变重要性:重要性的恒定差异

我有一个关于 GBM 生存分析的问题。我正在尝试在 3614 个人的数据集中量化我的变量(n = 453)的变量重要性。具有可变重要性的结果图看起来很可疑。我以前计算过 GBM,但从未见过这种渐进模式的重要性。重要性条之间通常有不同的距离;在这种情况下,重要性似乎一直存在差异。我的数据框称为 df。由于数据的敏感性,我无法上传样本数据。相反,我的问题涉及获得这些可变重要性的合理性。

GBM_variable_importance

0 投票
0 回答
573 浏览

python - 计算 scikit-survival 中系数的置信区间

我正在使用 scikit-survival 在 python 中尝试 Cox 比例风险,我想知道是否可以计算对数风险系数的标准误差或置信区间?

Python 代码(大部分来自 github 上的教程 - https://nbviewer.jupyter.org/github/sebp/scikit-survival/blob/master/examples/00-introduction.ipynb):

输出

如果我使用生存库在 R 中运行相同的分析:

这是输出:

系数是相同的,但我真的想要一种计算标准误差(在 R 输出中标记为 se(coef))或每个系数的置信区间的方法。

非常感谢!

0 投票
1 回答
455 浏览

python - 预测合同离散保单/条款的生存评分和 CLTV

我正在尝试预测 python 中合同和离散保单(保险)的生存分数和 LTV。我浏览了许多网站,但我只能找到许多非合同(零售)的例子。
我使用了以下代码:

其中 TIME - 是 ACTIVE 客户的保单生效日期和当前日期之间的天数,以及非 ACTIVE 客户的保单生效日期和退保日期之间的天数。
EVENT - 是客户是否活跃的指标。

拟合模型后,我得到了 0.7 的一致性(我觉得还可以)。
从这里开始,我如何继续获得活跃客户的生存分数和终身价值(CLTV)?基本上,我需要预测谁是有价值的客户,他们将长期留在公司。

我通过浏览 Cam 的一些帖子和建议添加了一些代码。

那么输出表示什么:
0.5 PREAMT TIME--- 第 0.5 列中的数字是否表示有 50% 机会关闭的持续时间?
0.75 PREAMT TIME--- 同样 0.75 表示有 75% 机会关闭的持续时间?
RemainingValue--- 是要支付的剩余金额吗?

下一步是什么?

0 投票
0 回答
131 浏览

r - simsurv R 功能:有没有办法定义不同的审查率?

我正在尝试生成一些模拟的生存数据集。我选择了 simsurv 函数,因为它允许我生成时变系数(因此是非比例风险)。但是,我该如何为不同的数据集定义不同的审查率(10%、30%...等)?

0 投票
1 回答
305 浏览

python - 如何在python中绘制生存树

我在 sksurv 中使用生存树开发了生存树。

当我做 getstate 时,我得到以下信息

但是当我使用 tree.plot_tree 时,我收到一条错误消息,说明如下:

AttributeError:“SurvivalTree”对象没有属性“标准”

我也尝试了 graphviz 并得到了同样的错误。

所以基本上我希望绘制生存树以便更好地解释。

0 投票
1 回答
158 浏览

python - 生存分析:concordance_index_censored 的参数(scikit-survival)

我想使用我训练的模型在我的测试集上实现 concordance_index_censored。我不明白哪个应该是我estimateconcordance_index_censored().

它在coxnet_pred的某个地方吗?如果没有,我应该从哪里得到它?我试过coxnet_pred['array']但这不起作用,因为它包含步进函数。

代码如下

0 投票
1 回答
213 浏览

python - 如何使用决策树进行生存分析?

我在理解和在 Python 中应用决策树进行生存分析时遇到问题。我有一个数据集,其中包含变量年龄、体重、肿瘤大小、体积……(所有浮点数),我想知道是否与总体存活率相关(也是浮点数)。

但是我该如何应用决策树呢?在文献中,我只看到了 y_train 必须是分类变量(例如 0 或 1,良性或恶性,...)的示例,但它不适用于浮点数等连续变量。

但是,我想创建一个决策树,以便最终您可以发现肿瘤大小 > xx 且体积 > yy,您的预测总生存期约为 < zzz。

有人可以帮我解决我的问题吗?有谁知道在哪里可以阅读有关此主题的更多信息?