我应该为该任务使用哪种ML算法?

时间:2020-11-08 17:06:55

标签: machine-learning neural-network data-science

我有一个包含症状和疾病的数据集。每种疾病都包含带有权重的症状(根据重要性)。问题是在这种情况下无法使用监督方法,因为我没有测试集(我只是在表中列出了症状和疾病之间的联系)。我已经使用了一种通过重要性来计算匹配症状的方法,但是如果症状与数据集中的症状不同,该方法将失败。

我想知道是否有可能训练一个模型,该模型能够理解不同症状之间的隐藏联系,并且如果我们选择的症状不同但非常相似,至少可以给出近似的结果。示例:流感有咳嗽,但人们选择了干咳。该模型应考虑基于不同疾病的两种症状之间的相似性。

如果您对文献或算法名称有任何建议,我将不胜感激。

UPD 1:示例:

Example of data for Bronchitis

支气管炎的数据示例

主要思想是根据明确的症状获得可能的疾病。现在,我要匹配症状并求和匹配的权重,即如果我们选择咳嗽+呼吸音,它将为0.441887 + 0.144301。但是,这种方法不灵活且非常严格。目的是训练一个能够应对类似症状的模型。如果我们选择“干咳”,则不应给出0.44,而不能给出0.0

我有一个包含1949种独特疾病和151种症状的数据集。每种疾病至少包含4种症状。

1 个答案:

答案 0 :(得分:0)

为解决这个问题,我建议您继续使用总和作为与数据集中的症状相匹配的症状,而对不存在的症状使用简单的技巧。 您应使用相似度(如果使用字符串,应先使用 Levenshtein ),这样可以得出新症状与数据集中所有症状的相似程度,然后通常找到最相似的症状相似度最高的那一个,由于此比率在O到1之间,因此您可以使用以下公式:

new_weight =相似度比* old_weight

获得new_weight,它是您用于新症状的权重(肯定会比旧的权重要小,但症状名称越相似,它就会越小)

示例:

干咳+呼吸音+发烧:

(在您提供的数据中,干咳与咳嗽最相似,并且假设干咳和咳嗽之间的相似度是.6)

您的支气管炎体重变为:

(。6 * 0.441887)+ 0.144301 + 0.013444

这只是一个起点,依靠它可以开发出更强大的方法