已知预测因子在疾病预测中的作用

数据挖掘 机器学习 深度学习 数据挖掘 预测建模 特征选择
2022-02-20 19:53:27

我正在努力查明患者是否会在医院中患上这种疾病。

可能是基本信息,但无论如何我只是分享它。

通常通过历史数据,我能够看到在医院或重症监护室待更长时间(更多天)的患者确实患上了这种疾病。

同样,如果他处于通气状态,这也表明他的健康状况

患病和未患病的患者的住院时间和通气时间分布是不同的,我通过肉眼验证了它们。

现在我的问题是

1)我们是否需要将这些作为预测变量(输入变量)包含在我们的模型中?我问是因为我想通过使用这两个变量,模型可能会错过一些对结果有影响的其他输入变量。例如:我可能不知道他的尿素读数是否表明他是否会患病。

基本上我想知道的是我们是否应该将我们确信它们会影响模型结果的变量提供给模型?

或者是帮助我们了解我们不知道的事情的模型。

你能帮我解决这个问题吗?

1个回答

基本上我想知道的是我们是否应该将我们确信它们会影响模型结果的变量提供给模型?

或者是帮助我们了解我们不知道的事情的模型。

看情况,没有一般规律。目标当然是尽可能地预测目标变量,即最大化性能。所以问题是在以下之间找到正确的平衡:

  • 只给出一些已知有助于预测目标变量的特征。在这种情况下,我们使学习算法的事情尽可能简单,以便它可以在提供的功能下以最佳方式执行。缺点:也许还有其他更微妙的迹象可以帮助算法做出更好的预测。
  • 为学习算法提供大量特征。在这种情况下,我们让算法自己找到相关的迹象,希望它能捕捉到人类专家很容易错过的细微线索。缺点:太多的特征容易导致两个问题:过度拟合,当模型依赖于训练集中偶然发生的非常特定的模式时;和冗余,这也会降低某些算法的性能。

数据驱动的答案是在这两个选项之间的频谱上尝试各种特征组合,并在验证集上评估相应的模型(最好使用交叉验证以最小化机会的影响)。这可以手动完成,也可以使用特征选择/提取方法。

[为清楚起见添加:] 在不同特征集(或不同算法)之间选择最佳选项时,需要使用不同于测试集(当然也不同于训练集)的验证集,否则再次存在高估性能的风险。