我的数据包含一些离散字段,或者以其他方式表示枚举值。例如,在我的数据中,我有一个类似'deviceType'的字段,可以使用“Handheld”和“Desktop”之类的值。其他字符串属性可能是网址。然而,它们本身缺乏距离的概念,因此不能“矢量化”。此外,其中一些非常重要和有意义。如何将它们合并到群集过程中?
我想到的一个解决方案是将它们拆分为新的布尔字段(维度)。有没有办法在Mahout中表现出来?
我还有其他选择吗?
答案 0 :(得分:0)
其他选项可能是让您自己的程序生成稀疏向量,可以将其作为输入提供给mahout进行聚类。 例如,输入:
www.domain1.com/page1
www.domain1.com/page2
www.domain2.com/page1
我们可以将上面的网址拆分为主机,路径,这样的参数
www.domain1.com page1
www.domain1.com page2
www.domain2.com page1
我们可以使用字符串,整数键值对,如下所示
(www.domain1.com, 1)
(page1, 2)
(page2, 3)
(www.domain2.com, 4)
和稀疏的矢量如下
{1:1.0, 2:1.0}
{1:1.0, 3:1.0}
{4:1.0, 2:1.0}
上面的内容可以作为mahout的输入给出。