如何处理截尾的实例?

时间:2018-02-26 22:46:50

标签: machine-learning keras survival scikit-survival

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

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

1)获得此审查数据率是否正常?我们该如何处理这类案件?

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

3)我用后续变量替换了删失数据,而根据我数据集中审查数据的高百分比,我认为它不合适。我意识到我应该使用像Calibration这样的另一种方法,但是我无法找到python库来做这件事。你能帮帮我吗?通常用于Pyhton中的校准?

1 个答案:

答案 0 :(得分:0)

我认为处理审查数据的一种方法是使用一种模型来预测Cox比例风险/ kaplan meier。看起来这里有一个框架researchgate.net/publication/…。它有一个关联的GitHub github.com/jaredleekatzman/DeepSurv。不幸的是,在Theano不是Keras

我收回我所说的话。我找到了一个keras版本(尽管我认为它仍然是theano的后端;更改起来并不难)!

https://github.com/mexchy1000/DeepSurv_Keras/blob/master/Survival_Keras_lifelineExample.py