《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 ...
随机推荐
- 写字节流转换String 代码示例
public void pushEmployee(EmpPushToTianFangRequest request){ try { StringWriter sw = new StringWriter ...
- 练习2-3:十六进制数字字符串转换为等价整型值,字符串允许包含的数字包括:0~9、a~f、A~F、x、X(C程序设计语言 第2版)
#include <stdio.h> #include <string.h> #include <math.h> int htoi(char s[]){ unsig ...
- linux延时关机
04.shutdown +2 "The machine will shutdown" # 2min 后关机,并通知在线者 05.shutdown -h now 立刻关机,其中now ...
- Git撤销提交
本文链接:http://volnet.github.io/#!docs/git/reset-to-old-version.md 在使用Git进行版本管理的时候,经常会遇到一些错误的提交. 在开始演示之 ...
- toolControls添加工具项
最近参考Arcengine的Samples做的功能,虽然简单,但是示例代码的确体现出了很好的封装性,值得学习,效果图如下: 闲话休絮,直入正题: 一.首先建立工具类,实现IMenuDef接口 clas ...
- http://blog.sina.com.cn/s/blog_4c3b6a070100etad.html
http://blog.sina.com.cn/s/blog_4c3b6a070100etad.html
- [ASE][Daily Scrum]11.28
昨天基本上已经完成了sprint2的task, 现在剩下一些bug还需要来修正, 然后我正式加入码代码的大军啦~ Shilin Liu 显示聊天框 Zhao Li 搭建聊天服务器 Yimin ...
- 在ASP.NET WebAPI 中使用缓存【Redis】
初步看了下CacheCow与OutputCache,感觉还是CacheOutput比较符合自己的要求,使用也很简单 PM>Install-Package Strathweb.CacheOutpu ...
- 人人都是 DBA(XIII)索引信息收集脚本汇编
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA& ...
- 【C语言学习】《C Primer Plus》第10章 数组和指针
学习总结 1.数组初始化方式: int a[]={1,2,3} int a[SIZE]={1,2,3} //SIZE是宏定义,数组初始化个数不能大于SIZE,否则报错:当个数小 //SIZE,自动补0 ...