zoukankan      html  css  js  c++  java
  • 聚类分析算法及SAS实现

        聚类分析是用户细分里面最为重要的工具,而用户细分则是整个精准营销里面的基础。

        聚类分析方法分为:

    • 层次法:可分为凝聚式和分列式,适用于观测数比较少的情形

    1、凝聚式:将每个观测都归为一类,然后每次都将最相似的两个类合并成一个新的类,直至所有的观测成为一类或者达到所预订的分类条件为止。SAS中的层次法都是凝聚式。

        分列式:将所有观测归为一类,接下来美的都把现有的类别按照相似程度一分为二,直至每一观测都各自成为一类或者达到预订的分类条件为止。

    2、使用过程CLUSTER实现层次法

    proc cluster data=  outtree=用于生成树形图的数据集 method=  <选项>;

      by variables;
      copy variables;
      id variables;
      rmsstd variables;/*指定了方根标准方差变量*/
      var variables;
    run;
    【注:"method= "指定做层次分析的具体方法,可以指定11种系统聚类方法:
      average:类平均法

      centroid:重心法

      complete:最长距离法

      density:密度估算法
      eml:最大似然谱系聚类

      flexible:可变类平均法

      mcquitty:可变法

      mcquitty相似分析法
      median:中间距离法

      single:最短距离法

      twostage:两阶段密度估算法

      ward:离差平方和法

    <选项>:CCC用于输出(cubic clustering criterion)值,称三次聚类准则;

                 pseudo用于输出伪F统计量与伪T统计量;

                 rsquare用于输出统计量R方(越大表示类之间分得越开,聚类效果越好)与半偏R方(上一步与该步的差异,越小越好);】

    对树形图进行控制:

    proc tree data= haxis=用于自定义横坐标轴(例如通过axis order=(0 to 1 by 0.1)事先定义,然后直接引用axis)  horizontal 用于指定生成水平数;

    name 变量;

    height 变量;

    copy 变量;

    id 变量;

    run;

    • 划分法:在开始阶段指定某几个类中心,接下来通过计算将每个观测暂时归到距离其最近的类中心所在的类,并且不断调整类中心直至收敛。

    1、使用fastclus实现K均值聚类法,可用来处理规模较大的数据。

    proc fastclus data=数据集 maxc=聚类分析生成的分类数目的最大值,默认100 maxiter=为重新计算种子类的最大迭代次数 out=指定输出数据集;

    var 变量;

    run;

    (未完待续)

  • 相关阅读:
    获取汉字和字母的长度
    JavaScript 获取对象中第一个属性
    JS函数的length属性
    原型模式 -- JavaScript语言的灵魂
    建造者模式
    阻止form元素内的input标签回车提交表单
    工厂方法模式(安全的工厂方法)
    微信自研生产级paxos类库PhxPaxos实现原理介绍
    图解分布式一致性协议Paxos
    Paxos协议超级详细解释+简单实例
  • 原文地址:https://www.cnblogs.com/smallcrystal/p/4910033.html
Copyright © 2011-2022 走看看