作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经在 Mahout 教程中的合成控制数据上运行了 k-Means 聚类算法,并且想知道是否有人可以解释如何解释输出。我运行了 clusterdump 并收到了如下所示的输出(为了节省空间而被截断):
CL-592{n=57 c=30.726, 29.813...] r=[3.528, 3.597...]}
Weight : [props - optional]: Point:
1.0 : [distance=27.453962995925863]: [24.672, 35.261, 30.486...]
1.0 : [distance=27.675053294846002]: [25.592, 29.951, 34.188...]
1.0 : [distance=28.97727289419493]: [30.696, 32.667, 34.223...]
1.0 : [distance=21.999685652862784]: [32.702, 35.219, 30.143...]
...
CL-598{n=50 c=[29.611, 29.769...] r=[3.166, 3.561...]}
Weight : [props - optional]: Point:
1.0 : [distance=27.266203490250472]: [27.679, 33.506, 23.594...]
1.0 : [distance=28.749781351838173]: [34.727, 28.325, 30.331...]
1.0 : [distance=32.635136046420186]: [27.758, 33.859, 29.879...]
1.0 : [distance=29.328974057024624]: [29.356, 26.793, 25.575...]
最佳答案
我相信您对数据的解释是正确的(我只与 Mahout 合作了大约 3 周,因此经验丰富的人可能应该对此进行权衡)。
至于将点链接回创建它们的输入,我使用了 NamedVector
,其中名称是向量的键。当您读取生成的点文件之一( clusteredPoints
)时,您可以将每一行(点向量)转换回 NamedVector
并使用 .getName()
检索名称.
回复评论更新
最初将数据读入 Mahout 时,将其转换为向量集合,然后将其写入文件 ( points
) 以供稍后在聚类算法中使用。 Mahout 给你几个 Vector
您可以使用的类型,但它们也可以让您访问 Vector
名为 NamedVector
的包装类这将允许您识别每个向量。
例如,您可以创建每个 NamedVector
如下:
NamedVector nVec = new NamedVector(
new SequentialAccessSparseVector(vectorDimensions),
vectorName
);
NamedVectors
用类似的东西归档:
SequenceFile.Writer writer = new SequenceFile.Writer(...);
VectorWritable writable = new VectorWritable();
// the next two lines will be in a loop, but I'm omitting it for clarity
writable.set(nVec);
writer.append(new Text(nVec.getName()), nVec);
clusteredPoints
的目录中。 .
IntWritable clusterId = new IntWritable();
WeightedPropertyVectorWritable vector = new WeightedPropertyVectorWritable();
while (reader.next(clusterId, vector))
{
NamedVector nVec = (NamedVector)vector.getVector();
// you now have access to the original name using nVec.getName()
}
关于mahout - 如何读取 Mahout 聚类输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11848038/
我是一名优秀的程序员,十分优秀!