我有一个名义和数字特征的数据集。如果可能,我希望能够完全用数字表示此数据集。

理想情况下,我可以针对n元名义特征执行此操作。我意识到在二进制情况下,一个可以用整数表示两个标称值。但是,当名义特征可以具有许多排列时,这怎么可能呢?

最佳答案

有许多技术可以将分类属性“嵌入”为数字。

例如,给定一个可以采用值redgreenblue的分类变量,我们可以将其简单地编码为三个属性isRed={0,1}isGreen={0,1}isBlue={0,1}

尽管这很流行,而且显然会“起作用”,但许多人都认为谬误是认为以后的数值处理技术将产生合理的结果。

如果您运行例如以这种方式对数据集进行编码的k均值之后,结果可能不会太有意义。特别是,如果获得诸如isRed=.3 isGreen=.2 isBlue=.5之类的均值,则无法合理地将其映射回原始数据。更糟糕的是,使用某些算法,您甚至可能会得到isRed=0 isGreen=0 isBlue=0

我建议您尝试处理实际数据,并尽量避免编码。如果您有一个好的工具,它将允许您使用混合数据类型。不要试图使所有内容成为数值向量。这种数据的数学视图非常有限,并且数据不会为您提供所有需要从该视图中受益的数学假设(例如度量空间)。

关于machine-learning - 数字表示名义数据,同时保留数据语义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20272828/

10-12 19:28
查看更多