什么是聚类分析? 

聚类分析属于探索性的数据分析方法。通常,我们利用聚类分析将看似无序的对象进行分组、归类,以达到更好地理解研究对象的目的。聚类结果要求组内对象相似性较高,组间对象相似性较低。在三国数据分析中,很多问题可以借助聚类分析来解决,比如三国人物身份划分。
聚类分析的基本过程是怎样的? 

  • 选择聚类变量

在分析三国人物身份的时候,我们会根据一定的假设,尽可能选取对角色身份有影响的变量,这些变量一般包含与身份密切相关的统率、武力、智力、政治、魅力、特技、枪兵、戟兵、弩兵、骑兵、兵器、水军等。但是,聚类分析过程对用于聚类的变量还有一定的要求:
这些变量在不同研究对象上的值具有明显差异;
这些变量之间不能存在高度相关。
因为,首先,用于聚类的变量数目不是越多越好,没有明显差异的变量对聚类没有起到实质意义,而且可能使结果产生偏差;其次,高度相关的变量相当于给这些变量进行了加权,等于放大了某方面因素对用户分类的作用。
识别合适的聚类变量的方法:
对变量做聚类分析,从聚得的各类中挑选出一个有代表性的变量;
做主成份分析或因子分析,产生新的变量作为聚类变量。

  • 聚类分析

相对于聚类前的准备工作,真正的执行过程显得异常简单。数据准备好后,丢到分析软件(通常是分析服务)里面跑一下,结果就出来了。
这里面遇到的一个问题是,把人物分成多少类合适?通常,可以结合几个标准综合判断:
1. 看拐点
2. 凭经验或人物特性判断
3. 在逻辑上能够清楚地解释

  • 找出各类用户的重要特征

确定一种分类方案之后,接下来,我们需要返回观察各类别三国人物在各个变量上的表现。根据差异检验的结果,我们以颜色区分出不同类用户在这项指标上的水平高低。

  • 聚类解释&命名

在理解和解释用户分类时,最好可以结合更多的数据,例如,三国志12数据等……最后,选取每一类别最明显的几个特征为其命名,就大功告成啦!

下面我们进入主题,同样我们继续利用上次的解决方案,依次步骤如下:





在挖掘模型中,主要是列出所建立的挖掘模型,也可以新增挖掘模型,并调整变量,变量使用情况包含Ignore(忽略)、Input(输入变量)、Predict(预测变量、输入变量)以及PredictOnly(预测变量),如图所示:


而在挖掘模型上点击鼠标右键,选择“设置算法参数”针对方法论的参数设置加以编辑,其中包含:
CLUSTER_COUNT:指定算法所要建立的聚类的近似数目。如果无法从数据中建立聚类的近似数目,算法便会尽可能建立聚类。若将CLUSTER_COUNT设置为0,则算法便会使用启发式决定所应建立的聚类数目,默认值为10。
CLUSTER_SEED:指定在模型建立的初始阶段,用于随机产生聚类的种子数。
CLUSTERING_METHOD:算法使用的聚类方法可以是可扩展的EM(1)、不可扩充的EM(2)、可扩充的K-means(3)或不可扩充的K-means(4)。
MAXIMUM_INPUT_ATTRIBUTE:指定在调用功能选项之前,算法可以处理输入属性的最大数目。将此值设置为0,会指定没有属性最大数目的限制。
MAXIMUM_STATES:指定算法所支持属性状态的最大数目。如果属性拥有的状态数目大于状态的最大数目,算法会使用属性最常用的状态并将其他的状态视为遗漏。
MINIMUM_SUPPORT:此参数指定每个聚类中的最小案例数目。
MODELLING_CARDINALITY:此参数指定聚类处理期间建构的范例模型数目。
SAMPLE_SIZE:指定如果CLUSTERING_METHOD参数设置为可扩充的聚类方法时,算法使用在每个行程上的案例数目。将SAMPLE_SIZE设置为0会导致整个数据集在单一进程中聚类,如此可能会造成内存和效率的问题。
STOPPING_TOLERANCE:指定用来决定何时到达聚合以及算法完成建立模型的值。当聚类概率的整体变更小于SHOPPING_TOLERANCE除以模型大小的比率时,就到达聚合。

挖掘模型查看器则是呈现此聚类分析结果,其中聚类图表则是表现各类关联性的强弱,对于数据的分布进一步加以了解。而在每一聚类结点上,点击右键,再出现的菜单上选择“钻取”,则可以浏览属于这一类的样本数据特征。

从“分类剖面图”了解因变量与自变量间的关联性强弱程度,如图

“分类特性”主要是呈现每一类的特性,见图


在“分类对比”上,主要就是呈现出两类间特性的比较,如图

参考文献:
Microsoft 聚类分析算法
http://msdn.microsoft.com/zh-cn/library/ms174879.aspx

《BI那点儿事》Microsoft 聚类分析算法——三国人物身份划分的更多相关文章

  1. Microsoft Naive Bayes 算法——三国人物身份划分

    Microsoft朴素贝叶斯是SSAS中最简单的算法,通常用作理解数据基本分组的起点.这类处理的一般特征就是分类.这个算法之所以称为“朴素”,是因为所有属性的重要性是一样的,没有谁比谁更高.贝叶斯之名 ...

  2. 大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 聚类分析算法)

    原文:(原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 聚类分析算法) 本篇文章主要是继续上一篇Microsoft决策树分析算法后,采用另外一种分析算法对目标顾客群体的挖掘 ...

  3. (转载)微软数据挖掘算法:Microsoft 聚类分析算法(2)

    介绍: Microsoft 聚类分析算法是一种"分段"或"聚类分析"算法,它遍历数据集中的事例,以将它们分组到包含相似特征的分类中. 在浏览数据.标识数据中的异 ...

  4. 《BI那点儿事—数据的艺术》目录索引

    原创·<BI那点儿事—数据的艺术>教程免费发布 各位园友,大家好,我是Bobby,在学习BI和开发的项目的过程中有一些感悟和想法,整理和编写了一些学习资料,本来只是内部学习使用,但为了方便 ...

  5. 《BI那点儿事》Microsoft 顺序分析和聚类分析算法

    Microsoft 顺序分析和聚类分析算法是由 Microsoft SQL Server Analysis Services 提供的一种顺序分析算法.您可以使用该算法来研究包含可通过下面的路径或“顺序 ...

  6. (转载)微软数据挖掘算法:Microsoft顺序分析和聚类分析算法(8)

    前言 本篇文章继续我们的微软挖掘系列算法总结,前几篇文章已经将相关的主要算法做了详细的介绍,我为了展示方便,特地的整理了一个目录提纲篇:大数据时代:深入浅出微软数据挖掘算法总结连载,有兴趣的童鞋可以点 ...

  7. 《BI那点儿事》数据挖掘初探

    什么是数据挖掘? 数据挖掘(Data Mining),又称信息发掘(Knowledge Discovery),是用自动或半自动化的方法在数据中找到潜在的,有价值的信息和规则. 数据挖掘技术来源于数据库 ...

  8. (转载)微软数据挖掘算法:Microsoft 时序算法之结果预测及其彩票预测(6)

    前言 本篇我们将总结的算法为Microsoft时序算法的结果预测值,是上一篇文章微软数据挖掘算法:Microsoft 时序算法(5)的一个总结,上一篇我们已经基于微软案例数据库的销售历史信息表,利用M ...

  9. (转载)微软数据挖掘算法:Microsoft 时序算法(5)

    前言 本篇文章同样是继续微软系列挖掘算法总结,前几篇主要是基于状态离散值或连续值进行推测和预测,所用的算法主要是三种:Microsoft决策树分析算法.Microsoft聚类分析算法.Microsof ...

随机推荐

  1. H 1022 Train Problem Ⅰ

    题意:给我们两个序列,看能否通过压栈,出栈将第一个序列转换成第二个. 思路:将序列 1 依次压栈,同时看是否和序列 2 当前元素相同 代码如下: #include<iostream> #i ...

  2. 图的邻接多重表和搜索(C++版本)

    最近在学数据结构,学到图这一章,网上的C++版本的代码乱得不行,所以自己写了一个完整C++版本的放这里. 用邻接多重表表示一个无向图,并给出DFS和BFS搜索代码.邻接多重表好处就是贼直观,几条边就几 ...

  3. Python成长笔记 - 基础篇 (七)python面向对象

      三大特性: 1.封装:在类中对数据赋值.内部调用对外部用户是透明的,这使类变成了一个胶囊或容器,里面包含着类的数据和方法 2.继承:一个类可以派生出子类,在父类中定义的属性.方法会自动被子类继承 ...

  4. [XAF] How to improve the application's performance

    [自己的解决方案]数据量大时,可显著提升用户使用体验! 1.Root ListView 参考官方的E1554 点击导航菜单后首先跳出查询条件设置窗体进行设置 可设置查询方案或查询方案的查询条件,排序字 ...

  5. C2第八次解题报告

    看过题解后如果觉得还算有用,请帮忙加点我所在团队博客访问量 http://www.cnblogs.com/newbe/ http://www.cnblogs.com/newbe/p/4069834.h ...

  6. Lua 栈的理解

    提到C++与lua互调,不可不提栈. 栈是C++和Lua相互通讯的一个地方. 首先这个栈并不是传统意义上的栈(传统的栈需要放同一种数据类型,但在网上的某些资料说,每个栈元素是一个联合体). 栈从上向下 ...

  7. Mac OS X 安装Win7双系统

    Mac10安装双系统 为了有一个纯净的开发环境,就在mac电脑中安装windows虚拟机.刚开始使用还很顺利,两个系统的交互很方便,mac用来下载.搜索和写笔记:windows纯开发.时间长了以后关机 ...

  8. WIN8 平台应用隐私声明

    隐私权声明 本应用连接网络仅为控制硬件设备,不会收集你的个人信息,也不共享你个个人信息. 应用名称 雅典娜监控平台移动客户端 关于本应用 本应仅为控制设备应用,不关注任何配置相关信息,所有数据均来自服 ...

  9. 【String与基本类型之间的转换】以及【进制转换】

    1. 基本数据类型---->字符串类型: 方法一:使用连接一个空字符串,例如  基本数据类型+“” : 方法二:静态方法 String.valueOf(),具体有: String.valueOf ...

  10. [转]全面理解Unity加载和内存管理

    [转]全面理解Unity加载和内存管理 最近一直在和这些内容纠缠,把心得和大家共享一下: Unity里有两种动态加载机制:一是Resources.Load,一是通过AssetBundle,其实两者本质 ...