我是CS毕业生,但对数据科学非常陌生。我可以就我要解决的问题使用一些专家建议/见解。我经历了gaggle.com上的泰坦尼克号教程,我认为这很有帮助,但我的问题有些不同。

我试图根据年龄,性行为和其他因素来预测糖尿病风险: http://www.healthindicators.gov/indicators/diabetes-new-cases-per-per-1000_555/profile/classicdata

数据为每个维度(年龄,性别等)每1000人提供新案例。我想做的是设计一种方法来预测尺寸(年龄,性别等)的列表,是新诊断的概率因素。

到目前为止,我的策略是将这些数据加载到R中,并使用一些软件包来创建决策树,类似于我在Kaggle.com上的泰坦尼克号示例中看到的,然后在维度列表中馈送。但是,我有点不知所措。关于我应该学习的任何方向,包装/方法/示例都会有所帮助。

有帮助吗?

解决方案

聚合数据

由于您仅获得了汇总数据,而没有单个示例,因此,诸如决策树之类的机器学习技术并不会真正为您提供太大帮助。这些算法通过查看单个示例中的相关性来获得很大的吸引力。例如,肥胖和40岁以上的风险增加可能比肥胖或40多个个人风险的总和高得多(即效果大于其部分的总和)。汇总数据丢失了此信息。

贝叶斯的方法

但是,在明亮的一面,使用这样的汇总数据非常简单,但需要一些概率理论。如果$ d $是该人是否患有糖尿病和$ f_1,则 ldots,f_n $是您提供的链接的因素,如果我正确地进行数学,我们可以使用公式:$ text {prob {prob }(d | f_1, ldots,f_n) propto frac { prod_ {k = 1}^n text {prog}(d | f_k)} {n-1}} $$(证明这是发现的延伸 这里)。这假定因子$ f_1, ldots,f_n $在有条件地独立给定$ d $,尽管这通常是合理的。要计算概率,请计算$ d = text {diabetes} $和$ neg d = text {no diabetes} $的输出,然后用它们的总和将它们划分为1。

例子

假设我们有一个已婚,48岁的男性。查看2010-2012数据,有0.73%的人患糖尿病($ text {prog}(d)= 0.73 %$),有0.77%的已婚人士患糖尿病($ text {prog}(d | | f_1)$$ = 0.77 %$),1.02%的年龄45-54糖尿病($ text {prog}(d | f_2)= 1.02 %$),男性的0.70%得到糖尿病($ text {prob}(d | f_3)= 0.70 %$)。这给我们提供了非正常的概率:$$ begin {align*} p(d | f_1,f_2,f_2,f_3)&= frac {(0.77 %)(1.02 %)(1.02 %)(0.70 %)} {((0.70 %)} {( 0.73 %)^2}&= 0.0103 p( neg d | f_1,f_2,f_2,f_3)&= frac {(99.23 %)(98.98 %)(99.30 %)} {(99.27){(99.27 %)^2}&= 0.9897 end {align*} $$将它们归一化以添加到一个(在这种情况下它们已经这样做),我们有1.03%的机会患糖尿病和98.97%他们没有糖尿病的机会。

许可以下: CC-BY-SA归因
scroll top