zoukankan      html  css  js  c++  java
  • Mahout初步认识

    Apache Mahout项目主要包含下面五个部分:
    频繁模式挖掘:挖掘数据中频繁出现的项集。
    聚类:将诸如文本、文档之类的数据分成局部相关的组。
    分类:利用已经存在的分类文档训练分类器,对未分类的文档进行分类。
    推荐引擎(协同过滤):获得用户的行为并从中发现用户可能喜欢的事务。
    频繁子项挖掘:利用一个项集(查询记录或购物文件夹)去识别常常一起出现的项目。


    在Mahout实现的机器学习算法:

    算法类

    算法名

    中文名

    分类算法

    Logistic Regression

    逻辑回归

    Bayesian

    贝叶斯

    SVM

    支持向量机

    Perceptron

    感知器算法

    Neural Network

    神经网络

    Random Forests

    随机森林

    Restricted Boltzmann Machines

    有限波尔兹曼机

    聚类算法

    Canopy Clustering

    Canopy聚类

    K-means Clustering

    K均值算法

    Fuzzy K-means

    模糊K均值

    Expectation Maximization

    EM聚类(期望最大化聚类)

    Mean Shift Clustering

    均值漂移聚类

    Hierarchical Clustering

    层次聚类

    Dirichlet Process Clustering

    狄里克雷过程聚类

    Latent Dirichlet Allocation

    LDA聚类

    Spectral Clustering

    谱聚类

    关联规则挖掘

    Parallel FP Growth Algorithm

    并行FP Growth算法

    回归

    Locally Weighted Linear Regression

    局部加权线性回归

    降维/维约简

    Singular Value Decomposition

    神奇值分解

    Principal Components Analysis

    主成分分析

    Independent Component Analysis

    独立成分分析

    Gaussian Discriminative Analysis

    高斯判别分析

    进化算法

    并行化了Watchmaker框架

     

    推荐/协同过滤

    Non-distributed recommenders

    Taste(UserCF, ItemCF, SlopeOne)

    Distributed Recommenders

    ItemCF

    向量相似度计算

    RowSimilarityJob

    计算列间相似度

    VectorDistanceJob

    计算向量间距离

    非Map-Reduce算法

    Hidden Markov Models

    隐马尔科夫模型

    集合方法扩展

    Collections

    扩展了java的Collections类



    Mahout既能够在本地模式下执行。还能够利用Hadoop的MR执行作业。

    Mahout API分为下面几部分:

    org.apache.mahout.cf.taste:基于协同过滤的Taste相关的API。
    org.apache.mahout.clustering:聚类算法相关的API
    org.apache.mahout.classifier:分类算法
    org.apache.mahout.fpm:频繁模式算法
    org.apache.mahout.math:数学计算相关算法
    org.apache.mahout.vectorizer:向量计算相关算法


    1.KMeansConfigKeys接口

    DISTANCE_MEASURE_KEY:K-Means聚类算法使用的距离測量方法
    CLUSTER_CONVERGENCE_KEY:K-Means聚类算法的收敛值
    CLUSTER_PATH_KEY:K-Means聚类算法的路径

    2.KCLUSTER类
    通常被主函数调用。通过给定的新聚类中心和距离函数来计算新的聚类,
    并推断聚类是否收敛。

    类KCLUSTER的主要函数列表

    KCLUSTER(Vertor center,int clusterId,DistanceMeasure mesure)
    :初始化K-Means聚类算法的构造方法。使用输入的点作为聚类的中心
    来创建一个新的聚类。參数measure用于比較点之间的距离,center
    为新的聚类中心,clusterId为新聚类的ID

    public static String formatCluster(Kcluster cluster)
    :格式化输出


    public boolean computeConvergence(DistanceMeasure measure,
    double convergenceDelta)
    :计算该聚类是否收敛




    3.KMeansDriver类
    该类为运行聚类的入口函数。包含buildClusters、clusterData、
    run及main等函数,


    函数列表:
    public static void run(org.apache.hadoop.conf.Configuration conf,
    org.apache.hadoop.fs.Path input,org.apache.hadoop.fs.Path clusterIn,
    org.apache.hadoop.fs.Path output,DistanceMeasure measure,double convergenceDelta,
    int maxIterations,boolean runClustering,double clusterClassificationThreshold,
    boolean runClustering,double clusterClassificationThreshold,boolean runSequential)
    throws IOException,InterruptedException,ClassNotFoundException
    參数的意义:
    conf,输入点的文件夹路径名
    input,初始化计算的输入点所在路径名
    clustersIn,初始化及计算聚类的路径
    output,输出聚类点的路径名
    measure。距离測算法的类名
    convergenceDelta,收敛值
    maxIterations,最大迭代次数
    runClustering。迭代完毕之后是否继续聚类
    clusterClassificationThreshold,低于该值的点将不会參数聚类
    runSequential。是否运行sequential算法

  • 相关阅读:
    poj 1984 Navigation Nightmare(带权并查集+小小的技巧)
    zoj 3261 Connections in Galaxy War(并查集逆向加边)
    poj 1733 Parity game(带权并查集)
    poj 1456 Supermarket(贪心+优先队列)
    hdu 3038 How Many Answers Are Wrong(并查集的思想利用)
    poj 1182 食物链(种类并查集 ‘初心者’)
    hdu 1182 A Bug's Life(简单种类并查集)
    hdu 4725 The Shortest Path in Nya Graph(建图+优先队列dijstra)
    CodeForces 779D. String Game(二分答案)
    poj 3169 Layout(差分约束+spfa)
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7065199.html
Copyright © 2011-2022 走看看