Mahout项目只提供四种距离度量方法,和三种加权距离度量方法,其中四种距离度量方法如下所示。
- CosineDistanceMeasure(余弦距离度量法),如果v1、v2分别表示两个向量,则他们之间的距离为 v1*v2/(|v1|*|v2|)
- EuclideanDistanceMeasure(欧氏距离度量法)详情可以参考我另一篇文章:马氏距离和欧氏距离的介绍
http://54pe.iteye.com/admin/blogs/478242
- ManhattanDistanceMeasure(曼哈顿距离度量法)曼哈顿距离度量法比如有意思,又叫出租车度量方法。计算方法为:d=sqrt( ∑(v1i-v2i)^ ) 这里i=1,2..n
- TanimotoDistanceMeasure 计算方法:((a^2 + b^2 - ab) / ab) - 1,eturn 0 for perfect match, > 0 for greater distance
下面,我们以求欧氏距离为例,简要说明一下求各种的方法。
public double distance(Vector v1, Vector v2) {
if (v1.size() != v2.size()) {
throw new CardinalityException();
}
double result = 0;
Vector vector = v1.plus(v2);
Iterator<Vector.Element> iter = vector.iterateNonZero();//this contains all non zero elements between the two
while (iter.hasNext()) {
Vector.Element e = iter.next();
double delta = v2.getQuick(e.index()) - v1.getQuick(e.index());
result += delta * delta;
}
return result;
}
在求两个向量间距离之前,需要保证两个向量的大小相等,为什么要用Iterator<Vector.Element> iter = vector.iterateNonZero();我也是不很明白,待下次再进行分解。
分享到:
相关推荐
k-Nearest Neighbors algorithm (k-NN) implemented on Apache Spark. This uses a hybrid spill tree approach to achieve high accuracy and search efficiency. The simplicity of k-NN and lack of tuning ...
Apache Mahout是一个开源项目,专注于开发可扩展的机器学习库,它主要由Java语言编写,并且依赖于Maven构建系统。在"apache-mahout-distribution-0.11.0-src.zip"这个压缩包中,您将找到Mahout 0.11.0版本的源代码,...
Apache Mahout是一个基于Apache Hadoop的数据挖掘库,专注于大规模机器学习算法的实现。这个压缩包包含的是Mahout项目不同版本的核心库,分别是mahout-core-0.9.jar、mahout-core-0.8.jar和mahout-core-0.1.jar。...
Apache Mahout 项目旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout 的创始者 Grant Ingersoll 介绍了机器学习的基本概念,并演示了如何使用 Mahout 来实现文档集群、提出建议和组织内容。
马哈多(Mahout)是Apache软件基金会的一个开源项目,专注于提供可扩展的机器学习库。它基于Hadoop,这意味着它能够利用分布式计算来处理大规模数据集。 Mahout的目标是帮助开发人员构建智能应用程序,如推荐系统、...
Apache Mahout是一个基于Java的开源机器学习库,它提供了丰富的算法和工具,用于构建智能应用程序,特别是关注推荐系统、分类和聚类分析。"mahout-distribution-0.9.tar.gz"是Apache Mahout的0.9版本的发行包,包含...
import org.apache.mahout.cf.taste.common.TasteException; import org.apache.mahout.cf.taste.impl.model.file.FileDataModel; import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood; ...
1. [Mahout Taste 官方文档](http://mahout.apache.org/taste.html) 2. [IBM Developerworks 关于推荐系统的研究](http://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy2/index.html) 3. [IBM ...
apache-mahout-distribution-0.12.1.tar.gz 开源版本 .
根据给定的文件信息,我们可以提炼出以下几个与Apache Mahout及其Taste Webapp相关的知识点: 1. Apache Mahout简介 Apache Mahout是一个开源项目,隶属于Apache软件基金会(ASF),专门提供可扩展的机器学习算法...
Apache Mahout是一个基于Apache Hadoop的数据挖掘库,专注于大规模机器学习算法的实现。"mahout-0.3.tar.gz"是Mahout项目的一个早期版本,包含了一系列用于开发和执行机器学习任务的源代码、库文件和其他相关资源。...
org.apache.mahout.math.list.adapter List adapters that make Colt lists compatible with the JDK 1.2 Collections
Apache Mahout是一个基于Hadoop的数据挖掘库,它提供了大规模机器学习算法的实现,包括推荐引擎、分类、聚类和关联规则挖掘。Mahout 0.9版本是该库的一个重要里程碑,尤其因为它是第一个全面支持Hadoop 2的版本。在...
适合centos7平台,Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括...
同时,Mahout也与大数据分析框架如Apache Spark、Apache Flink等有良好的互操作性,提升了大数据处理的效率和灵活性。 总结来说,Apache Mahout是一个强大的机器学习和推荐系统框架,适用于大数据环境。它提供了...
mahout-core-0.8.jar mahout-core-0.8.jar
Apache Mahout 是一个开源机器学习库,专注于大规模数据集上的推荐、分类和聚类算法。在 Mahout 中,推荐算法是其核心功能之一,用于构建个性化的推荐系统。本篇文章将详细探讨 Mahout 的推荐算法 API,特别是 `...
mahout-core-0.9.jar,支持版本hadoop-2.2.x,由mahout-distribution-0.9.tar.gz源码构建生成jar包。