将标称变换反向映射到数值变换

labbronxlabbronx 成员职位:5贡献我
2020年6月编辑 帮助

我用k均值对数据进行聚类。为此,我使用nominal To numeric操作符将标称值转换为数字值,但将编码类型参数设置为“唯一整数”。我如何逆转这个转换,在输出中我可以看到这些值在转换之前在集群中是什么。例如,如果"sandwich"被映射到0,我想把0反向映射回sandwich。

最佳答案

  • 炉膛温度炉膛温度 成员职位:106独角兽
    解决方案接受

    这可能不是最优雅的解决方案,但你可以这样做:

    在类型对话之前乘以您的示例集。将乘法运算符的第一个输出连接到当前流程,然后添加连接运算符并将结果示例集连接到左侧端口。将multiply的第二个输出连接到连接的右端口。

    您将需要一个id来进行连接,并且您可能希望进行一些预处理(重命名属性等)。

    laavila

答案

  • Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,成员职位:1761年独角兽
    我通常就是这么处理的。
  • labbronxlabbronx 成员职位:5贡献我

    谢谢,这有用。我从来没想过。

  • Telcontar120Telcontar120 主持人,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽

    如果名义类别本身不是有序的,那么要非常小心“唯一整数”映射。例如,如果将三明治、面包和黄油映射为1,2,3,则k-means认为1到3之间的距离大于1到2或2到3之间的距离。但是对于无序的类别,这没有任何意义,并且在聚类时可能导致奇怪和扭曲的结果。如果标称类别没有排序,最好使用数字虚拟编码或简单地使用混合欧几里得距离(它假设所有不相同的标称值之间的距离为1,正是为了避免这个问题)。

    布莱恩·T。
    Lindon合资企业
    乐鱼平台进入来自认证RapidMiner专家的数据科学咨询
    Thomas_Ott 炉膛温度 laavila
  • labbronxlabbronx 成员职位:5贡献我

    谢谢。我最初使用了虚拟编码,但它破坏了记录,因为我有许多无序的标称值。我将尝试使用混合欧氏距离。如何使用它呢?

  • Thomas_OttThomas_Ott RapidMiner认证分析师,RapidMiner认证专家,成员职位:1761年独角兽

    假设每个属性没有太多标称值,您也可以使用效果代码。

  • labbronxlabbronx 成员职位:5贡献我

    没关系,我知道怎么用混合欧氏距离了

  • laavilalaavila 成员职位:4贡献我
    我也有这个问题。我已经尝试了提出的解决方案,使用乘法运算符,但我得到的最终结果只是具有唯一整数值的示例集(我不太了解具有此值的数据)。我甚至在乘法运算符之前生成了一个id属性,在所有过程之后,我也使用了连接运算符。我不能再得到标称值了。有人知道我做错了什么吗?: #
    谢谢!
  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区经理,成员,大学教授,PM版主职位:2959年社区经理
    @laavila对不起,这是一个旧的线程。你能把你的过程XML贴出来,让我们看看你在做什么吗?斯科特
    laavila
  • jm_echeverria40jm_echeverria40 成员职位:1学我
    你好所有的,

    在最新版本的程序中是否有当前公认的解决方案?
    他怎么能在2020年做到这一点呢?
    同样提到的方法有效吗?

    如果可能请提供图表!
登录注册置评。