Adaboost个人模型性能

ThiruThiru 成员职位:One hundred.大师
2020年4月编辑 帮助
我使用adaboost + KNN作为我的数据,它的性能精度为77.24。&精度,召回率。
Adaboost配置了10个迭代。
是否有任何方法可以查看模型在每次迭代中的性能以及在连续迭代中分配的权重
在rapidminer吗?
请让我知道。谢谢

登记
thiru
标记:

最佳答案

  • varunm1varunm1 主持人,职位:1207年独角兽
    2020年4月编辑 解决方案接受
    你好@Thiru

    1.Adaboost将尝试通过在每次迭代中提取错误分类的样本来构建分类器来改进算法。所以,这在训练方面是有效的。这个训练的结果是一个决策树的集合,它被应用于测试数据来检查训练算法的执行情况。所以Adaboost_1到10是训练性能,你可以看到训练模型是基于性能改进的。但测试性能只有67,这意味着你仍然需要调整参数,否则模型就会过拟合。

    2.是的,如果连接了验证操作符的“mod”端口,您将有20个。这样做的原因是,当验证操作符的“mod”端口连接到任何其他操作符或结果时,分割操作符将运行训练端两次。一次训练端在70%(70:30分割)数据(训练数据)上执行,另一次在验证完成后对整个数据进行训练。为了避免这种情况,只需删除验证操作符的“mod”端口之间的连接。如果你想使用它,很容易区分,前10个表现与70%的训练数据相关,而第11到20个表现与整个数据相关。
    问候,
    Varun
    https://www.varunmandalapu.com/

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

    lionelderkrikor Thiru

答案

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

    这就是你要找的吗?图像在Adaboost运算符内,我们正在计算训练性能并使用“Store”运算符为每次迭代存储它。存储操作符使用的命名约定是“Adaboost_%{execution_count}”。%{execution_count}宏将帮助存储每次迭代的性能。我不确定我们是否可以提取AdaBoost权重。



    请让我们知道这是否有帮助
    问候,
    Varun
    https://www.varunmandalapu.com/

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

  • ThiruThiru 成员职位:One hundred.大师
    你好@varunm1

    谢谢你的回复。你能详细说明一下如何使用“store”+“macro”来获得性能吗
    在每次迭代期间。我对快速矿工比较陌生。在这个过程中,我尝试设置/生成宏操作符,但是
    这没有帮助。等待您的答复。谢谢你!
  • varunm1varunm1 主持人,职位:1207年独角兽
    (电子邮件保护)

    您不需要生成宏。有预定义的宏,在本例中,我在存储操作符中使用了%{execution_count}宏名。这样做的原因是,Adaboost迭代10次,这意味着你可以得到10次训练表演。由于您需要所有10个性能,因此需要使用动态名称保存,该名称将在每次迭代后更新。因此,为了做到这一点,我使用“Adaboost_%{execution_count}”作为存储性能的名称。%{execution_count}将计算特定操作符执行的次数,因为存储操作符位于AdaBoost内部,它将迭代10次,并将性能命名为Adaboost_1, Adaboost_2, Adaboost_3,…

    请查收附件。rmp文件。将其导入RM并在Adaboost操作符中检查。

    adaboost.rmp 9.4 k
    问候,
    Varun
    https://www.varunmandalapu.com/

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

    lionelderkrikor
  • ThiruThiru 成员职位:One hundred.大师
    你好@varunm1,谢谢你的回复。在那里我可以看到所有10个模型的性能。验证操作符的平均输出?我们在adaboost +决策树的情况下,你使用的情况。如果我选择adaboost + KNN,我无法查看所有10个模型。你能帮我看一下这个吗?谢谢

    登记
    thiru
  • varunm1varunm1 主持人,职位:1207年独角兽
    2020年4月编辑
    你好@Thiru

    您不能直接查看它们,您需要先使用store操作符存储它们。这是我在附件的流程中所做的。您需要更改存储位置,因为前面的存储链接到我的存储库。你需要命名的结果在存储与宏通知在我之前的帖子。一旦完成并运行该过程,存储操作员将存储adaboost_1, adaboost_2, ....的结果在存储操作符中提到的存储库中

    像我一样附上商店操作员。然后将它指向一个存储库位置,然后将其命名为Adaboost_%{execution_count},然后运行process并检入该存储库位置,您将找到结果
    问候,
    Varun
    https://www.varunmandalapu.com/

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

  • ThiruThiru 成员职位:One hundred.大师
    你好@varunm1

    谢谢你的回复。我只看了你发过来的文件。
    好的,我知道了。我通过新流程检索了这些存储操作符并查看了结果。

    1.Adaboost_1的性能为:89.04%。Adaboost_10显示:99.13%。
    但整体模型性能仅为:67.74%。

    是因为- adaboost_1到adaboost -10是对训练数据而不是测试数据执行的吗?& 67.74%来自测试数据?

    2.你发来的文件。显示adaboost_1到Adaboost_20的计数。而no。在adaboost操作符中迭代
    被称为10。怎么得到20?

    等待您对上述问题的答复。谢谢

    登记
    thiru


  • ThiruThiru 成员职位:One hundred.大师
    谢谢。澄清。

    登记
    thiru
  • 奥瑞丽奥瑞丽 成员职位:1新手
    2022年3月编辑
    @varunm1 @Thiru
    我的问题与Thiru的第二个问题相同,最后一个问题是“如果AdaBoost运算符中的迭代次数被提到为10。我们如何得到20个模型的结果?”
    你能告诉我原因吗?
    谢谢!

    问候,
    奥瑞丽
登录注册置评。