0

我是这个hadoop平台的新手。

我已经走过了k-means implementation 这里 。但我们在这里grouping points。我需要对不同的文件进行分组。所以用户必须能够看到哪个file falls in which group.

有什么想法吗?我搜索了很多但找不到方法。我应该对该代码进行哪些更改。

**UPDATE2**

我想输入 100 个文件。

所以哪个更好——输入 adirectory或输入 file1,file2(as single) 中的所有 100 个文件。我们怎么能handle这样

4

1 回答 1

1

什么是K 均值

毫无疑问,K-means 是最简单的聚类算法。

首先,k-means 是聚类而不是分类。

给你一个人的名字,你不知道是男是女,但是你的朋友是男的,同名,所以你认为他是男的,这就是cluster(其实是女的,也许,我们不确定,我们只喜欢最有可能的答案)。给你一个男人,你确定他就在你身边,所以你可以说他是你的邻居,这就是分类。

在不同的文件中聚类文件。您应该创建模型(K-means 创建给出一个点并将其下降到最近的中心点的模型。)然后得到最可能的答案。

例如,按文件名对它们进行聚类。一个名为 apple 的文件可能在水果组中,一个名为 mouse 的文件可能在动物组中。(所有这些都取决于您的点数词库)


现在,我将向您展示如何对其进行矢量化的示例,嗯,一定是最简单的。

假设您有一个点词库。也许像这样

Bill Gates  : IT
iphone  :  IT
basketball :  sports
Michael Jordan : sports

四个文件

file1:  I love iphone very much
file2:  I like play basketball
file3: Bill Gates is the richest man.
file4: He is the fans of Michael Jordan.

我们得到文件中的关键词(记录在点词库中)。然后我们计算每个文件的百分比。现在,我们得到结果

文件 1:100% IT,0% 运动

文件 2:0% IT,100% 运动

文件 3:100% IT,0% 运动

文件 4:0% IT,100% 运动

然后我们可以得到两组,IT和运动(通常,在一个文件中,有很多单词,所以100%和0%在真实数据中不存在,不要介意细节)


想一想,这个例子告诉我们什么。

  1. 模型是一些东西(在这个例子中,它只是一个数字,大多数时候,它是一个公式),它获取数据之间的连接(在这个例子中,这个模型得到文件之间的连接)
  2. 什么是矢量化?仔细看,你会得到坐标轴(X 是 IT,y 是运动)

  3. 为什么我们强调向量化?现在你发现一件事!你现在得到了axis,所以把它替换成K-means,它现在可以工作了,不是吗?!

于 2013-09-12T05:46:38.530 回答