帮助丢失KNN变量

ferdinand_papaferdinand_papa 成员职位:7贡献我
2019年1月编辑 帮助
大家好,我上传了以下我的流程。到目前为止一切都很顺利。目标是预测变量H N U。对于变量H N,我得到了一个完美的结果,但是没有一个U。但我确信你也能预测U。也许决策树也是一个不错的选择?


如果有人能看一下,并提出一个解决方案,我将非常感激。

干杯


< ?xml version="1.0" encoding="UTF-8"?> <过程version = " 9.1.000”>
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文
<过程扩展= " true " >
< /操作符>
<列出关键= " set_additional_roles " / >
< /操作符>
<列出关键= "列" / >
< /操作符>
< /操作符>
<列出关键= "列" / >
< /操作符>
<列出关键= " function_descriptions " >
< / >列表
< /操作符>
<列出关键= " set_additional_roles " >
< / >列表
< /操作符>
<参数键= "属性"值= " AADSEIT | AATELKZ | APLZ5ST | APLZAAH | APLZAKH | APLZBVD | APLZEIN | APLZFLH | APLZFLI | APLZKKE | BBH0001 | BBH0002 | BBW0001 | BBW0002 | BBW0003 | BEB0001 | BLB0001 | BRP0001 | BRP0002 | BRP0003 | BRP0004 | BRQ0001 | BRQ0002 | BRQ0003 | BRQ0004 | BRW0001 | LRQ0001 | LRQ0002 | LRQ0003 | LRQ0004 | PALTERK | PANREDK | PRSANZW | WRQ0001 | WRQ0002 | WRQ0003 | WRQ0004 | WRQ0005 | WRQ0006 | WRQ0007 | WRQ0008 | WRQ0009 | WRQ0010 | WRQ0011 | WRQ0012 | WRQ0013 | WRQ0014 | WRQ0015 | WRQ0016 | WRW0001 | WRW0002 | WRW0003 | WRW0004 | WRW0005 | WRW0006 | WRW0007 | WRW0008 | WRW0009 | WRW0010 | WRW0011 | WRW0012 | WRW0013 | WRW0014 | WRW0015 | WRW0016 | KDNR " / >
< /操作符>
“参数”<列表键= >
<参数键=”的事例。k“价值= "[1.0;100.0;10;线性]" / >
< / >列表
<过程扩展= " true " >
<过程扩展= " true " >
< /操作符>
< /操作符>
> < /过程
<过程扩展= " true " >
<列出关键= " application_parameters " / >
< /操作符>
<列出关键= " class_weights " / >
< /操作符>
> < /过程
< /操作符>
> < /过程
< /操作符>
<列出关键= " application_parameters " / >
< /操作符>
< /操作符>
> < /过程
< /操作符>
> < /过程

答案

  • lionelderkrikorlionelderkrikor 主持人,RapidMiner认证分析师,会员职位:1195年独角兽
    @ferdinand_papa

    如果不使用数据集运行进程,很难提出解决方案==>您能共享它们吗?

    但是我检查了你的流程。数据科学方法论的一个重要步骤是应用同样的预处理步骤在你的训练中
    设置,在你的测试集和计分表中,在你的例子中
    ——应用归一化到你的测试集里面交叉验证这样的操作符:


    ——应用归一化操作员到你的分数集
    ——应用选择属性分数集的运算符(训练集和分数集的属性必须相同)

    我希望能有所帮助,

    问候,

    莱昂内尔
    varunm1
  • ferdinand_papaferdinand_papa 成员职位:7贡献我
    2019年1月编辑
    我会试试的:)谢谢,当然我也附上了
  • lionelderkrikorlionelderkrikor 主持人,RapidMiner认证分析师,会员职位:1195年独角兽
    @ferdinand_papa

    你的数据集不平衡。你的“U”类在你的训练数据集中是少数:


    在这种情况下,算法很难在这类目标变量之间建立相关性
    还有你的常规属性。
    你观察到的是,当你在测试中得分时,你没有像预测的那样得到“U”。
    例如,你选择训练和优化一个基于accuracy =>的kNN模型,RM的结论是k = 41个邻居。
    当你给一个测试集中的一个新点打分时,你的测试点被大多数属于“U”类的训练点包围的概率
    非常低,在实践中,在你的情况下,是空的,这就是为什么你没有“U”的预测类:


    如果你的目标是正确检测/预测类“U”,一个解决方案是在你的训练集采样(增加你的“U”类在你的训练数据集中的比例)之后训练一个模型,并设置主要标准性能操作符weighted_mean_recall(在交叉验证操作符).
    例如这些比例:


    你会得到这些结果:


    希望现在你明白了

    问候,

    莱昂内尔

    sgenzer Maerkli ferdinand_papa
  • ferdinand_papaferdinand_papa 成员职位:7贡献我
    工作得很完美,非常感谢!!
    lionelderkrikor sgenzer
登录注册置评。