微软BI开拓者数据挖掘专区DMX 使用DMX创建管理挖掘模型

1  /  1  页   1 跳转 查看:5962

使用DMX创建管理挖掘模型

使用DMX创建管理挖掘模型

DMX(Data Mining Extensions)数据挖掘扩展插件,适用于SQL Server 2005的数据挖掘领域,也叫数据挖掘语言。DMX是一种适应时代发展,为了更好的推动数据挖掘的应用而出现的。
在关系型数据库领域,有SQL语言;在多维数据库领域,有相应的MDX语言;而在数据挖掘领域也出现了对应的DMX。这就是DMX在数据挖掘领域的地位。

那么如何使用DMX来创建、管理数据挖掘中的相关对象呢?
下面我们以一个简单的例子来进行说明:

假设我们有两个表,一个表叫做User表,表中存储的数据为音响商店的那个客户,我们用UserID来代表;另一张表叫做Movies表,里面存储的数据是那个用户买了什么电影。根据需求,我们在所有客户中找到那些电影之间的关联性最强,当然,通过Visual Studio平台,我们可以进行数据挖掘模型的建立,完成业务分析,我们在这里用DMX来实现这一功能。

第一种方式:
1、首先创建一个挖掘结构
create mining structure MovieSurvey
(
UserID text key,
Movies table
(
  UserID text discrete,
  Movie text key,
  MoviePre text discrete
 
)
);

2、为挖掘结构添加挖掘模型
alter mining structure MovieSurvey
add mining model [MovieSurvey]
(
UserID,
Movies
(
  UserID,
  Movie,
  MoviePre predict
)
)using Microsoft_association_rules(Minimum_support=20,minimum_probability=0.05)with drillthrough;



3、为数据挖掘模型填充数据,进行处理

insert into mining model [MovieSurvey]([UserID],[Movies](skip,Movie,MoviePre))
shape{openquery([DMXDS],'select UserID from [Survey] order by UserID‘)}
append(
{openquery([DMXDS],'select UserID, Movie,Movie as MoviePre from Movies order by UserID,MoviePre,Movie')}
relate UserID to UserID
) as [Models]


第二种方式:
1、直接创建挖掘模型。

create mining model Movie
(
UserID text key,
Movies table
(
  UserID text discrete,
  Movie text key,
  MoviePre text discrete predict
 
)
)using Microsoft_association_rules(Minimum_support=20,minimum_probability=0.05)with drillthrough;

2、填充数据,进行处理

insert into mining model [Movie]([UserID],[Movies](skip,Movie,MoviePre))
shape{openquery([DMXDS],'select UserID from [Survey] order by UserID’)}
append(
{openquery([DMXDS],'select UserID, Movie,Movie as MoviePre from Movies order by UserID,MoviePre,Movie')}
relate UserID to UserID
) as [Models];



这样,利用DMX就可以实现了对数据挖掘模型的创建和管理。对于更强大功能的演示,我们会在以后有更多的帖子和文章。
也欢迎大家进行讨论交流。

 

回复:使用DMX创建管理挖掘模型

可以用挖掘模型进行预测,并且相应的DMX语句可以自动生成
SELECT
  [Afinal08 Core].[PLANTNAME],
  t.[PLANTNAME] as t,
  PredictProbability([afinal08 core].[plantname])
From
  [Afinal08 Core]
PREDICTION JOIN
  OPENQUERY([Plant],
    'SELECT
      [PLANTNAME],
      [FID_VEG],
      [FID_POSI],
      [FID_ELEV]
    FROM
      [dbo].[afinalww08_core]
    ') AS t
ON
  [Afinal08 Core].[PLANTNAME] = t.[PLANTNAME] AND
  [Afinal08 Core].[FID VEG] = t.[FID_VEG] AND
  [Afinal08 Core].[FID POSI] = t.[FID_POSI] AND
  [Afinal08 Core].[FID ELEV] = t.[FID_ELEV]
 

回复:使用DMX创建管理挖掘模型

但我想知道的是,假如我希望把生成的结果重新生成一张表存储在数据库里如何做呢?我是要在程序里实现,或者能在DMX语句中实现也行
 

回复:使用DMX创建管理挖掘模型

andy 能帮我看看这个DMX查询问题出在哪儿吗?谢谢

报错信息:错误 (数据挖掘): 在第 3 行第 48 列的上下文中找不到指定的 DMX 列。

select
    t.RequestsID,
    (select $Sequence,PageName,PredictProbability([PageName]) as Histogram
        from PredictSequence([ClickPath],2))as Sequences
from Websequence PREDICTION JOIN
SHAPE {
    OPENQUERY([EBOOK DW],'select RequestsID from AssocSeqRequest')
}
APPEND (
    {OPENQUERY([EBOOK DW],'select RequestsID,LineNumber,PageName from AssocSeqLineURl')}
    RELATE RequestsId To RequestsID
)AS ClickPath AS t
ON
WebSequence.RequestsID = t.RequestsID AND
WebSequence.ClickPath.LineNumber = t.ClickPath.LineNumber AND
WebSequence.ClickPath.PageName = t.ClickPath.PageName
SQL Server技术交流群:71791281(有些问题在线解决或许会更快)

本群将从即日起严厉打击:刷屏、打广告、粘贴各种垃圾信息的ID,一经发现,马上删除。

希望通过我们的努力,能为大家打造一个健康有序的交流平台。
 

回复:使用DMX创建管理挖掘模型

这个问题已经解决了。PageName必须定义为可预测变量。
SQL Server技术交流群:71791281(有些问题在线解决或许会更快)

本群将从即日起严厉打击:刷屏、打广告、粘贴各种垃圾信息的ID,一经发现,马上删除。

希望通过我们的努力,能为大家打造一个健康有序的交流平台。
 
1  /  1  页   1 跳转

版权所有 微软BI开拓者 

Powered by Discuz!NT 2.1.202    Copyright © 2001-2010 Comsenz Inc.
Processed in 0.0468756 second(s) , 4 queries.
返顶部