如何解决如何在python中估计二进制结果的最佳切点
我有一个糖尿病患者的数据集,该数据集已用于训练xgboost模型的多种结果,例如中风,截肢等。最初,我们按原样使用连续的数字变量,但是由于例如年龄给我们的结果,年龄越大,患中风的风险越高,我们发现结果中的模棱两可。
但是,对于我们作为医生的我们,我们需要一个更窄的范围,因此我们将这些变量划分为多个等级。确实,这给了我们更多的见解。尽管如此,我们仍看到一些连续的间隔出现在我们的结果中非常接近。
从上面的示例继续,bin(64-78)和bin(79-88)依次出现,并且年龄变量中没有其他bin出现。因此,我们认为,在这种情况下,最好的方法是找到最佳的最佳切点,使年龄开始成为中风的危险因素。
然后,我遇到了这份文档(https://www.mayo.edu/research/documents/biostat-79pdf/doc-10027230),该文档在SAS中说明了如何找到这些切点。我没有足够的经验来自己编程,所以我想知道如何在python中找到这些切入点?
请限制为该语言,我已经看过R,SAS,甚至SPSS示例,但在python中却没有。必须使用某种方法在Python中执行此操作。
解决方法
在不查看数据的情况下很难确定,但是有几种方法可以做到。一种方法是在数据中进行logistic regression,这将为您提供二元类的概率分布,然后可以使用Receiver Operating Characteristic (ROC)来确定最佳阈值,具体取决于对您进行优先级排序的重要性在没有假阳性的情况下的真实阳性率。 您可以找到有关此here
的文章版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。