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))
SqlServer2012建数据挖掘模型_第1张图片

注意:要确认是商业智能项目模式(Business Intelligence Projects)。
更改步骤:工具->导入和导出设置。
SqlServer2012建数据挖掘模型_第2张图片
一直到下一步,可以看到环境为 商业智能集合。
SqlServer2012建数据挖掘模型_第3张图片

点击 文件->新建->项目
SqlServer2012建数据挖掘模型_第4张图片

选择分析服务多维和数据挖掘项目(Analysis Services Multidimensional and Data Mining Project),项目起名为CustomerDataMining。
SqlServer2012建数据挖掘模型_第5张图片

确认项目部署的服务名:
点击项目(右键)->属性->部署->服务器为localhost。
SqlServer2012建数据挖掘模型_第6张图片 SqlServer2012建数据挖掘模型_第7张图片

创建数据源(Data Source)

数据源文件夹(右键)->新建数据源
SqlServer2012建数据挖掘模型_第8张图片

跳过欢迎页进行下一步->新建
SqlServer2012建数据挖掘模型_第9张图片

点击服务器名,选择自己的服务器(若为空则手动输入localhost)->刷新->选择数据库(这里我们从外部导入之下下载的样例数据库)->确定
SqlServer2012建数据挖掘模型_第10张图片
SqlServer2012建数据挖掘模型_第11张图片

选择服务账户
SqlServer2012建数据挖掘模型_第12张图片

数据源起名Adventure Works DW 2012,点击完成。
SqlServer2012建数据挖掘模型_第13张图片

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

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

点击数据源视图(右键)->新建数据源视图
SqlServer2012建数据挖掘模型_第14张图片

选择已有数据源->下一步
SqlServer2012建数据挖掘模型_第15张图片

选择需要的表或视图,这里我们选择:
ProspectiveBuyer (dbo) – 可能购车者信息
vTargetMail (dbo) – 曾经购车者信息
SqlServer2012建数据挖掘模型_第16张图片

点击下一步,设置视图名 Targeted Mailing,点击完成。
SqlServer2012建数据挖掘模型_第17张图片
SqlServer2012建数据挖掘模型_第18张图片

创建目标邮件结构

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

点击挖掘结构(右键)->新建挖掘结构
SqlServer2012建数据挖掘模型_第19张图片

下一步->从已有的数据仓库选择->数据挖掘结构,我们选择决策树
SqlServer2012建数据挖掘模型_第20张图片

选择数据源:
SqlServer2012建数据挖掘模型_第21张图片
SqlServer2012建数据挖掘模型_第22张图片

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

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

SqlServer2012建数据挖掘模型_第23张图片

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

点击检测按钮,对信息类型进行基本检测,点击完成。
注:这里GeographyKey 是文本,不然可能会有标识符等不识别错误。
SqlServer2012建数据挖掘模型_第24张图片

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

这里设置测试比例为30%,测试集中最大数量为1000。
SqlServer2012建数据挖掘模型_第25张图片

挖掘数据结构名:Targeted Mailing
挖掘模型名:TM_Decision_Tree
选择允许通过,点击完成。
SqlServer2012建数据挖掘模型_第26张图片
SqlServer2012建数据挖掘模型_第27张图片

添加·处理模型

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

聚类分析挖掘模型

点击结构(右键)->新建挖掘模型
SqlServer2012建数据挖掘模型_第28张图片

模型名 TM_Clustering,选择聚类分析算法。
这里写图片描述
SqlServer2012建数据挖掘模型_第29张图片

朴素贝叶斯挖掘模型

点击结构(右键)->新建挖掘模型
模型名 TM_NaiveBayes,选择朴素贝叶斯算法。
这里写图片描述

模型探索

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

决策树模型

点击查看挖掘模型视图,点击部署,运行。
SqlServer2012建数据挖掘模型_第30张图片
SqlServer2012建数据挖掘模型_第31张图片
运行报错
SqlServer2012建数据挖掘模型_第32张图片

原因是没有设置数据库的用户名。
打开管理工具,新建登录,登录名为报错内容的ODBC连接错误用户名。
SqlServer2012建数据挖掘模型_第33张图片
SqlServer2012建数据挖掘模型_第34张图片

重新部署。
SqlServer2012建数据挖掘模型_第35张图片

显示等级默认为3,这里改为4。
背景值改为1,(这里1代表曾经购买过车,0代表未曾购买过车)
SqlServer2012建数据挖掘模型_第36张图片

点击结点(右键) ->钻取->仅模型/模型和结构
SqlServer2012建数据挖掘模型_第37张图片
SqlServer2012建数据挖掘模型_第38张图片

聚类分析模型

挖掘模型部分选择聚类分析模型,选择Microsoft集群视图( Microsoft Cluster Viewer),阴影变量处选购车者,状态选1。
SqlServer2012建数据挖掘模型_第39张图片

点击节点(右键)可以进行重命名,这里将浅色节点命名Bike Buyers Low,深色节点为Bike Buyers High。
SqlServer2012建数据挖掘模型_第40张图片

点击集群配置文件,设置直方图为5,查看不同因素的影响。
SqlServer2012建数据挖掘模型_第41张图片

点击集群识别标签,设置集群1为Bike Buyers High,集群2为Bike Buyers Low。
SqlServer2012建数据挖掘模型_第42张图片

朴素贝叶斯模型

选择朴素贝叶斯模型,同样进行相关分析。
SqlServer2012建数据挖掘模型_第43张图片

测试模型

用梯度图测试准确性

选择输入数据集,模型,预测列,值。
SqlServer2012建数据挖掘模型_第44张图片

点击梯度图:
SqlServer2012建数据挖掘模型_第45张图片

测试过滤模型

之前我们已经对比得到决策树的准确性相对最高,这里用于测不同性别人购车对比。
在挖掘模型页面新建两个模型:TM_Decision_Tree_Male,TM_Decision_Tree_Female。
SqlServer2012建数据挖掘模型_第46张图片

点击决策树右键,添加模型筛选器
SqlServer2012建数据挖掘模型_第47张图片
SqlServer2012建数据挖掘模型_第48张图片

将新建的两个模型点右键进行处理
SqlServer2012建数据挖掘模型_第49张图片

对两个模型都点击挖掘模型视图,设置背景为1,等级为3。
SqlServer2012建数据挖掘模型_第50张图片

设置精确度
SqlServer2012建数据挖掘模型_第51张图片

查看不同性别对比
SqlServer2012建数据挖掘模型_第52张图片

进行预测

创建预测

在挖掘模型中,点击选择模型,选择决策树模型。
SqlServer2012建数据挖掘模型_第53张图片

在测试表中选择 ProspectiveBuyer (dbo)
SqlServer2012建数据挖掘模型_第54张图片
更改信息
SqlServer2012建数据挖掘模型_第55张图片

在解决方案资源管理器中,数据源视图右键,点击视图设计器
SqlServer2012建数据挖掘模型_第56张图片

右键表ProspectiveBuyer,新建命名计算,输入信息。
列名 calcAge,描述 Calculate age based on birthdate,表达式 DATEDIFF(YYYY,[BirthDate],getdate())
SqlServer2012建数据挖掘模型_第57张图片
SqlServer2012建数据挖掘模型_第58张图片

在挖掘模型中,重新修改连接,年龄选择ProspectiveBuyer.calcAge。
SqlServer2012建数据挖掘模型_第59张图片

source选择Prediction Function,field选择PredictProbability,alias选择Probability of result,将Bike Buyer拖到Criteria/Argument。
SqlServer2012建数据挖掘模型_第60张图片

点击查询结果
SqlServer2012建数据挖掘模型_第61张图片

钻取数据视图

在挖掘模型视图中,选择结点(例age >= 43 and < 50)右键钻取,模型和结构列,查看钻取结果。
SqlServer2012建数据挖掘模型_第62张图片
SqlServer2012建数据挖掘模型_第63张图片

你可能感兴趣的:(数据挖掘,sql,server,数据挖掘)