生成目标邮件方案及使用.docx
《生成目标邮件方案及使用.docx》由会员分享,可在线阅读,更多相关《生成目标邮件方案及使用.docx(19页珍藏版)》请在冰豆网上搜索。
生成目标邮件方案及使用
实验四、生成目标邮件方案
实验目的:
理解数据挖掘算法,利用算法找出目标客户
实验原理:
数据挖掘各算法
实验环境:
SQLServer2005
实验内容及操作步骤:
一、数据源及数据视图的创建:
一)创建AnalysisServices项目:
1.打开BusinessIntelligenceDevelopmentStudio。
2.在“文件”菜单上,指向“新建”,然后选择“项目”。
3.确保已选中“模板”窗格中的“AnalysisServices项目”。
4.在“名称”框中,将新项目命名为AdventureWorks2。
5.单击“确定”。
二)创建数据源:
选择AdventureWorksDW作为数据源。
三)创建数据源视图:
1.在解决方案资源管理器中,右键单击“数据源视图”,选择“新建数据源视图”。
系统将打开数据源视图向导。
2.在“欢迎使用数据源视图向导”页上,单击“下一步”。
3.在“选择数据源”页的“关系数据源”下,系统将默认选中您在上一个任务中创建的AdventureWorksDW数据源。
单击“下一步”。
若要创建新数据源,请单击“新建数据源”,启动数据源向导。
4.在“选择表和视图”页上,选择下列各表,然后单击右箭头键,将这些表包括在新数据源视图中:
(dbo.ProspectiveBuyer、dbo.vAssocSeqLineItems
dbo.vAssocSeqOrders、dbo.vTargetMail、dbo.vTimeSeries)
5.单击“下一步”。
6.在“完成向导”页上,默认情况下,系统将数据源视图命名为AdventureWorksDW。
单击“完成”。
四)修改数据源视图:
若要创建购物篮以及顺序分析和聚类分析方案,必须在vAssocSeqOrders和vAssocSeqLineItems表之间创建新的多对一关系。
具有这种关系之后,便可使vAssocSeqLineItems成为vAssocSeqOrders的嵌套表,以用于创建模型。
创建新的表格关系
1.在数据源视图设计器的数据源视图窗格中,选择vAssocSeqLineItems表的OrderNumber列。
2.将该列拖到vAssocSeqOrders表中,并将其放到OrderNumber列上。
现在,vAssocSeqOrders和vAssocSeqLineItems表之间便存在新的多对一关系。
二、生成目标邮件方案:
一)创建用于目标邮件方案的挖掘结构:
1.在解决方案资源管理器中,右键单击“挖掘结构”并选择“新建挖掘结构”。
系统将打开数据挖掘向导。
2.在“欢迎使用数据挖掘向导”页上,单击“下一步”。
3.在“选择定义方法”页上,确认已选中“从现有关系数据库或数据仓库”,再单击“下一步”。
4.在“选择数据挖掘技术”页的“您要使用何种数据挖掘技术?
”下,选择“Microsoft决策树”。
5.单击“下一步”。
6.在“选择数据源视图”页上,请注意已默认选中AdventureWorksDW。
在数据源视图中,单击“浏览”查看各表,然后单击“关闭”返回该向导。
7.单击“下一步”。
8.在“指定表类型”页上,选中vTargetMail表旁边“事例”列中的复选框,再单击“下一步”。
9.在“指定定型数据”页上,确保已选中CustomerKey列旁边Key列中的复选框。
10.选中BikeBuyer列旁边的“输入”和“可预测”。
11.选中以下各列旁边的“输入”复选框:
∙Age
∙CommuteDistance
∙EnglishEducation
∙EnglishOccupation
∙FirstName
∙Gender
∙GeographyKey
∙HouseOwnerFlag
∙LastName
∙MaritalStatus
∙NumberCarsOwned
∙NumberChildrenAtHome
∙Region
∙TotalChildren
∙YearlyIncome
使用Shift键可以同时选中多列。
12.单击“下一步”。
13.在“指定列的内容和数据类型”页上,单击“检测”。
14.单击“检测”之后,请确保“内容类型”和“数据类型”列中的各项具有下表中列出的设置。
列
内容类型
数据类型
Age
连续
Long
BikeBuyer
离散
Long
CommuteDistance
离散
Text
CustomerKey
键
Long
EnglishEducation
离散
Text
EnglishOccupation
离散
Text
FirstName
离散
Text
Gender
离散
Text
GeographyKey
离散
Text
HouseOwnerFlag
离散
Text
LastName
离散
Text
MaritalStatus
离散
Text
NumberCarsOwned
离散
Long
NumberChildrenAtHome
离散
Long
Region
离散
Text
TotalChildren
离散
Long
YearlyIncome
连续
Double
15.单击“下一步”。
16.在“完成向导”页上的“挖掘结构名称”中,键入TargetedMailing。
17.在“挖掘模型名称”中,键入TM_Decision_Tree。
18.选中“允许钻取”复选框。
19.单击“完成”。
二)修改目标邮件模型:
1)创建聚类分析挖掘模型:
1.切换到BusinessIntelligenceDevelopmentStudio中数据挖掘设计器的“挖掘模型”选项卡。
请注意,设计器显示两列,一列是挖掘结构,另一列是在本实验的上一任务中创建的初始挖掘模型。
2.右键单击“结构”列,选择“新建挖掘模型”。
此时,系统将打开“新建挖掘模型”对话框。
3.在“模型名称”中,键入TM_Clustering。
4.在“算法名称”中,选择“Microsoft聚类分析”。
5.单击“确定”。
2)创建naivebayes模型:
1.在数据挖掘设计器的“挖掘模型”选项卡中,右键单击“结构”列,并选择“新建挖掘模型”。
此时,系统将打开“新建挖掘模型”对话框。
2.在“模型名称”中,键入TM_NaiveBayes。
3.在“算法名称”中,选择MicrosoftNaiveBayes。
单击“确定”。
屏幕上将显示一条消息,说明MicrosoftNaiveBayes算法不支持Age、GeographyKey和YearlyIncome列,这些都是连续列。
若要在NaiveBayes模型中使用这些列,必须对其进行离散化。
4.单击“是”,以确认此消息并继续下面的操作。
此时在“挖掘模型”选项卡中将显示新模型。
3)部署处理挖掘模型:
按F5。
AnalysisServices数据库将部署到服务器上,而挖掘模型也将得到处理。
如果数据库已经部署到服务器上,则可使用下列过程,以便只处理挖掘模型。
在项目已部署完成时处理挖掘模型:
1.在BIDevelopmentStudio的“挖掘模型”菜单上,单击“处理挖掘结构和所有模型”。
“处理挖掘结构-<目标邮件>”对话框打开。
2.
单击“运行”。
此时,系统将打开“处理进度”对话框,以显示有关模型处理的信息。
3.处理完毕后,在“处理进度”和“处理挖掘结构-<目标邮件>”对话框中单击“关闭”。
三、浏览目标邮件模型:
一)Microsoft决策树模型:
为AdventureWorksDM项目切换到数据挖掘设计器中的“挖掘模型查看器”选项卡时,该设计器将打开并显示结构中的第一个模型,用于在AnalysisServices中生成模型的每种算法将返回不同类型的结果。
在“挖掘模型查看器”选项卡上显示该模型。
决策树:
本项目中的目标邮件模型仅包含单个可预测属性(BikeBuyer),所以只需查看一个树。
如果存在更多树,则可以使用“树”框来选择其他树。
可以使用“显示级别”滑块或“默认扩展”列表查看更多级别。
1)修改树:
1.将“显示级别”滑块滑到5。
2.将“背景”列表更改为1。
通过更改“背景”设置,可以迅速查看每个节点中现有数目为1的BikeBuyer事例。
节点的底纹颜色越深,表示节点中的事例越多。
决策树中的每个节点可显示下列信息:
∙要从某节点的前一个节点访问该节点所需的条件。
可以在“挖掘图例”中查看完整节点路径,也可以将光标停留在节点上以显示InfoTip。
∙按畅销程度说明可预测列的状态分布的直方图。
可以使用“直方图”控件控制直方图中显示的状态数。
∙事例集中度,前提是已在“背景”控件中指定了可预测属性的状态。
通过右键单击节点,再选择“钻取”,可查看每个节点支持的定型事例。
2)相关性网络:
“相关性网络”选项卡可以显示决定挖掘模型预测能力的各个属性之间的关系。
相关性网络的中间节点(BikeBuyer)表示挖掘模型中的可预测属性。
周围的每个节点各表示一个会影响可预测属性的结果的属性。
可使用该选项卡左侧的滑块控制显示的链接的强度。
向下移动滑块时,仅显示最强链接。
单击网络中的单个节点,然后参考选项卡底部的颜色图例,可查看所选节点预测哪些节点,它本身又是由哪些节点预测的。
二)Microsoft聚类分析模型:
使用“挖掘模型查看器”选项卡顶部的“挖掘模型”列表,可切换到TM_Clustering模型。
该模型的查看器是Microsoft分类查看器,它包含四个选项卡:
“分类关系图”、“分类剖面图”、“分类特征”和“分类辨别”。
默认情况下,查看器初次打开时将显示“分类关系图”选项卡。
分类关系图:
使用“分类关系图”选项卡,可以浏览算法发现的分类之间的关系。
分类之间的线条表示“接近程度”,其明暗度取决于分类之间的相似程度。
每个分类的实际颜色表示分类中变量和状态的出现频率。
可以在节点顶部的“明暗度变量”和“状态”框中选择变量和状态。
分类剖面图:
您在查看器中可以看到,在“分类剖面图”选项卡中,模型中每个分类都有一个对应的列。
第一列列出至少与一个分类关联的属性。
查看器的其余部分包含每个分类的某个属性的状态分布。
离散变量的分布以彩色条显示,最大条数在“直方图条”列表中显示。
连续属性以菱形图显示,表示每个分类中的平均偏差和标准偏差。
分类特征:
使用“分类特征”选项卡,您可以更加详细地检查组成分类的特征。
分类辨别:
使用“分类辨别”选项卡,可以浏览区分分类的特征。
从“分类1”和“分类2”框中选择两个分类后,查看器会确定相应分类之间的区别,并按各分类最独特的属性排序显示。
三)MicrosoftNaiveBayes模型:
使用“挖掘模型查看器”选项卡顶部的“挖掘模型”列表,可切换到TM_NaiveBayes模型。
该模型的查看器是MicrosoftNaiveBayes查看器,它包含四个选项卡:
“相关性网络”、“属性配置文件”、“属性特征”和“属性辨别”。
相关性网络:
“相关性网络”选项卡的功能与Microsoft树查看器的“相关性网络”选项卡的功能相同。
查看器中的每个节点代表一个属性,而节点之间的线条代表关系。
在查看器中,您可以查看影响可预测属性(BikeBuyer)的状态的所有属性。
向下滑动滑块时,将只显示对BikeBuyer列具有最强影响的属性。
通过调整滑块,可以发现拥有的汽车数是决定某个人是否购买自行车的最主要因素。
属性配置文件:
“属性配置文件”选项卡说明输入参数的不同状态对可预测属性结果的影响。
在“可预测”框中,确保已选中BikeBuyer。
系统在列出影响该可预测属性状态的属性的同时,还列出每个输入属性状态的值及其在可预测属性的每个状态中的分布。
属性特征:
使用“属性特征”选项卡,可以选择属性和值,以确定所选值事例中出现其他属性值的频率。
在“属性”列表中,确保已选中BikeBuyer,并在“值”列表中选择1。
在查看器中,您将看到,购买自行车的大都是通勤距离在零到一英里之间的人以及居住在北美地区的人。
属性辨别:
使用“属性辨别”选项卡,可以查看所选可预测属性的两个离散值与其他属性值之间的关系。
由于TM_NaiveBayes仅有1和0两个状态,所以您无需更改查看器。
四、测试挖掘模型的准确性:
一)映射输入列:
测试挖掘模型准确性的第一步是将挖掘结构中的列映射到输入数据中的列。
如果直接映射列名,则数据挖掘设计器将自动创建关系。
1)将输入列映射到挖掘结构:
1.在数据挖掘设计器的“挖掘准确性图表”选项卡的“列映射”选项卡上,单击“选择输入表”框上的“选择事例表”。
系统将打开“选择表”对话框。
在该对话框中,可以选择包含输入数据的表,将需要在预测查询中使用这些数据来确定模型的准确性。
2.在“数据源”列表中,确保已选中AdventureWorksDW。
3.在“表/视图名称”列表中,选择vTargetMail,再单击“确定”。
挖掘结构中的列会自动映射到输入表中具有相同名称的列。
2)筛选输入行:
可以使用“筛选用于生成提升图的输入数据”下的网格来筛选输入数据。
可以将列从“选择输入表”拖到该网格,还可以通过单击网格的列并使用出现的值列表来选择值。
例如,如果要将输入行限制为那些“收益”列大于x的输入行,请在“源”列中选择vTargetMail,在“字段”列中选择“收益(yearlyincom))”,然后在“条件/参数”列中键入>x。
本实验不进行筛选:
3)选择模型、可预测列和值:
下一步是选择需要包含在提升图中的模型以及选择用于比较模型的可预测列。
本实验,请选中所有模型。
可以创建两种类型的准确性图表。
I)显示模型的提升:
1.在“选择要在提升图中显示的可预测的挖掘模型列”下,确保已在每个模型的“可预测的列名”列表中选中BikeBuyer。
2.在“预测值”列中,为每个模型选择1。
II)显示模型的准确性:
∙在“选择要在提升图中显示的可预测的挖掘模型列”下,确保已在每个模型的“可预测的列名”列表中选中BikeBuyer。
将“预测值”列保留为空。
注意:
“可预测的列名”列表中列出的挖掘模型列只限于那些使用类型设置为Predict或PredictOnly的列。
这些列还必须基于内容类型为Discrete或Discretized的挖掘结构列。
在一些高级方案中,可能需要生成一个提升图。
在该图中,两个挖掘模型具有一个可预测列,这两个模型并不基于同一个挖掘结构列,但是包含相同的数据。
如果已清除“同步预测列和值”复选框,则可以选择任意有效的可预测列和值。
然后将所有结果绘制成图。
4)查看提升图:
若要查看提升图,请切换到“挖掘准确性图表”的“提升图”选项卡。
当您单击该选项卡时,便会基于挖掘结构和输入表对服务器和数据库运行预测查询。
然后将预测结果与已知的实际值进行比较,并将预测结果绘制在图上。
五、创建预测:
测试完挖掘模型的准确性并确定对这些模型满意之后,便可使用数据挖掘设计器中“挖掘模型预测”选项卡上的预测查询生成器来创建数据挖掘扩展插件(DMX)预测查询。
预测查询生成器与访问查询生成器类似;可以使用拖放操作生成查询。
预测查询生成器包含下列视图:
∙设计
∙查询
∙结果
使用“设计”和“查询”视图,可以生成并检查查询。
然后可以在“结果”视图中运行查询并查看结果。
一)创建查询:
创建预测查询的第一步是选择挖掘模型和输入表。
I)选择模型和输入表:
1.在数据挖掘设计器“挖掘模型预测”选项卡的“挖掘模型”框中,单击“选择模型”。
系统将打开“选择挖掘模型”对话框。
2.在整个树中导航到“目标邮件”结构,展开该结构并选择TM_Decision_Tree,再单击“确定”。
3.在“选择输入表”框中,单击“选择事例表”。
系统将打开“选择表”对话框。
4.在“数据源”列表中,确保已选中AdventureWorksDW。
5.在“表/视图名称”中,选择ProspectiveBuyer表,再单击“确定”。
II)生成预测查询:
1.在“挖掘模型预测”选项卡上网格内的“源”列中,单击第一个空行中的单元格,然后选择ProspectiveBuyer。
2.在ProspectiveBuyer行的“字段”列中,确保已选中ProspectAlternateKey。
3.在“源”列中,单击下一个空行,然后选择TM_Decision_Tree。
4.在TM_Decision_Tree行的“字段”列中,确保已选中“自行车购买者(BikeBuyer))”。
这样会指定将目标邮件结构中的Microsoft决策树模型用于创建预测。
5.在“源”列下,单击下一个空行,然后选择“预测函数”。
6.在“预测函数”行的“字段”列中,选择PredictProbability。
7.在PredictProbability行的“条件/参数”列中,键入[TM_Decision_Tree].[BikeBuyer]。
这将指定PredictProbability函数的目标列。
在“挖掘模型预测”选项卡的工具栏上,单击第一个工具“切换到查询设计视图/切换到查询结果视图”按钮,可切换到“查询”视图并检查预测查询生成器创建的DMX代码。
您还可以运行查询,修改查询,并运行修改后的查询。
二)查看结果:
通过单击“切换到查询设计视图/切换到查询结果视图”按钮(即工具栏上的第一个按钮)旁边的箭头并选择“结果”,可以运行查询。
ProspectAlternateKey、BikeBuyer以及Expression列标识潜在的客户,指示潜在的客户是否为自行车购买者,并预测正确的概率。
则可以根据这些结果来决定应该向哪些潜在客户发送邮件。
实验五、生成预测方案
VisualBasic(Declaration)
C#
C++
J#
JScript
实验目的:
理解数据挖掘算法及其使用
实验原理:
时序算法及决策树等做出相关预测
实验环境:
SQLServer2005
实验内容及操作步骤:
为了找到所需的信息,在本实验中将按月调查公司的数据,并将销售区分为三个区域:
欧洲、北美洲以及太平洋地区。
完成本课程中的任务之后,便能回答下列问题:
●一年中的销售旺季是什么时候?
●不同型号自行车的销售量在一段时期内是如何相互影响的?
●对于上述三个区域,是否存在一种销售模式?
若要完成本课程中的任务,需要了解Microsoft时序算法。
一、创建预测挖掘模型结构:
VisualBasic(Declaration)
C#
C++
J#
JScript
1.在BusinessIntelligenceDevelopmentStudio的解决方案资源管理器中,右键单击“挖掘结构”,再选择“新建挖掘结构”。
此时,系统将打开数据挖掘向导。
2.在“欢迎使用数据挖掘向导”页上,单击“下一步”。
3.在“选择定义方法”页上,确保已选中“从现有关系数据库或数据仓库”,再单击“下一步”。
4.在“选择数据挖掘技术”页的“您要使用何种数据挖掘技术?
”下,选择“Microsoft时序”,再单击“下一步”。
“选择数据源视图”页随即显示。
默认情况下,“可用数据源视图”下的AdventureWorksDW为选中状态。
5.单击“下一步”。
6.在“指定表类型”页上,选择vTimeSeries表旁边的“事例”复选框,再单击“下一步”。
7.在“定型数据”页上,选择TimeIndex和ModelRegion列旁边的“键”复选框。
8.选择“Quantity”列旁边的“输入”和“可预测”复选框。
这表示您要预测此列。
9.单击“下一步”。
“指定列的内容和数据类型”页将随即显示。
TimeIndex列自动指定为KeyTime列,ModelRegion列指定为键列。
这表示将为ModelRegion列的每个唯一条目建立独立的时序模型。
TimeIndex列中的值在ModelRegion列的所有值中必须是唯一的。
10.单击“下一步”。
11.在“完成向导”页的“挖掘结构名称”中,键入Forecasting。
12.在“挖掘模型名称”中,键入Forecasting,再单击“完成”。
系统将打开数据挖掘设计器,显示刚创建的Forecasting挖掘结构。
VisualBasic(Declaration)
C#
C++
J#
JScript
二、修改挖掘结构:
使用数据挖掘设计器的“挖掘结构”选项卡,可以更改挖掘结构。
使用数据挖掘向导创建该模型时,仅使用了以下三个列:
TimeIndex、ModelRegion和Quantity。
“预测”表还包含“金额”列,该列可用于预测销售额。
使用“挖掘结构”选项卡,可以将该列从数据源视图添加到挖掘结构中。
一)将“amount”列添加到“预测”挖掘结构:
1.在数据挖掘设计器的“挖掘结构”选项卡的“数据源视图”窗格中,在vTimeSeries表中选择“amount”列。
2.将“金额”列从“数据源视图”窗格拖到“预测”结构的列列表中。
现在,“amount”列成了“预测”挖掘结构的一部分。
二)修改挖掘模型:
1)定义“amount”列的使用方式:
1.
在“挖掘模型”选项卡上网格的“预测”列中,单击与“金额”行对应的单元格。
此时将显示一个包含“忽略”、“Input”、“predict”和“predictonly”的列表。