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

原文:Microsoft Naive Bayes 算法——三国人物身份划分

  Microsoft朴素贝叶斯是SSAS中最简单的算法,通常用作理解数据基本分组的起点。这类处理的一般特征就是分类。这个算法之所以称为“朴素”,是因为所有属性的重要性是一样的,没有谁比谁更高。贝叶斯之名则源于Thomas Bayes,他想出了一种运用算术(可能性)原则来理解数据的方法。对此算法的另一个理解就是:所有属性都是独立的,互不相关。从字面来看,该算法只是计算所有属性之间的关联。虽然该算法既可用于预测也可用于分组,但最常用于模型构建的早期阶段,更常用于分组而不是预测某个具体的值。通过要将所有属性标记为简单输入或者既是输入又是可预测的,因为这就可以算法在执行的时候考虑到所有属性。在标记属性时的工作量可能有些大。很常见的情况是,在输入中包含大量属性,然后处理模型再评估结果。如果结果看起来没什么意义,我们经常减少包含的属性数量,以便更好地理解关联最紧密的关系。
  如果拥有大量数据,而对数据的了解又很少,这时可以使用朴素贝叶斯算法。例如,公司可能由于兼并了一家竞争对手而获得了大量销售数据。在处理这类数据的时候,可以用朴素贝叶斯作为起点。
  应该了解的是,这个算法有一个明显的局限,只能处理离散(或离散化)的内容类型。如果选择的数据结构中包含有内容类型不是Discrete(如Continuous)的数据列,那么朴素贝叶斯建立的挖掘模型会忽略这些数据。
  朴素贝叶斯算法有4个可以配置的参数:MAXIMUM_INPUT_ATTRIBUTE、MAXIMUM_OUTPUT_ATTRIBUTE、MAXIMUM_STATUS、MINIMUM_DEPENDENCY_PROBABILITY。可以在“值”中输入新值来修改配置的(默认)值。这个信息在“算法参数”对话框的“说明”区中有说明。
  有人可能想知道是否经常需要调整算法参数的默认值。我们发现,随着对各个算法功能的逐渐了解,我们开始倾向于手动调节。因为朴素贝叶斯频繁地用于数据挖掘项目,尤其用于项目的早期,所以我们发现自己经常要调整它的相关参数。前3个参数的作用一目了然:调整配置的值为的是减少输入值、输出值或分组状态的最大数量。最后的依赖关系可能性的意义不太明显。在减小这个值的时候,实际是在要求减少模型生成的节点或分组的数量。
下面我们进入主题,同样我们继续利用上次的解决方案,依次步骤如下:
Microsoft Naive Bayes 算法——三国人物身份划分
Microsoft Naive Bayes 算法——三国人物身份划分
Microsoft Naive Bayes 算法——三国人物身份划分
选择所需输入变量与预测变量,以及索引键。此例以序列为索引,身份为预测变量,选中统率、武力、智力、政治、魅力五个变量为输入变量,完成后点击“确定”按钮,这时会到原来的页面,点击“下一步”按钮,如图所示。
Microsoft Naive Bayes 算法——三国人物身份划分
选择正确的数据属性,修正了变量的数据属性后点击“下一步”按钮。
Microsoft Naive Bayes 算法——三国人物身份划分
更改挖掘结构名称,点击“完成”按钮。
Microsoft Naive Bayes 算法——三国人物身份划分
Microsoft Naive Bayes 算法——三国人物身份划分
挖掘模型查看器则是呈现此依赖关系网络,对于数据的分布进一步加以了解。
Microsoft Naive Bayes 算法——三国人物身份划分
从“属性配置”文件可以了解每个变量的特性分布状况。
Microsoft Naive Bayes 算法——三国人物身份划分
Microsoft Naive Bayes 算法——三国人物身份划分
而从“属性特性”可以看出,不同群的基本特性概率。
Microsoft Naive Bayes 算法——三国人物身份划分
而从“属性对比”中,主要可以比较不同群体的特性。

参考文献:
Microsoft Naive Bayes 算法
http://msdn.microsoft.com/zh-cn/library/ms174806(v=sql.105).aspx


posted on 2014-12-02 09:21 NET未来之路 阅读(...) 评论(...) 编辑 收藏