`
菜鸟老师
  • 浏览: 22344 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

mahout分析(2) org.apache.mahout.common.distance

阅读更多

    Mahout项目只提供四种距离度量方法,和三种加权距离度量方法,其中四种距离度量方法如下所示。

  1. CosineDistanceMeasure(余弦距离度量法),如果v1、v2分别表示两个向量,则他们之间的距离为 v1*v2/(|v1|*|v2|)
  2. EuclideanDistanceMeasure(欧氏距离度量法)详情可以参考我另一篇文章:马氏距离和欧氏距离的介绍 http://54pe.iteye.com/admin/blogs/478242
  3. ManhattanDistanceMeasure(曼哈顿距离度量法)曼哈顿距离度量法比如有意思,又叫出租车度量方法。计算方法为:d=sqrt( ∑(v1i-v2i)^ ) 这里i=1,2..n
  4. 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();我也是不很明白,待下次再进行分解。

 

 

分享到:
评论

相关推荐

    org.apache.mahout 最新版

    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-distribution-0.11.0-src.zip

    Apache Mahout是一个开源项目,专注于开发可扩展的机器学习库,它主要由Java语言编写,并且依赖于Maven构建系统。在"apache-mahout-distribution-0.11.0-src.zip"这个压缩包中,您将找到Mahout 0.11.0版本的源代码,...

    mahout-core-0.9.jar+mahout-core-0.8.jar+mahout-core-0.1.jar

    Apache Mahout是一个基于Apache Hadoop的数据挖掘库,专注于大规模机器学习算法的实现。这个压缩包包含的是Mahout项目不同版本的核心库,分别是mahout-core-0.9.jar、mahout-core-0.8.jar和mahout-core-0.1.jar。...

    apache-mahout-distribution-0.11.1-src

    Apache Mahout 项目旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout 的创始者 Grant Ingersoll 介绍了机器学习的基本概念,并演示了如何使用 Mahout 来实现文档集群、提出建议和组织内容。

    mahout所需jar包

    马哈多(Mahout)是Apache软件基金会的一个开源项目,专注于提供可扩展的机器学习库。它基于Hadoop,这意味着它能够利用分布式计算来处理大规模数据集。 Mahout的目标是帮助开发人员构建智能应用程序,如推荐系统、...

    mahout-distribution-0.9.tar.gz

    Apache Mahout是一个基于Java的开源机器学习库,它提供了丰富的算法和工具,用于构建智能应用程序,特别是关注推荐系统、分类和聚类分析。"mahout-distribution-0.9.tar.gz"是Apache Mahout的0.9版本的发行包,包含...

    基于mahout的协同过滤算法实现

    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; ...

    mahout_taste介绍.pptx

    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-distribution-0.12.1.tar.gz 开源版本 .

    如何成功运行Apache Mahout的Taste Webapp-Mahout推荐教程-Maven3.0.5-JDK1.6-Mahout0.5

    根据给定的文件信息,我们可以提炼出以下几个与Apache Mahout及其Taste Webapp相关的知识点: 1. Apache Mahout简介 Apache Mahout是一个开源项目,隶属于Apache软件基金会(ASF),专门提供可扩展的机器学习算法...

    mahout-0.3.tar.gz

    Apache Mahout是一个基于Apache Hadoop的数据挖掘库,专注于大规模机器学习算法的实现。"mahout-0.3.tar.gz"是Mahout项目的一个早期版本,包含了一系列用于开发和执行机器学习任务的源代码、库文件和其他相关资源。...

    mahout-collections-1.0.jar

    org.apache.mahout.math.list.adapter List adapters that make Colt lists compatible with the JDK 1.2 Collections

    mahout0.9 jar包支持hadoop2

    Apache Mahout是一个基于Hadoop的数据挖掘库,它提供了大规模机器学习算法的实现,包括推荐引擎、分类、聚类和关联规则挖掘。Mahout 0.9版本是该库的一个重要里程碑,尤其因为它是第一个全面支持Hadoop 2的版本。在...

    mahout-0.11.0.tar.gz

    适合centos7平台,Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括...

    apache-mahout-distribution-0.12.2.tar.gz

    同时,Mahout也与大数据分析框架如Apache Spark、Apache Flink等有良好的互操作性,提升了大数据处理的效率和灵活性。 总结来说,Apache Mahout是一个强大的机器学习和推荐系统框架,适用于大数据环境。它提供了...

    mahout-core-0.8.jar

    mahout-core-0.8.jar mahout-core-0.8.jar

    Mahout推荐算法API.pdf

    Apache Mahout 是一个开源机器学习库,专注于大规模数据集上的推荐、分类和聚类算法。在 Mahout 中,推荐算法是其核心功能之一,用于构建个性化的推荐系统。本篇文章将详细探讨 Mahout 的推荐算法 API,特别是 `...

    mahout-core-0.9.jar

    mahout-core-0.9.jar,支持版本hadoop-2.2.x,由mahout-distribution-0.9.tar.gz源码构建生成jar包。

Global site tag (gtag.js) - Google Analytics