《BI那点儿事》Microsoft 决策树算法——找出三国武将特性分布,献给广大的三国爱好者们
根据游戏《三国志11》武将数据,利用决策树分析,找出三国武将特性分布。其中变量包括统率、武力、智力、政治、魅力、身分。
变量说明:
统率:武将带兵出征时的部队防御力。统帅越高受到普通攻击与兵法攻击越少。
武力:武将带兵出征时的部队攻击力,武力越高发动兵法或者普通攻击时对地方部队的伤害就越高;并且当发动单挑时双方武将武力值相差越少则成功率越高,同时武力也代表单挑时的武将攻击力。
智力:武将发动部队计略时的效果与成功率,当武将智力高时则可以降低中计的几率;同时智力代表军师能力。
政治:武将发展内政时的能力,内政越高则生产兵器、买卖粮草、建造建筑时间等内政系都有优势。并且,当搜索人才和与敌方势力交涉时,政治也有至关重要的作用。
魅力:武将在登用在野或者其他势力武将时的能力,魅力越高则成功几率越高。并且,当武将征兵时,魅力也将影响其效果。
三国志每个人物都有一定的身分,除君主,还有侍中、军师、将军、武官和文官。
将军需要统帅武力相加大于150才能封;
军师要求智力90以上并且和政治相加大于160;
侍中需要政治85,并且和智力相加应不小于150(往往成为事实上的宰相);
为简化验证:我们设置三个身份:将军、军师、其他;
序号 |
身份 |
要求 |
人数 |
1 |
将军 |
将军需要统帅武力相加大于150才能封 |
112 |
2 |
军师 |
军师要求智力90以上并且和政治相加大于160; |
20 |
3 |
其他 |
538 |
准备数据:
ALTER TABLE FactSanguo11 ADD [身分] NVARCHAR(255) NULL -- 将军 将军需要统帅武力相加大于150才能封
SELECT *
FROM FactSanguo11
WHERE [统率] + [武力] > 150
ORDER BY [统率] + [武力] DESC UPDATE FactSanguo11
SET [身分] = N'将军'
WHERE [统率] + [武力] > 150 SELECT *
FROM FactSanguo11
WHERE [身分] = N'将军'
ORDER BY [统率] + [武力] DESC -- 军师 军师要求智力90以上并且和政治相加大于160
SELECT *
FROM FactSanguo11
WHERE ( [智力] + [政治] > 160 )
AND ( [智力] >= 90 )
ORDER BY [智力] + [政治] DESC UPDATE FactSanguo11
SET [身分] = N'军师'
WHERE ( [智力] + [政治] > 160 )
AND ( [智力] >= 90 ) SELECT *
FROM FactSanguo11
WHERE [身分] = N'军师'
ORDER BY [智力] + [政治] DESC UPDATE FactSanguo11
SET [身分] = N'其他'
WHERE [身分] IS NULL SELECT [身分] ,
COUNT(*)
FROM FactSanguo11
GROUP BY [身分] SELECT *
FROM FactSanguo11
分析数据:
--统率前10:司马懿、周瑜、曹操、陆逊、关羽、邓艾、孙坚、张辽、孙策、诸葛亮
SELECT TOP 10
*
FROM FactSanguo11
ORDER BY 统率 DESC
--武力前10:吕布、张飞、关羽、马超、赵云、许褚、典韦、文丑、庞德、甘宁
SELECT TOP 10
*
FROM FactSanguo11
ORDER BY 武力 DESC
--智力前10:诸葛亮、郭嘉、贾诩、庞统、周瑜、司马懿、荀彧、陆逊、荀攸、法正
SELECT TOP 10
*
FROM FactSanguo11
ORDER BY 智力 DESC
--政治前10:荀彧、张昭、陈群、张纮、诸葛亮、曹操、司马懿、蒋琬、费祎、夏侯玄
SELECT TOP 10
*
FROM FactSanguo11
ORDER BY 政治 DESC
--魅力前10:刘备、张角、曹操、孙权、貂蝉、甄氏、关羽、荀彧、周瑜、刘虞
SELECT TOP 10
*
FROM FactSanguo11
ORDER BY 魅力 DESC
--统率武力前10:关羽、吕布、赵云、张辽、马超、孙策、孙坚、张飞、邓艾、甘宁
SELECT TOP 10
*
FROM FactSanguo11
WHERE [统率] + [武力] > 150
ORDER BY [统率] + [武力] DESC
--智力政治前10:诸葛亮、荀彧、司马懿、曹操、周瑜、鲁肃、郭嘉、贾诩、荀攸、庞统
SELECT TOP 10
*
FROM FactSanguo11
WHERE ( [智力] + [政治] > 160 )
AND ( [智力] >= 90 )
ORDER BY [智力] + [政治] DESC
分析过程:
《BI那点儿事》Microsoft 决策树算法——找出三国武将特性分布,献给广大的三国爱好者们的更多相关文章
- 《BI那点儿事》Microsoft 决策树算法
Microsoft 决策树算法是由 Microsoft SQL Server Analysis Services 提供的分类和回归算法,用于对离散和连续属性进行预测性建模.对于离散属性,该算法根据数据 ...
- 《BI那点儿事—数据的艺术》目录索引
原创·<BI那点儿事—数据的艺术>教程免费发布 各位园友,大家好,我是Bobby,在学习BI和开发的项目的过程中有一些感悟和想法,整理和编写了一些学习资料,本来只是内部学习使用,但为了方便 ...
- 《BI那点儿事》Microsoft 线性回归算法
Microsoft 线性回归算法是 Microsoft 决策树算法的一种变体,有助于计算依赖变量和独立变量之间的线性关系,然后使用该关系进行预测.该关系采用的表示形式是最能代表数据序列的线的公式.例如 ...
- 《BI那点儿事》Microsoft 神经网络算法
Microsoft神经网络是迄今为止最强大.最复杂的算法.要想知道它有多复杂,请看SQL Server联机丛书对该算法的说明:“这个算法通过建立多层感知神经元网络,建立分类和回归挖掘模型.与Micro ...
- 《BI那点儿事》数据挖掘初探
什么是数据挖掘? 数据挖掘(Data Mining),又称信息发掘(Knowledge Discovery),是用自动或半自动化的方法在数据中找到潜在的,有价值的信息和规则. 数据挖掘技术来源于数据库 ...
- 《BI那点儿事》Microsoft 聚类分析算法——三国人物身份划分
什么是聚类分析? 聚类分析属于探索性的数据分析方法.通常,我们利用聚类分析将看似无序的对象进行分组.归类,以达到更好地理解研究对象的目的.聚类结果要求组内对象相似性较高,组间对象相似性较低.在三国数据 ...
- scikit-learn决策树算法类库使用小结
之前对决策树的算法原理做了总结,包括决策树算法原理(上)和决策树算法原理(下).今天就从实践的角度来介绍决策树算法,主要是讲解使用scikit-learn来跑决策树算法,结果的可视化以及一些参数调参的 ...
- ID3决策树算法原理及C++实现(其中代码转自别人的博客)
分类是数据挖掘中十分重要的组成部分.分类作为一种无监督学习方式被广泛的使用. 之前关于"数据挖掘中十大经典算法"中,基于ID3核心思想的分类算法C4.5榜上有名.所以不难看出ID3 ...
- ID3和C4.5分类决策树算法 - 数据挖掘算法(7)
(2017-05-18 银河统计) 决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来判断其可行性的决策分析方法,是直观运用概率分析的一种图解法.由于这种决策分支画 ...
随机推荐
- E9相关技术链接
1.飞思卡尔i.MX6q安装ubuntu14.04操作系统:http://demo.netfoucs.com/bzw073/article/details/42551399 2. DS-5社区版安装: ...
- Python成长笔记 - 基础篇 (八)
socket编程 应用层: 表示层: 会话层: 传输层: 网络层: ip地址 数据链路层: MAC地址 物理层: 协议类型: TCP/IP协议:三次握手,四次断开 2. Socket 参数 ...
- i18n国际化
<% request.setAttribute("date", new Date()); request.setAttribute("salary", ...
- Javascript图表插件HighCharts用法案例
最近还在忙着基于ABP的项目,但本篇博客和ABP无关,喜欢ABP框架的朋友请点击传送门. 这不,最近项目基本功能做的差不多了,现在在做一个数据统计的功能,需要绘制区域图(或折线图)和饼图.一开始,楼主 ...
- 如何设计一门语言(八)——异步编程和CPS变换
关于这个话题,其实在(六)里面已经讨论了一半了.学过Haskell的都知道,这个世界上很多东西都可以用monad和comonad来把一些复杂的代码给抽象成简单的.一看就懂的形式.他们的区别,就像用js ...
- jQuery.width()和jQuery.css('width')的区别
[TOC] 问题描述 使用jQuery修改一个div的宽度时,发现$($0).width('10rem')总是修改成不正确的值,然后使用$($0).css('width', '10rem')时却能正确 ...
- Java的一个高性能快速深拷贝方法。Cloneable?
本人在设计数据库缓存层的时候,需要对数据进行深拷贝,这样用户操作的数据对象就是不共享的. 这个思路实际上和Erlang类似,就是用数据不共享解决并发问题. 1. 序列化? 原来的做法,是用序列化,我用 ...
- C#学习笔记 -- Attribute
学习参考: http://www.cnblogs.com/dudu/articles/4449.html http://www.cnblogs.com/anytao/archive/2007/04/1 ...
- redis配置文件redis.conf中文版(基于2.4)
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/99.html?1455869981 代码如下: # Redis示例配置文件 ...
- Redis总结笔记(二):C#连接Redis简单例子
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/113.html?1455860686 注:C#在调用Redis是不要使用S ...