《BI那点儿事》Microsoft 神经网络算法
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 神经网络算法的更多相关文章
- 《BI那点儿事—数据的艺术》目录索引
原创·<BI那点儿事—数据的艺术>教程免费发布 各位园友,大家好,我是Bobby,在学习BI和开发的项目的过程中有一些感悟和想法,整理和编写了一些学习资料,本来只是内部学习使用,但为了方便 ...
- 《BI那点儿事》数据挖掘初探
什么是数据挖掘? 数据挖掘(Data Mining),又称信息发掘(Knowledge Discovery),是用自动或半自动化的方法在数据中找到潜在的,有价值的信息和规则. 数据挖掘技术来源于数据库 ...
- 《BI那点儿事》Microsoft 聚类分析算法——三国人物身份划分
什么是聚类分析? 聚类分析属于探索性的数据分析方法.通常,我们利用聚类分析将看似无序的对象进行分组.归类,以达到更好地理解研究对象的目的.聚类结果要求组内对象相似性较高,组间对象相似性较低.在三国数据 ...
- 《BI那点儿事》Microsoft 线性回归算法
Microsoft 线性回归算法是 Microsoft 决策树算法的一种变体,有助于计算依赖变量和独立变量之间的线性关系,然后使用该关系进行预测.该关系采用的表示形式是最能代表数据序列的线的公式.例如 ...
- 《BI那点儿事》Microsoft 顺序分析和聚类分析算法
Microsoft 顺序分析和聚类分析算法是由 Microsoft SQL Server Analysis Services 提供的一种顺序分析算法.您可以使用该算法来研究包含可通过下面的路径或“顺序 ...
- 《BI那点儿事》Microsoft 时序算法——验证神奇的斐波那契数列
斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10 ...
- 《BI那点儿事》数据挖掘各类算法——准确性验证
准确性验证示例1:——基于三国志11数据库 数据准备: 挖掘模型:依次为:Naive Bayes 算法.聚类分析算法.决策树算法.神经网络算法.逻辑回归算法.关联算法提升图: 依次排名为: 1. 神经 ...
- 目前所有的ANN神经网络算法大全
http://blog.sina.com.cn/s/blog_98238f850102w7ik.html 目前所有的ANN神经网络算法大全 (2016-01-20 10:34:17) 转载▼ 标签: ...
- 经典卷积神经网络算法(5):ResNet
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
随机推荐
- EJB概念理解
转自http://blog.csdn.net/jojo52013145/article/details/5783677 1. 我们不禁要问,什么是"服务集群"?什么是"企 ...
- 第54讲:Scala中复合类型实战详解
今天学习了scala的复合类型的内容,让我们通过实战来看看代码: trait Compound_Type1trait Compound_Type2class Compound_Type extends ...
- 关于HIVE的数据模型介绍
(1)Hive数据库 类似传统数据库的DataBase,在第三方数据库里实际是一张表.简单示例命令行 hive > create database test_database; (2)内部表 H ...
- DLL和LIB的一些知识点(网上搜集)
关于lib和dll的区别如下:(1)lib是编译时用到的,dll是运行时用到的.如果要完成源代码的编译,只需要lib:如果要使动态链接的程序运行起来,只需要dll.(2)如果有dll文件,那么lib一 ...
- 《理解 ES6》阅读整理:函数(Functions)(三)Function Constructor & Spread Operator
增强的Function构造函数(Increased Capabilities of the Function Constructor) 在Javascript中Function构造函数可以让你创建一个 ...
- JAVA缓存技术
介绍 JNotify:http://jnotify.sourceforge.net/,通过JNI技术,让Java代码可以实时的监控制定文件夹内文件的变动信息,支持Linux/Windows/MacOS ...
- 使用Roboguice依赖注入规划Android项目
前言 好久没写博客了,罪过啊-记事本里累积了不少东西,整理整理放上来. 关于依赖注入 Dependency Injection( 依赖注入)可以很好的帮助我们分离模块,降低耦合.提高可测试性.(PS: ...
- RCP:gef智能寻路算法(A star)
本路由继承自AbstactRouter,参数只有EditPart(编辑器内容控制器),gridLength(寻路用单元格大小),style(FLOYD,FLOYD_FLAT,FOUR_DIR). 字符 ...
- ThreadStatic应用(Identity补完)
关于Identity Identity自增序列/唯一断标识 起初做这个东西,是在一个内部组件中,用于在高并发的环境下得到一个较短的“相对”不重复标识字符串;(这里说的相对是指一定的数量下不重复) 灵感 ...
- Mysql跨表更新 多表update sql语句总结
Mysql跨表更新一直是大家所关心的话题,本文介绍mysql多表 update在实践中几种不同的写法 假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price:另外一张表是P ...