为什么Replace操作符只接受标称值?
Christos_Karapapas
成员职位:25因素二世
我要做的一般概念是,我已经训练了一个模型,现在我想把它应用到一个例子上。
我的原始数据集有太多的属性,所以我想,为了不手工编写所有这些值,只是在训练期间存储其中的一部分,然后通过范围1-1检索和过滤以获得单个示例。
然后替换它的一些属性的值,看看预测结果。
因此,当我使用Replace操作符替换一个标称属性的值时,一切正常。
但是,当我用它来代替一个整数属性的值,我得到以下错误“错误的值类型属性的值类型整数,应该是标称”。
是否有一种方法可以避免将非标称属性的类型更改为标称,只是为了执行替换操作,然后将它们更改回原始类型?
我正在尝试的工作是在替换之前从数值转换为多项式,然后在替换之后从标称转换为数值,对于那些特定的属性。然而,这在Apply模型期间给了我一个错误,即“输入的ExampleSet不匹配训练的ExampleSet”。不适应环境的属性:myIntegerAttribute”。
我的原始数据集有太多的属性,所以我想,为了不手工编写所有这些值,只是在训练期间存储其中的一部分,然后通过范围1-1检索和过滤以获得单个示例。
然后替换它的一些属性的值,看看预测结果。
因此,当我使用Replace操作符替换一个标称属性的值时,一切正常。
但是,当我用它来代替一个整数属性的值,我得到以下错误“错误的值类型属性的值类型整数,应该是标称”。
是否有一种方法可以避免将非标称属性的类型更改为标称,只是为了执行替换操作,然后将它们更改回原始类型?
我正在尝试的工作是在替换之前从数值转换为多项式,然后在替换之后从标称转换为数值,对于那些特定的属性。然而,这在Apply模型期间给了我一个错误,即“输入的ExampleSet不匹配训练的ExampleSet”。不适应环境的属性:myIntegerAttribute”。
0
最佳答案
-
sgenzer 管理员,版主,员工,RapidMiner认证分析师,社区经理,成员,大学教授,PM版主职位:2959年社区经理@chris_skg离散运算符以数值属性作为输入,以标称属性作为输出。所以你不会得到一个错误,说你有数字输入,当标称的要求。
例如,在Golf样本数据集中,温度和湿度是数值属性:
通过bining将它们离散为离散的标称属性:
你当然可以自定义离散化是如何发生的。
斯科特
7
答案
因此,我想说的是,如果你真的想减少一个数值属性中唯一值的数量,更典型的方法是使用分组。在操作面板的清洗->分类文件夹中查看“离散”操作符的整个系列。
这有帮助吗?
斯科特
因此,如果我理解正确的话,我将使用其中一个离散操作符将属性的非标称值转换为标称值的特定范围,以便进行替换。但是,在替换之后,我不会再次绊倒同样的错误“输入ExampleSet不匹配训练ExampleSet。不适应环境的属性……”?