BINo07Topic08BISampleDMXSQL ServerWord文档下载推荐.docx
《BINo07Topic08BISampleDMXSQL ServerWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《BINo07Topic08BISampleDMXSQL ServerWord文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
2.2vTargetMail(视图)模式
2.3表ProspectiveBuyer模式
3.实验步骤
(1)在SQLServerManagementStudio中连接AS服务器;
(2)选定项目;
(3)新建查询;
(4)调试MDX。
4.决策树分类分析
下面是一个应用DMX创建挖掘结构、挖掘模型,训练挖掘模型及进行预测的完整过程例子。
条件:
在BesinessIntelligenceVisualStudio中建立了数据源AdventureWorksDW(与AdventureWorksDW连接)。
4.1模型创建
createminingmodelTarget_mail
(
CustomerKeylongkey,
AgelongContinuous,
CommuteDistanceTextDiscrete,
NumberCarsOwnedlongDiscrete,
NumberChildrenAtHomelongDiscrete,
RegionTextDiscrete,
TotalChildrenlongDiscrete,
YearlyIncomelongcontinuous,
BikeBuyerlongDiscretepredict
)
usingMicrosoft_Decision_Trees
--上述创建过程中,同时产生一个挖掘结构Target_mail_Structure和该结构化的一个挖掘模型Target_mail。
--也可以采用分步方式实现
--先定义结构Target_mail_Structure
/*
createminingstructureTarget_mail_Structure
(
BikeBuyerlongDiscrete
*/
--再基于该结构构建一个挖掘模型
alterminingstructureTarget_mail_Structure
addminingmodelTarget_mail_1
(CustomerKeynotnull,--notnull:
建模标志
Age,
CommuteDistance,
NumberCarsOwned,
NumberChildrenAtHome,
Region,
TotalChildren,
YearlyIncome,
BikeBuyerpredict--predict预测子句
)
usingMicrosoft_Decision_Trees;
4.2模型训练
InsertintoTarget_mail
CustomerKey,
BikeBuyer
openquery([AdventureWorksDW],
'
select--属性与上述对应
fromvTargetMail
--查看模型内容,模型必须训练后才可以查看
select*
fromTarget_mail.CONTENT
select
attribute_name,
node_type,node_caption,
[children_cardinality],
node_description,
marginal_rule
orderbynode_caption
4.3预测查询
--简单预测,单独预测
有一个用户:
年龄40,距离5Miles,1座房子,0个轿车,0个孩子,0个孩子在家,年收入50000,即
[Age]=35,
[CommuteDistance]='
5Miles'
[HouseOwnerFlag]='
1'
[NumberCarsOwned]=0,
[TotalChildren]=0,
[NumberChildrenAtHome]=0,
[YearlyIncome]=50000
查询:
他会买自行车吗?
SELECT
[Target_mail].[BikeBuyer],
PredictHistogram([BikeBuyer])
FROM
[Target_mail]
NATURALPREDICTIONJOIN
(SELECT
35AS[Age],
'
AS[CommuteDistance],
AS[HouseOwnerFlag],
0AS[NumberCarsOwned],
0AS[TotalChildren],
0AS[NumberChildrenAtHome],
50000AS[YearlyIncome])ASt
结论:
85%可能会买
注意:
将4个属性值映射到模型,如果已知的值过少则预测效果受影响,如一下仅给定年龄,无论年龄取什么值,结果都是0。
(SELECT50AS[Age]
)ASt
--成批预测
t.[ProspectAlternateKey],
PredictProbability([Target_mail].[BikeBuyer])
From
PREDICTIONJOIN
OPENQUERY([AdventureWorksDW],
[ProspectAlternateKey],
[YearlyIncome],
[NumberChildrenAtHome],
[HouseOwnerFlag],
[NumberCarsOwned]
FROM
[dbo].[ProspectiveBuyer]'
ON
[Target_mail].[YearlyIncome]=t.[YearlyIncome]AND
[Target_mail].[NumberChildrenAtHome]=t.[NumberChildrenAtHome]AND
[Target_mail].[NumberCarsOwned]=t.[NumberCarsOwned]
ON子句定义了源查询中的列与挖掘模型中的列之间的映射。
该映射用于将源查询中的列定向到挖掘模型中的列,这样在创建预测时便可将这些列用作输入。
4.4对比:
贝叶斯模型
采用贝叶斯模型验证上述决策树模型,与SQLServerBusinessIntelligenceDevelopmentStudio中的决策树模型对比,注意贝叶斯模型“Age”及“YearlyIncome”属性做了离散化处理,连续数值属性模型不支持。
--创建结构、模型
createminingmodelTarget_mail_BY
AgelongDiscrete,
YearlyIncomelongDiscrete,
usingMicrosoft_NAIVE_BAYES
--模型训练
InsertintoTarget_mail_BY
--预测查询
[Target_mail_BY].[BikeBuyer],
PredictProbability([Target_mail_BY].[BikeBuyer])
[Target_mail_BY]
[Target_mail_BY].[YearlyIncome]=t.[YearlyIncome]AND
[Target_mail_BY].[NumberChildrenAtHome]=t.[NumberChildrenAtHome]AND
[Target_mail_BY].[NumberCarsOwned]=t.[NumberCarsOwned]
4.5模型结构及模型删除
--模型结构删除
DROPMININGSTRUCTURETarget_mail_Structure
--模型删除
DROPMININGMODELTarget_mail
4.6模型复制
SELECT*INTOnew_Target_mail--新模型,可以选部分属性列,也可以全选
usingMicrosoft_Decision_Trees--指定算法
fromTarget_mail--已有模型