我的数据有一些离散字段,或者换句话说,枚举值。例如,在我的数据中,我有一个像“deviceType”这样的字段,它可以采用“Handheld”和“Desktop”这样的值。其他字符串属性可能是 url。然而,它们本质上缺乏距离的概念,因此不能被“矢量化”。此外,其中一些非常重要和有意义。如何将它们合并到聚类过程中?
我想到的一种解决方案是将它们拆分为新的布尔字段(维度)。有没有办法在 Mahout 中表示这一点?
我还有什么其他选择?
我的数据有一些离散字段,或者换句话说,枚举值。例如,在我的数据中,我有一个像“deviceType”这样的字段,它可以采用“Handheld”和“Desktop”这样的值。其他字符串属性可能是 url。然而,它们本质上缺乏距离的概念,因此不能被“矢量化”。此外,其中一些非常重要和有意义。如何将它们合并到聚类过程中?
我想到的一种解决方案是将它们拆分为新的布尔字段(维度)。有没有办法在 Mahout 中表示这一点?
我还有什么其他选择?
其他选项可能是让您自己的程序生成稀疏向量,可以将其作为输入给 mahout 进行聚类。例如,输入:
www.domain1.com/page1
www.domain1.com/page2
www.domain2.com/page1
我们可以像这样将上面的 url 拆分成主机、路径、参数
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 进行聚类。