两个不同数据集之间的规范化

ThiruThiru 成员职位:One hundred.大师
你好,

我的理解是,“Normalize”操作符是在特定数据集的属性内进行规范化。

然而,我有一个案例:

我用一个特定的数据集(a)训练和测试了分类模型。

当使用新的数据集(B)部署时-属性的大小与上述数据集(A)不同。

例如:数据集“A”中的属性“X”的比例为:0到100
数据集'B'中的属性'X'的比例为:0到350

我的qn。是:

快速挖掘器是否有任何操作符来规范化两个不同数据集之间?或者我们必须在输入之前手动操作。

请告诉我。谢谢。

thiru







Jasmine_

答案

  • rfuentealbarfuentealba 主持人,RapidMiner认证分析师,会员,大学教授职位:568独角兽
    你好,

    是的,不幸的是。RapidMiner没有办法知道两个数据集包含相同的结构,因此它不知道它需要什么样的准备。但是今天我要给你一个小窍门,就在袖子下面。这是非常基本的,但可能对你有帮助。

    例如,对于培训,我有这样一个简单的过程:





    我做了一些小的修改,而不是在过程中检索数据和做出决策树:


    …然后创建一个“主”进程,从这里调用其余进程:



    您是否看到“执行准备数据”操作符被调用两次?它是拖放要执行的进程的结果。如果像这样嵌入代码,实际上可以节省很多时间,因为可以重用过滤器。

    希望这能帮到你,

    罗德里戈。
    sgenzer Jasmine_
  • BalazsBaranyBalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:920独角兽
    @Thiru

    这是一个概念问题。
    对于一个模型来说,属性X的值为30(例如-0.2)意味着什么?例集B中的值为30,模型是否应以同样的方式处理?

    RapidMiner允许您存储来自规范化的“预处理模型”,并将其应用于新数据(Retrieve = > apply model)。这将确保预测模型从相同的数字中看到相同的规范化输入。(在您的例子中,如果X = 350,则A的规范化模型将给B分配一个高值,但这是正确的方法。)

    使用组模型从规范化和预测模型中构建一个堆叠模型甚至更优雅。(帮助中的示例过程说明了这个概念。)您将在左侧的交叉验证中执行此操作,然后仅在右侧应用分组模型。这是概念上正确的方法。

    @rfuentealba在一般情况下是正确的。但是,以不同的方式规范化数据和模型意味着什么?如果你将模型应用于单个例子,你如何规范化*一个*例子?如果您没有很好的理由以另一种方式进行规范化,则应该使用所描述的方法之一来保留模型参数的规范化。

    问候,
    Balazs
    sgenzer Jasmine_
登录注册置评。