`
thd52java
  • 浏览: 72249 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mahout系列----谱聚类

阅读更多

1.构造亲和矩阵W
2.构造度矩阵D
3.拉普拉斯矩阵L

4.计算L矩阵的第二小特征值(谱)对应的特征向量Fiedler 向量

5.以Fiedler向量作为kmean聚类的初始中心,用kmeans聚类


亲和矩阵 :W_ij=exp(-(d(s_i,s_j)/2o^2))             d(s_i,s_j)  = ||s_i,s_j||.    o 为事先设定的参数。

度矩阵:D_ii  =sum(w_i) 

规范相似矩阵:D^(-1/2)*W*D^(1/2) ,即:W(i,j)/(D(i,i))^1/2*(D(j,j))^1/2

计算(D-W)*x=lamd*D*x  的第二小特征值

 

 

Mahout 流程:

          

           亲和矩阵格式
           i,j,value
           AffinityMatrixInputJob 输出格式
           i  vector


           构造度矩阵(亲和矩阵,i行元素求和作为返回向量i列的值)
           MatrixDiagonalizeJob


     

          VectorCache 将向量存储在HDFS中
          VectorMatrixMultiplicationJob 向量矩阵相乘
         

          求矩阵的特征值:SSVDSolver  (分布式SVD),默认是DistributedLanczosSolver(兰索斯分解器)

         

         将U矩阵归一化

         UnitVectorizerJob.runJob(data, unitVectors);

               UnitVectorizerJob 归一化矩阵
             输入矩阵V,输入矩阵U
           v_ij = u_ij / sqrt(sum_j(u_ij * u_ij)

 

               归一化后的U矩阵中i行的最大值作为特征向量的i列的值,以该向量作为种子生成初始中心。

         Kmeans 聚类,生成最终的簇。


1
1
分享到:
评论

相关推荐

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

    Mahout提供了多种机器学习算法,包括推荐系统、聚类和分类。推荐系统如协同过滤,用于个性化推荐;聚类算法如K-means,用于将数据分成多个相似的组;分类算法如随机森林,用于预测目标变量。 2. **Hadoop支持**: ...

    mahout聚类算法

    Mahout 聚类算法 Mahout 聚类算法是数据挖掘和机器学习领域中的一种重要算法,它可以将相似的数据点聚集在一起,以便更好地理解和分析数据。Mahout 聚类算法可以分为多种类型,如 Canopy、KMeans、Fuzzy-KMeans、...

    mahout-distribution-0.9.tar.gz

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

    apache-mahout-distribution-0.11.0-src.zip

    Apache Mahout是基于Hadoop的数据挖掘库,提供了一套用于实现推荐系统、分类和聚类算法的工具。这个项目的目标是创建易于使用的、高效的机器学习算法,使大数据分析变得更加简单。 2. **源码分析**: 在源码中,...

    MAHOUT实战--中文高清版.pdf下载

    Apache Mahout是一个可扩展的机器学习库,主要用于聚类、分类、推荐以及频繁项集挖掘等多种场景。 由于该文件强调了是中文高清版,我们可以推测这本书是专为中文读者准备,针对Mahout版本的内容讲解详细,同时高...

    maven_mahout_template-mahout-0.8

    Mahout的目标是创建易于使用的、可扩展的、并行的机器学习库,使得开发者能够轻松地实现推荐系统、分类和聚类等复杂任务。 `maven_mahout_template-mahout-0.8`这个项目模板,是为使用Maven构建的Mahout项目提供的...

    mahout-distribution-0.8-src

    其中,`core`模块是 Mahout 的基础,包含了大量的机器学习算法实现,如协同过滤、聚类和分类算法;而`example`模块则提供了这些算法的示例应用,帮助用户快速上手。 二、核心算法 1. **协同过滤(Collaborative ...

    mahout-distribution-0.9-src.zip

    2. **算法库**:Mahout包含了大量的机器学习算法,如聚类、分类、推荐系统等。例如,基于密度的聚类算法DBSCAN、协同过滤推荐算法等,这些算法都是经过优化的,可以直接应用到实际项目中。 3. **推荐系统**:Mahout...

    mahout-distribution-0.12.2-src.tar.gz

    1. **机器学习算法**:Mahout的核心在于它提供了多种机器学习算法,包括分类(如决策树、随机森林)、聚类(如K-Means、Fuzzy K-Means)、协同过滤(用于推荐系统)等。这些算法可以处理大规模数据,并且利用Hadoop...

    mahout-distribution-0.9含jar包

    Apache Mahout是一个基于Java的开源机器学习库,它为大数据处理提供了丰富的算法,主要用于推荐系统、分类和聚类。"mahout-distribution-0.9含jar包" 是一个包含了Mahout项目0.9版本的预编译二进制文件集合,其中不...

    mahout-distribution-0.7-src.zip

    该库由Java编写,并采用Maven作为构建工具,提供了一系列用于构建智能应用的高效算法。本文将深入探讨Mahout 0.7版本的源码结构、核心功能及其实现方式。 一、源码结构分析 Mahout 0.7源码包含了多个模块,如`...

    Mahout-0.9-jar包

    ”这表明提供的压缩包可能包含了一系列的jar文件,这些文件是Mahout 0.9版的二进制发行版,可以直接添加到Java项目中,无需进行编译。开发者可以通过将这些jar文件添加到项目的类路径(classpath)来利用Mahout的...

    apache-mahout-distribution-0.10.2

    Mahout提供了许多预构建的、可扩展的算法,涵盖了分类、聚类、协同过滤等多个重要领域: 1. **分类(Classification)**:Mahout支持决策树、随机森林、朴素贝叶斯等算法,用于将数据点分配到预定义的类别中,常...

    mahout-distribution-0.5.tar.gz + 源码

    Mahout的主要目标是让大数据分析变得简单易行,尤其在推荐系统、分类和聚类方面。在0.5版本中,它支持Hadoop分布式计算框架,这意味着它能够处理大规模的数据集。以下是这个版本中可能包含的一些关键组件和概念: 1...

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

    Mahout包含了多种机器学习的经典算法,如聚类、分类、协同过滤和进化编程等。此外,Mahout支持在Hadoop集群上运行算法,使得它们能够在云计算环境中高效运行。 2. Mahout的版本及其重要性 文档强调使用特定版本的...

    mahout所需jar包

    Mahout的目标是帮助开发人员构建智能应用程序,如推荐系统、分类和聚类算法,这些在大数据分析领域中极为重要。 **K-Means聚类算法** K-Means是一种无监督学习的聚类算法,用于将数据集分成不同的群组或类别。在...

    mahout-0.3.tar.gz

    "mahout-0.3.tar.gz"是Mahout项目的一个早期版本,包含了一系列用于开发和执行机器学习任务的源代码、库文件和其他相关资源。在这个版本中,用户可以找到各种算法,如分类、聚类和协同过滤,这些都是大数据分析和...

    mahout-0.3.tar

    Apache Mahout是一个基于Java的开源机器学习库,它为大数据处理提供了丰富的算法和工具,用于实现推荐系统、分类和聚类。"mahout-0.3.tar"是Mahout项目在0.3版本的源码或二进制发行版的压缩文件,通常包含了项目的源...

    java 利用Kmeans的jar包进行聚类---代码

    这个标题"java 利用Kmeans的jar包进行聚类---代码"表明我们将探讨如何使用Java通过预编译的KMeans库(通常是一个jar包)来执行聚类任务。描述中的"java可以直接调用kmeans进行聚类!"进一步确认了Java程序员可以借助...

Global site tag (gtag.js) - Google Analytics