zoukankan      html  css  js  c++  java
  • R学习之R层次聚类方法(tm包)

    1、距离计算 

    ##  method for class 'TermDocumentMatrix'
    dissimilarity(x, y = NULL, method)

    ## method
    for class 'PlainTextDocument' dissimilarity(x, y = NULL, method)

    参数说明:

       x:文档-词矩阵或者文本文档;

       y:文本文档,仅当x是文本文档时y才是文本文档;

       method:距离计算方法,所有的method均来自于proxy包,proxy包的文档在这里

     

     method的种类主要有:

    (1)jaccard:jaccard系数(默认方法),又叫做Jaccard相似性系数,用来比较样本集中的相似性和分散性的一个概率。

       Jaccard = 样本集交集个数 / 样本集合集个数

    (2)Matching:Simple Matching Coefficient,SMC(简单匹配系数)。该度量同等地对出现和不出现计数。

            如下图所示.其中,q 表示向量中对应位置都为 1 的元素个数;t 表示向量中对应位置都为 0 的元素个数;s 表示向量 i 某
    个位置为 1,而在向量 j 的对应位置为 0 的元素个数;r 表示在向量 i 某个位置为 0,而在向量 j 的对应位置为 1 的
    元素个数.来自(http://www.jos.org.cn/1000-9825/17/79.pdf

    (3)dice:Dice's coefficient 类似于jaccard系数,但是在分子上加权,Dice系数S为

    (4)affinity

    Affinity between the two items i and j is defined by Aggarwal et al. (2002) as

    A(i,j) = sup({i,j})/(sup({i}) + sup({j}) - sup({i,j})),

    where sup(.) is the support measure. This means that affinity is the Jaccard similarity between items.

    ( 暂时还没搞明白)

    (5) cosine余弦相似度,计算两个向量间的余弦夹角

    (6)pearson: pearson Correlation Coefficient皮尔逊相关系数,见:http://zh.wikipedia.org/zh-cn/%E7%9B%B8%E5%85%B3

    例子:

    data("crude")
    tdm <- TermDocumentMatrix(crude)
    dissimilarity(tdm, method = "cosine") #计算距离的方法为cosine(余弦夹角)方法
    dissimilarity(crude[[1]], crude[[2]], method = "eJaccard") #dJaccard方法

    2、层次聚类 

    hclust(d, method = "complete", members=NULL)

    参数说明:

        d:聚类的矩阵

        method:聚类的方法

            (1)ward:方法简述:基于方差分析思想,如果分类合理,则同类样品间离差平方和应当较小,类与类间离差平方和应当较大。

                             特点:实际应用中分类效果较好,应用较广;要求样品间的距离必须是欧氏距离。

            (2)single:最短距离法,计算两类观测间最近一对的距离;

            (3)complete:最长距离法,计算两类观测间最远一对的距离;

            (4)average:平均距离法,测量两类每对观测间的平均距离;

            (5)mcquitty:McQuitty相似分析法,(待补充)

            (6)median:中间距离法,

            (7)centroid:重心法,两类间的距离定义为两类重心之间的距离,对样品分类而言,每一类中心就是属于该类样品的均值。

                                 特点:该距离随聚类地进行不断缩小。该法的谱系树状图很难跟踪,且符号改变频繁,计算较烦。

              上述部分内容来自于:http://blog.csdn.net/yillc/article/details/6746509

    3、图形展示

    plot(x, labels = NULL, hang = 0.1,
         axes = TRUE, frame.plot = FALSE, ann = TRUE,
         main = "Cluster Dendrogram",
         sub = NULL, xlab = NULL, ylab = "Height", ...)
    
    plclust(tree, hang = 0.1, unit = FALSE, level = FALSE, hmin = 0,
            square = TRUE, labels = NULL, plot. = TRUE,
            axes = TRUE, frame.plot = FALSE, ann = TRUE,
            main = "", sub = NULL, xlab = NULL, ylab = "Height")

     

  • 相关阅读:
    一次http请求的过程
    log4j每天生成一个文件配置
    解决eclipse中maven多模块项目显示不全的问题
    docker上启动nginx,并配置修改nginx的配置文件
    springboot项目打成jar包后台运行在linux上
    《写给大家看的设计书》粗读整理
    一些需要改进的点
    b端产品的疑问
    产品经理小白初起步
    用visualvm观察远程服务器java项目的两种办法
  • 原文地址:https://www.cnblogs.com/todoit/p/2590380.html
Copyright © 2011-2022 走看看