在j2ee中使用数据挖掘的健康预测系统

Health prediction system using data mining in j2ee

我想开发一个使用数据挖掘的健康预测系统。任何人都可以给我一些关于如何开发它的提示吗?

要求是,当用户输入第一个症状时,系统将检查有多少疾病具有相同的症状,然后系统将提供一些与症状相关的选项,以便区分这些疾病并推断出是什么疾病是。

这里添加的组件(这是数据挖掘和预测部分的用武之地)是,当用户输入症状时,它还应该建议他们可能也正在经历的其他症状。例如,如果他们发烧,那么他们很可能也有发冷,所以当他们输入 "fever" 时,应该建议 "chills" 作为附加症状。

这是一种可能的数据库设计:

下面是数据的示例: 所以,基本上,这就是说流感的症状是发烧、发冷和疲劳,但感冒的症状只是 "fatigue."(显然这还不够完整,但可以很好地说明)。

一个人搜索了一种症状为 "fever" 和 "chills." 的疾病,第二个人搜索了一种症状为 "chills." 的疾病,第三个人搜索了一种症状为 "chills." 的疾病是 "fever" 和 "fatigue."

搜索将使用存储过程完成:您输入一个或多个症状,它会将搜索记录插入 SearchHistory table 并检索与这些相关的疾病列表。

如果您想计算同时出现两种症状的几率,您可以使用一个用户定义的函数来计算包含这两种症状的搜索百分比。例如,如果搜索 1、2 和 3 同时具有 "fever" 和 "chills" 作为症状,但搜索 4 具有 "fever" 和 "fatigue",而搜索 5 仅具有 "chills," 搜索 "fever" 的人显然有 60% 的机会也会搜索 "chills."

搜索 "fever" 的人也有 20% 的可能性也会搜索 "fatigue,",但在这种情况下,样本显然太小,无法确定这是否真的具有代表性。 (这是此设计的缺点之一 - 随着时间的推移,您的预测会变得更好,但早期预测可能不太准确)。

这样做的好处是您不必手动输入任何有关任何症状同时出现的几率的数据,系统会 "automatically" 随着时间的推移进行调整和改进(即您的预测会随着您获得更多数据而不断改进),具体取决于您系统的用户搜索的内容。

当然,不利之处在于,一旦人们开始使用该系统,您只能获得有关可能同时出现的症状的数据,因此早期用户无法获得预测的优势,并且需要不久之前,它能够准确预测可能出现的症状 "go together."(想想上面的案例,您预测 "fever" 和 "fatigue" 一起出现的可能性为 20%仅在一次搜索中)。

希望这对一些人有所帮助。