如何比较支持向量机和随机森林的结果?

JoanneyuJoanneyu 成员职位:13贡献我
你好,
我尝试使用Auto Model中的预测,但是遇到了支持向量机和随机森林的结果的几个问题。
  1. 我想知道为什么SVM和RF的结果几乎不匹配?例如,基于SVM结果,属性1的权重最高,但它成为RF结果中权重最低的属性之一。
  2. 为什么支持向量机中有几个属性的权重为0 ?是否可能这些属性对模型的权重为0,即使我在输入选择中只选择了那些标记为“绿色”的属性?但这在射频中没有发生。
  3. 继续问题2,我尝试在输入选择中使用标记为橙色和红色的数据。我发现,如果我选择了所有属性(无论绿色、橙色和红色),那么一个属性的权重可能是最高的。然而,该属性实际上被标记为RED。为什么会发生这种情况?在这种情况下,您是否建议我包括所有的属性,以防有任何重要的属性实际上对模型有很大的贡献?
非常感谢!我希望我已经详细地解释了我的问题。
Jasmine_

答案

  • (删除用户)(删除用户) 职位:0学习者三世
    @Joanneyu

    你好

    我想是因为你的数据。您可以创建一个流程,然后使用交叉验证,以便与新流程和交叉验证检查数据。根据结果,你可以理解所有的事情,因为在汽车模型中,60%用于训练,40%用于测试。

    我希望这能有所帮助
    mbs
    Jasmine_
  • varunm1varunm1 主持人,职位:1207年独角兽
    编辑2020年3月
    你好@Joanneyu

    1.我想知道为什么SVM和RF的结果几乎不匹配?例如,基于SVM结果,属性1的权重最高,但它成为RF结果中权重最低的属性之一。

    原因是,它们都是不同的算法。如果您正在查看汽车模型结果的“权重”部分,这是使用解释预测操作符计算的,它将预测(正确和错误)考虑在内。这些是特定于模型的,但与模型无关的全局权重。

    下面解释如何计算这些权重。

    “操作人员直接从解释中推导出这些权重。如果测试数据的真实标签是已知的,那么所有支持局部解释的权重都为正确预测增加了正的权重。所有与本地解释相矛盾的因素都增加了错误预测的权重。如果不知道真实的标签,则全局权重只使用支持的局部权重。”

    2.为什么支持向量机中有几个属性的权重为0 ?是否可能这些属性对模型的权重为0,即使我在输入选择中只选择了那些标记为“绿色”的属性?但这在射频中没有发生。

    因此,灯泡(绿色、红色和黄色)是基于一种称为过滤方法的特征选择类型。该方法利用相关性等统计检验为整个训练数据集提供重要的特征。如前所述,权重是基于解释预测算子计算的,而不是来自算法或过滤方法的常规全局特征重要性。

    3.继续问题2,我尝试在输入选择中使用标记为橙色和红色的数据。我发现,如果我选择了所有属性(无论绿色、橙色和红色),那么一个属性的权重可能是最高的。然而,该属性实际上被标记为RED。为什么会发生这种情况?在这种情况下,您是否建议我包括所有的属性,以防有任何重要的属性实际上对模型有很大的贡献?

    是的,您可以包含所有属性。在添加这些属性而不是权重时,您需要权衡性能。一旦看到添加所有变量时的性能改善,就可以使用它了。

    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施并保持社交距离

    sgenzer Jasmine_ Joanneyu Pavithra_Rao
  • JoanneyuJoanneyu 成员职位:13贡献我
    @varunm1
    非常感谢你提供的信息!很高兴知道这是正常的,支持向量机和射频的结果不会相似。我有23个不同的集群,我测试了其中的5个。

    有时支持向量机表现得更好,有时射频表现得更好。这是可以理解的;然而,我在想,在这种情况下,我应该只坚持一个算法吗?例如,如果SVM在集群1中表现更好,而RF在集群2中表现更好,我不确定是否可以比较这两个集群的结果,因为它们使用不同的算法。
  • varunm1varunm1 主持人,职位:1207年独角兽
    你好@Joanneyu

    你说的23簇是指23类预测吗?

    如果SVM在集群1中表现更好,而RF在集群2中表现更好,我不确定我是否可以比较这两个集群的结果,因为它们使用不同的算法。

    你能告诉我,你所说的集群是什么意思吗?这些是不同的数据集吗?

    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施并保持社交距离

  • JoanneyuJoanneyu 成员职位:13贡献我
    @varunm1
    抱歉,让您误会了。我有23组数据,所以我会在Auto Model中分别运行它们。但我想比较不同数据集的结果。
  • varunm1varunm1 主持人,职位:1207年独角兽
    你好@Joanneyu

    这23组都不一样吗?如果是这样,你就无法比较它们了。如果它们都属于相同的概率分布,则可以根据性能使用单一模型。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施并保持社交距离

  • JoanneyuJoanneyu 成员职位:13贡献我
    编辑2020年3月
    @varunm1嗨,我在所有数据集中都有相同的属性。例如,数据集1的特点是山景,数据集2的特点是海景等等。但是变量是一样的。例如,属性1可能对数据集1中的模型贡献更大,但相同的属性可能对数据集2中的模型没有真正的影响。
  • varunm1varunm1 主持人,职位:1207年独角兽
    @Joanneyu是的,这是可能发生的。即使在所有数据集中有相同的属性,它们的数据分布可能是不同的,这可能是属性权重不同的原因之一。由于我不太了解您的数据,我无法告知在不同的数据集之间比较模型是否是一个好主意。通常,比较发生在相同的数据或相似的数据上(基于分布)。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施并保持社交距离

  • JoanneyuJoanneyu 成员职位:13贡献我
    你好,再一次@varunm1
    回到我之前的问题,因为我还是有点困惑…
    1.你提到“灯泡(绿色、红色和黄色)是基于一种称为过滤方法的特征选择类型”。我想知道你是否知道汽车模型使用的具体指标(如信息增益率,基尼系数等)?

    2.我总共有14个属性。其中12个在0到1之间,2个在1到100之间(但大多数在40到60之间)。如果我只选择基于这12个变量的“绿色”变量,结果中的权重看起来很“正常”(例如,第一个属性的权重是0.236,第二个属性的权重是0.212,然后是0.138,0.124等等)。然而,当我包含后两个属性时(即使我只包含其中一个属性),结果中的权重变得非常小(例如,第一个属性的权重是0.001,那么其余的都是0.000)。我检查了这两个属性是否有多重共线性问题,但似乎没有。我唯一发现的是前12个属性的稳定性都是中高的,而后2个属性的稳定性相对较低。这是一个可能“破坏”数据的潜在问题吗?



    非常感谢你的帮助!非常感谢。

  • varunm1varunm1 主持人,职位:1207年独角兽
    你好@Joanneyu

    对于问题1,颜色灯泡是基于相关性,缺失值,id和稳定性的属性。一旦你得到了灯泡的窗口,只需点击位于右上角某处的“i”符号。您将获得关于分配颜色灯泡的标准的详细信息。

    问题2。一般来说,如果在属性中有不同的尺度,建议将数据规范化,因为不同程度的尺度影响模型。我需要检查自动模型是否会自动这样做。


    现在你的另一个问题是,当不同的属性被添加到绿色属性时,权重会发生变化。是的,他们会改变的。我忘记了它的确切术语,但是当出现新属性时,您的模型的行为方式不同。这并不一定是多重共线性问题。您的模型可以在存在不同的属性时降级或改进。这就是我们使用基于模型的特征选择的原因之一。在自动模型中,基于模型的特征选择是由自动特征工程操作员完成的。我猜这个选项出现在汽车模型窗口的右下方或顶部,在那里你可以选择不同的车型。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施并保持社交距离

  • JoanneyuJoanneyu 成员职位:13贡献我
    编辑2020年3月
    @varunm1非常感谢。(我希望这是我的最后一个问题..)

    我已经将数据规范化了。但问题似乎仍然存在。
    你能再解释一遍吗?即使基于过滤方法,绿色的灯泡表明这些属性至少可以影响模型,不是吗?所以我预计重量至少是0.000左右。

    然而,在权重结果部分,为什么会发生在支持向量机中,只有前几个属性有权重。其余属性的权重完全为零——这意味着它们对模型完全没有贡献。有道理吗?

    为什么这只适用于SVM呢?在随机森林中,即使是排在最后的属性也会有一点贡献(例如权重是0.000…)
  • varunm1varunm1 主持人,职位:1207年独角兽
    编辑2020年3月
    你好@Joanneyu

    如前所述,全局模型权重和局部模型权重是不同的。所以,当你说支持向量机的权重为零时,并不能保证这些是无用的。我建议您查看SVM系数,以了解全局模型级别中属性的重要性。我还希望您检查性能指标,以查看添加这些属性时性能是在增加还是在减少。我想重申一下,你们要找的是局部权重。这些局部权重的计算基于基于相关的局部可解释模型解释方法(LIME)。在这个过程中,我们首先围绕数据中的每个示例生成新的随机样本,并为数据集中的每个示例找到相关权重。最后,有一个算法可以根据支持和矛盾的属性将这些权重相加,从而得到最终的输出。

    为什么会发生在支持向量机上?这些权重依赖于模型和预测。这些权重的变化是基于预测变化的模型。

    如果你能分享你的数据,我可以运行并解释你。您可以尝试阅读LIME模型解释。在rapidminer中使用的是它的一个变体,目前您在任何研究文章中都找不到它。我们会想出一个的。


    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施并保持社交距离

  • JoanneyuJoanneyu 成员职位:13贡献我
    非常感谢!很有帮助!@varunm1
    我已附上我的资料。我想根据12种颜色+饱和度和亮度来预测参与率(EN_total)。更多的解释会有很大帮助!!非常感谢。
登录注册置评。