我们都比较熟悉SQL语言以及各种编程语言。在Microsoft SQL Server 2005 Analysis Services(SSAS)中,数据挖掘也有自己独特的语言,即:数据挖掘扩展插件DMX语言。用DMX语言进行数据挖掘的优势在于:数据挖掘功能可以全部用语句来实现,我们可以将这些语句嵌入其它的MIS或ERP系统中,实现有机整合。本文将以某钢铁公司的炼钢抽测数据为例,为DMX语言实现数据挖掘的全过程。 本文以某钢铁公司的炼钢抽测数据为例,为DMX语言实现数据挖掘的全过程。数据源已经经过了ETL处理,其中包含终轧温度、卷取温度、粗轧出口厚度、在炉时间、C、SI、MN成分含量七个输入属性,以及由屈服强度、抗拉强度、延伸率三个指标共同生成的“是否合格”预测属性。我们需要通过DMX语句找出七个输入属性与预测属性的关联程度,并对预测属性未来趋势进行预测,最终,用户可以输入参数的特定特征来预测具备某些特征的产品成为合格产品的可能性。 一、建立挖掘结构和模型 在建立模型之前,首先用CREATE MINING STRUCTURE语句创建挖掘结构: CREATE MINING STRUCTURE [STEEL DATA MINING] ( [取样ID] LONG KEY, [终轧温度] LONG DISCRETE, [卷取温度] LONG DISCRETE, [粗轧出口厚度] LONG DISCRETE, [C] long continuous, [SI] long continuous, [在炉时间] LONG DISCRETE, [MN]LONG continuous, [是否合格] LONG DISCRETE )
其次,采用微软决策树算法和微软神经网络算法,向建好的挖掘结构中添加两个挖掘模型。用决策树算法找出七个输入属性与预测属性的关联程度,用神经网络算法来实现预测属性未来趋势的预测。使用ALTER MINING STRUCTURE(DMX)语句。向挖掘结构中添加决策树算法挖掘模型(MD_TREE)和神经网络挖掘模型(MD_NET):
ALTER MINING STRUCTURE [STEEL DATA MINING] ADD MINING MODEL [MD_TREE] ([取样ID],[终轧温度], [卷取温度], [粗轧出口厚度], [C], [SI], [在炉时间], [MN], [是否合格] predict) USING Microsoft_Decision_Trees (Complexity_Penalty=0.1) WITH DRILLTHROUGH ALTER MINING STRUCTURE [STEEL DATA MINING] ADD MINING MODEL [MD_NET] ([取样ID], [终轧温度], [卷取温度], [粗轧出口厚度], [C], [SI], [在炉时间], [MN], [是否合格] predict)USING Microsoft_Neural_Network
二、处理挖掘结构和模型 处理挖掘结构时,将读取源数据并生成支持挖掘模型的结构。处理挖掘模型时,挖掘结构定义的数据将通过所选择的数据挖掘算法进行传递。该算法将搜索趋势和模式,然后在挖掘模型中存储此信息。因此,挖掘模型不包含实际源数据,而是包含由算法发现的信息。如果更改了结构列或源数据,则只需要重新处理挖掘结构。使用INSERT INTO(DMX)语句为挖掘结构及其关联的挖掘模型定型: INSERT INTO MINING STRUCTURE [STEEL DATA MINING] ( [取样ID], [终轧温度], [卷取温度], [粗轧出口厚度], [C], [SI], [在炉时间], [MN], [是否合格]) OPENQUERY([Steel DW], 'SELECT [取样ID], [精轧终轧温度], [卷取温度], [粗轧出口厚度], [C], [SI], [在炉时间], [MN], [是否合格] from [steel_dm]')
三、浏览挖掘模型
图1:建好的结构和模型 在SQL Server Management Studio中,可以浏览我们建的模型(如图1),找出输入值与预测值之间的关联程度,也可以浏览其它各种图型界面,如果建好了多维数据集,还可以用以下语句查看和钻取模型: SELECT FROM <模型>.CONTENT SELECT DISTINCT FROM <模型> SELECT FROM <模型>.DIMENSION_CONTENT SELECT FROM <模型>.CASES SELECT FROM <模型>.SAMPLE_CASES
图2:两个模型的浏览图 四、预测查询 使用SELECT语句的SELECT FROM <model> PREDICTION JOIN(DMX)格式,用神经网络模型来创建两种不同类型的预测(如图2)。实现如下: 1、单独预测 使用单独查询,可确定单个测试产品是否合格。例如,可以使用 全文共3001字节 |