SqlServer2012建数据挖掘模型

  Microsoft SQL Server提供了集成的数据挖掘建模分析环境,这里我们用SQL Server官网提供的数据创建模型并用于分析顾客购车行为,从而预测潜在购车客户。

 

前提条件

准备分析服务数据库

  • 创建分析服务项目Analysis Services Project
  • 创建数据源Data Source
  • 创建数据源视图Data Source View
  • 创建目标邮件结构
  • 创建目标邮件挖掘模型结构Targeted Mailing Mining Model Structure
  • 确认数据类型内容类型Content and Data Type
  • 确认测试数据集结构Testing Data Set for the Structure
  • 添加处理模型
  • 聚类分析挖掘模型
  • 朴素贝叶斯挖掘模型
  • 模型探索
  • 决策树模型
  • 聚类分析模型
  • 朴素贝叶斯模型

测试模型

  • 用梯度图测试准确性
  • 测试过滤模型
  • 进行预测
  • 创建预测
  • 钻取数据视图

 

前提条件

安装:Microsoft SQL Server 2012 (注:最好英文版,中文版有些地方可能会出错)  安装:多维模式下的Microsoft SQL Server 分析服务  数据库:采用官网的样例数据库 http://go.microsoft.com/fwlink/?LinkId=88417

准备分析服务数据库

  使用SQL Server建立商业智能应用程序( business intelligence application)进行建模分析。用数据工具(SQL Server Data Tools (SSDT))建立分析服务项目(SQL Server Analysis Services project),之后建立一或多个数据源(data sources),然后定义元数据视图(data source view)。

创建分析服务项目(Analysis Services Project)

打开SQL Server数据工具(SQL Server Data Tools (SSDT)) 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_SqlServer

注意:要确认是商业智能项目模式(Business Intelligence Projects)。 

更改步骤:工具->导入和导出设置。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_右键_02

一直到下一步,可以看到环境为 商业智能集合。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_右键_03

点击 文件->新建->项目 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_04

选择分析服务多维和数据挖掘项目(Analysis Services Multidimensional and Data Mining Project),项目起名为CustomerDataMining。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_SqlServer_05

确认项目部署的服务名: 

点击项目(右键)->属性->部署->服务器为localhost。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_06

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_Data_07

创建数据源(Data Source)

数据源文件夹(右键)->新建数据源 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_右键_08

跳过欢迎页进行下一步->新建 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_09

点击服务器名,选择自己的服务器(若为空则手动输入localhost)->刷新->选择数据库(这里我们从外部导入之下下载的样例数据库)->确定 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_Data_10

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_11

选择服务账户 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_12

数据源起名Adventure Works DW 2012,点击完成。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_右键_13

创建数据源视图(Data Source View)

通过数据源视图,我们可以选择项目所需要的数据,建立表之间的关系,在不修改原来的数据的情况下修改数据的结构。

点击数据源视图(右键)->新建数据源视图 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_Data_14

选择已有数据源->下一步 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_Data_15

选择需要的表或视图,这里我们选择: 

ProspectiveBuyer (dbo) – 可能购车者信息 

vTargetMail (dbo) – 曾经购车者信息 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_16

点击下一步,设置视图名 Targeted Mailing,点击完成。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_SqlServer_17

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_18

创建目标邮件结构

创建目标邮件挖掘模型结构(Targeted Mailing Mining Model Structure)

点击挖掘结构(右键)->新建挖掘结构 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_19

下一步->从已有的数据仓库选择->数据挖掘结构,我们选择决策树 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_20

选择数据源: 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_SqlServer_21

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_Data_22

选择模型信息,我们最少需要一个预测列,一个输入列和一个关键值列。

预测列:  • BikeBuyer  关键值:  • CustomerKey  输入列:  • Age  • CommuteDistance  • EnglishEducation  • EnglishOccupation  • Gender  • GeographyKey  • HouseOwnerFlag  • MaritalStatus  • NumberCarsOwned  • NumberChildrenAtHome • Region  • TotalChildren  • YearlyIncome  其他分析列:  • AddressLine1  • AddressLine2  • DateFirstPurchase • EmailAddress  • FirstName  • LastName

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_SqlServer_23

确认数据类型,内容类型(Content and Data Type)

点击检测按钮,对信息类型进行基本检测,点击完成。 

注:这里GeographyKey 是文本,不然可能会有标识符等不识别错误。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_24

确认测试数据集结构(Testing Data Set for the Structure)

这里设置测试比例为30%,测试集中最大数量为1000。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_25

挖掘数据结构名:Targeted Mailing 

挖掘模型名:TM_Decision_Tree 

选择允许通过,点击完成。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_SqlServer_26

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_SqlServer_27

添加·处理模型

点击挖掘模型页面,我们可以看到之前建立的决策树模型,这里我们再建立两个模型,模型处理这里省略了。

聚类分析挖掘模型

点击结构(右键)->新建挖掘模型 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_28

模型名 TM_Clustering,选择聚类分析算法。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_29

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_30

朴素贝叶斯挖掘模型

点击结构(右键)->新建挖掘模型 

模型名 TM_NaiveBayes,选择朴素贝叶斯算法。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_右键_31

模型探索

由于挖掘模型的结果是复杂的,因而我们采用图形等简易的方式进行展示更加直观。

决策树模型

点击查看挖掘模型视图,点击部署,运行。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_32

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_33

运行报错 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_34

原因是没有设置数据库的用户名。 

打开管理工具,新建登录,登录名为报错内容的ODBC连接错误用户名。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_35

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_36

重新部署。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_Data_37

显示等级默认为3,这里改为4。 

背景值改为1,(这里1代表曾经购买过车,0代表未曾购买过车) 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_SqlServer_38

点击结点(右键) ->钻取->仅模型/模型和结构 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_Data_39

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_右键_40

聚类分析模型

挖掘模型部分选择聚类分析模型,选择Microsoft集群视图( Microsoft Cluster Viewer),阴影变量处选购车者,状态选1。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_41

点击节点(右键)可以进行重命名,这里将浅色节点命名Bike Buyers Low,深色节点为Bike Buyers High。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_42

点击集群配置文件,设置直方图为5,查看不同因素的影响。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_43

点击集群识别标签,设置集群1为Bike Buyers High,集群2为Bike Buyers Low。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_44

朴素贝叶斯模型

选择朴素贝叶斯模型,同样进行相关分析。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_Data_45

测试模型

用梯度图测试准确性

选择输入数据集,模型,预测列,值。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_46

点击梯度图: 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_47

测试过滤模型

之前我们已经对比得到决策树的准确性相对最高,这里用于测不同性别人购车对比。 

在挖掘模型页面新建两个模型:TM_Decision_Tree_Male,TM_Decision_Tree_Female。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_右键_48

点击决策树右键,添加模型筛选器 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_Data_49

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_SqlServer_50

将新建的两个模型点右键进行处理 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_51

对两个模型都点击挖掘模型视图,设置背景为1,等级为3。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_右键_52

设置精确度 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_SqlServer_53

查看不同性别对比 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_SqlServer_54

进行预测

创建预测

在挖掘模型中,点击选择模型,选择决策树模型。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_55

在测试表中选择 ProspectiveBuyer (dbo) 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_56

更改信息 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_SqlServer_57

在解决方案资源管理器中,数据源视图右键,点击视图设计器 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_58

右键表ProspectiveBuyer,新建命名计算,输入信息。 

列名 calcAge,描述 Calculate age based on birthdate,表达式 DATEDIFF(YYYY,[BirthDate],getdate()) 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_Data_59

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_60

在挖掘模型中,重新修改连接,年龄选择ProspectiveBuyer.calcAge。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据分析_61

source选择Prediction Function,field选择PredictProbability,alias选择Probability of result,将Bike Buyer拖到Criteria/Argument。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_Data_62

点击查询结果 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_Data_63

钻取数据视图

在挖掘模型视图中,选择结点(例age >= 43 and < 50)右键钻取,模型和结构列,查看钻取结果。 

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_数据源_64

sql server数据库数据模型论文参考文献 sql server2012数据库的数据模型是_右键_65