Microsoft神经网络是迄今为止最强大、最复杂的算法。要想知道它有多复杂,请看SQL Server联机丛书对该算法的说明:“这个算法通过建立多层感知神经元网络,建立分类和回归挖掘模型。与Microsoft决策树算法类似,在给定了可预测属性的每个状态时, Microsoft神经网络算法计算输入属性每个可能状态的概率。然后可以用这些概率根据输入属性预测被预测属性的输出。”
什么时候用这个算法呢?推荐在其他算法无法得出有意义的结果时再用,如提升图输出的结果。我们经常把Microsoft神经网络作为“压箱底”的最后一招,在其他算法处理巨大而复杂的数据集无法得到有意义的结果时才使用它。这个算法可以接受Discrete或Continuous数据类型作为输入。在大型数据源上使用Microsoft神经网络之前,一定要用生产级别的负载好好测试,因为处理这类模型的开支太大了。同其他算法一样,在“算法参数”对话框中也有多个参数可以配置。同其他一些开支比较大的算法一样,只有在业务理由非常充分的情况下才有必要修改默认值。
Microsoft神经网络算法的一个变体是Microsoft逻辑回归算法。

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



键:序列
输入:统率、武力、智力、政治、魅力
可预测:身分

数据内容类型:
Continuous(连续型):统率、武力、智力、政治、魅力
Discrete(离散型):身分

建模完成,产生数据挖掘结构接口包含Mining Structure(挖掘结构)、Mining Models(挖掘模型)、Mining Model Viewer(挖掘模型查看器)、Mining Accuracy Chart(挖掘精确度图表)以及Mining Model Prediction(挖掘模型预测);其中在Mining Structure(挖掘结构)中,主要是呈现数据间的关联性以及分析的变量。

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

在挖掘模型上点击鼠标右键,选择“设置算法参数...”可修改模型参数设置,如图所示

其中包含:
HIDDEN_NODE_RATIO:指定用于判断隐藏层中的节点数目。隐藏层内的节点数计算公式为:HIDDEN_NODE_RATIO *sqrt({输入节点的数目} * {输出节点的数目})。
HOLDOUT_PERCENTAGE:指定用于计算测试组预测错误的百分比,作为停止准则的一部分。
HOLDOUT_SEED:指定用于随机产生测试组的种子数据。如果未指定,算法会依据模型名称产生随机种子,以保证在重新处理模型时保持测试组相同。
MAXIMUM_INPUT_ATTRIBUTES:指定算法可处理的最大输入变量数目。将此值设置为0,会停用输入变量。
MAXIMUM_OUTPUT_ATTRIBUTES:指定算法可处理的最大输出变量数目。将此值设置为0,会停用输出变量。
MAXIMUM_STATES:指定算法所支持变量取值状态的最大数目。如果属性状态数大于该值,算法会截取最常用的状态,并将超过最大值的其余状态视为遗漏。
SAMPLE_SIZE:指定用来训练模型的案例数目。算法会取小于以下两者:SAMPLE_SIZE或total_cases *(1-HOLDOUT_PERCENTAGE/100)。

挖掘模型查看器:
“挖掘模型查看器”展示该挖掘模型的结果,通过通过柱状图表示某一变量的取值状态对预测变量影响的方向和大小。






提升图:

分类矩阵:

参考文献:
Microsoft 神经网络算法
http://msdn.microsoft.com/zh-cn/library/ms174941(v=sql.105).aspx

《BI那点儿事》Microsoft 神经网络算法的更多相关文章

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

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

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

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

  3. 《BI那点儿事》Microsoft 聚类分析算法——三国人物身份划分

    什么是聚类分析? 聚类分析属于探索性的数据分析方法.通常,我们利用聚类分析将看似无序的对象进行分组.归类,以达到更好地理解研究对象的目的.聚类结果要求组内对象相似性较高,组间对象相似性较低.在三国数据 ...

  4. 《BI那点儿事》Microsoft 线性回归算法

    Microsoft 线性回归算法是 Microsoft 决策树算法的一种变体,有助于计算依赖变量和独立变量之间的线性关系,然后使用该关系进行预测.该关系采用的表示形式是最能代表数据序列的线的公式.例如 ...

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

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

  6. 《BI那点儿事》Microsoft 时序算法——验证神奇的斐波那契数列

    斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10 ...

  7. 《BI那点儿事》数据挖掘各类算法——准确性验证

    准确性验证示例1:——基于三国志11数据库 数据准备: 挖掘模型:依次为:Naive Bayes 算法.聚类分析算法.决策树算法.神经网络算法.逻辑回归算法.关联算法提升图: 依次排名为: 1. 神经 ...

  8. 目前所有的ANN神经网络算法大全

    http://blog.sina.com.cn/s/blog_98238f850102w7ik.html 目前所有的ANN神经网络算法大全 (2016-01-20 10:34:17) 转载▼ 标签: ...

  9. 经典卷积神经网络算法(5):ResNet

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

随机推荐

  1. Java学习日记之 Java-其他类型

    OK , 就绪, 第一篇博客开撸 ~ 先听了毕姥爷激情澎湃的其他类型 ,从这里开始入手吧 : (一)System类  System类代表系统类,系统的属性和方法都放在该类.System类是一个fina ...

  2. 结对开发训练(郭林林&胡潇丹)

    此次编程题为:求一个整数数组最大子数组之和,要求时间复杂度为O(n). 首先,我们对题目做出分析,做出第一种预行方案,即定义一个数组,当数组中元素大于等于0时,进行累加:若小于0,则与后面的数作比较, ...

  3. Android—LayoutInflater学习笔记

    LayoutInflater的的主要用处:使用LayoutInflater来载入界面,类似于findViewById()在Activity中加载Widget组件一样.区别在于与LayoutInflat ...

  4. Silverlight用户自定义控件件中增加属性和方法

    下面的例子在用户控件MyCpmzSelect中增加了一个myCaption属性 public static readonly DependencyProperty myCaptionProperty ...

  5. Code::Blocks配置GTK+2和GTK+3

    Code::Blocks配置GTK+2和GTK+3 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根 ...

  6. Web Essentials之Bundling

    返回Web Essentials功能目录 本篇目录 介绍 样例文件 已知行为 介绍 这篇要讲的是Bundling,我看很多人把它翻译为捆绑,如果你喜欢你也可以这么理解,我是不太习惯,我还是喜欢它为bu ...

  7. 关于实现一个基于文件持久化的EventStore的核心构思

    大家知道enode框架的架构是基于ddd+event sourcing的思想.我们持久化的不是聚合根的最新状态,而是聚合根产生的领域事件.最近我在思考如何实现一个基于文件的eventstore.目标有 ...

  8. mongodb( 实现join)

    mongodb提供ref和populate的方法,支持类似join的SQL操作.本文给出一个实际的例子: 1. 数据1: var daob = new Schema({ user: { type: S ...

  9. Java多线程17:中断机制

    概述 之前讲解Thread类中方法的时候,interrupt().interrupted().isInterrupted()三个方法没有讲得很清楚,只是提了一下.现在把这三个方法同一放到这里来讲,因为 ...

  10. 作业七:团队项目——Alpha版本冲刺阶段-08

    昨天进展:代码编写. 今天安排:代码编写.