k-means在mapreduce中将文件分组到特定的集群中

du7egjpx  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(284)

我是这个hadoop平台的新手。
我经历了 k-means implementation 在这里。但我们到了 grouping points . 我需要把不同的文件分组。所以用户必须能够看到 file falls in which group .
有什么想法吗?我找了很多,但找不到办法。我应该在代码中做什么更改。


**UPDATE2**

我想输入100个文件。
那么,哪一个能更好地在一个时间段内输入100个文件呢 directory 或输入文件1、文件2(如 single ). 我们怎么能 handle

uyto3xhc

uyto3xhc1#

什么是k-means?
毫无疑问,k-means是最简单的聚类算法。
首先,k-means是聚类而不是分类。
给你一个人的名字,你不知道它是一个男人或女人,但你的朋友谁是一个男人有相同的名字,所以你认为他是一个男人,这是群集(实际上,它是一个女人,也许,我们不确定,我们只是perfer最有可能的答案)。给你一个男人,你肯定他就在你身边,所以你可以说他是你的邻居,这就是分类。
对不同文件中的文件进行聚类。你应该创建一个模型(k-means创建一个模型,给出一个点并把它降到最近的中心点),然后得到最可能的答案。
例如,按文件名对它们进行聚类。一个叫苹果的文件可能在水果组,一个叫老鼠的文件可能在动物组。(所有这些都取决于你的点词库)
现在,我将向你展示一个如何矢量化它的例子,嗯,一定是最简单的。
假设你有一个点词库。也许是这样

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%sport
文件2:0%it,100%sport
文件3:100%it,0%sport
文件4:0%it,100%sport
然后我们可以得到两组,it和sports(通常,在一个文件中,有很多单词,所以100%和0%不存在于实际数据中,不介意细节)
想一想,这个例子告诉我们什么。
模型是某种东西(在本例中,它只是一个数字,大多数情况下,它是一个公式),它获取数据之间的连接(在本例中,此模型获取文件之间的连接)
什么是矢量化?仔细看,你会得到轴(x是it,y是sport)
为什么我们强调矢量化?现在你发现了一件事!你现在得到了axis,所以把它替换成k-均值,它现在可以工作了,不是吗?!

相关问题