数据挖掘实验文档格式.docx

上传人:b****5 文档编号:21778705 上传时间:2023-02-01 格式:DOCX 页数:12 大小:618.61KB
下载 相关 举报
数据挖掘实验文档格式.docx_第1页
第1页 / 共12页
数据挖掘实验文档格式.docx_第2页
第2页 / 共12页
数据挖掘实验文档格式.docx_第3页
第3页 / 共12页
数据挖掘实验文档格式.docx_第4页
第4页 / 共12页
数据挖掘实验文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据挖掘实验文档格式.docx

《数据挖掘实验文档格式.docx》由会员分享,可在线阅读,更多相关《数据挖掘实验文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

数据挖掘实验文档格式.docx

专业班级

软件0802

组别

同组者

实验日期

年月日

第一部分:

实验分析与设计(可加页)

一、实验内容描述(问题域描述)

问题描述:

此实验为设计型实验,选择一种数据仓库管理系统,如SQLServerAnalysisManager进行数据仓库的设计,并进行多维数据分析。

二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)

建立数据库和数据源

建立多维数据集

三、主要仪器设备及耗材

微机、MicrosoftSQLServer2008AnalysisServices

第二部分:

实验调试与结果分析(可加页)

一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)

建立数据库结构:

在AnalysisManager树视图中展开“AnalysisServers”。

单击服务器名称,即可建立与AnalysisServers的连接。

给自己的数据库命名

Link

选择foodmart

Designourcube

欢迎对话框

小的数据浏览

选择区域表,建立多维数据库

我们先选择sales_country,sales_region,sales_state_province,sales_district,andsales_city

提示有潜在威胁

二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)

创建的数据仓库及多维数据如下图:

三、实验小结、建议及体会

通过本次实验,了解了数据仓库建立的步骤,熟悉了MicrosoftSQLServer2000AnalysisServices下的SQLServerAnalysisManager的使用。

对数据挖掘如何在机器上实现有了进一步的了解。

对常见数据模型的创建过程及结构有了了解.

综合运用所学,实现一个经典挖掘算符

一、实验内容描述(问题域描述)

此实验为综合型实现,要求学生综合利用先修课程高级程序设计语言、数据库、算法设计与分析,与本门数据挖掘课程的知识,选择一种编辑工具,如VisualC++,实现经典挖掘算法Apriori或算法K-Means.

三、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)

Apriori算法是一个挖掘关联规则的算法,是Agrawal等设计的一个基本算法,这是一个采用两阶段挖掘的思想,并且基于多次扫描事务数据库来执行的。

Apriori算法的设计可以分解为两步骤来执行挖掘:

1.从事务数据库(D)中挖掘出所有频繁项集。

支持度大于最小支持度minSup的项集(Itemset)称为频集(FrequentItemset)。

首先需要挖掘出频繁1-项集;

然后,继续采用递推的方式来挖掘频繁k-项集(k>

1),具体做法是:

在挖掘出候选频繁k-项集(Ck)之后,根据最小置信度minSup来筛选,得到频繁k-项集。

最后合并全部的频繁k-项集(k>

0)。

挖掘频繁项集的算法描述如下:

(1)L1=find_frequent_1-itemsets(D);

//挖掘频繁1-项集,比较容易

(2)for(k=2;

Lk-1≠Φ;

k++){

(3)Ck=apriori_gen(Lk-1,min_sup);

//调用apriori_gen方法生成候选频繁k-项集

(4)foreachtransactiont∈D{//扫描事务数据库D(5)Ct=subset(Ck,t);

(6)foreachcandidatec∈Ct(7)c.count++;

//统计候选频繁k-项集的计数(8)}

(9)Lk={c∈Ck|c.count≥min_sup}//满足最小支持度的k-项集即为频繁k-项集(10)}

(11)returnL=∪kLk;

//合并频繁k-项集(k>

0)

2.基于第1步挖掘到的频繁项集,继续挖掘出全部的频繁关联规则。

置信度大于给定最小置信度minConf的关联规则称为频繁关联规则(FrequentAssociationRule)。

在这一步,首先需要从频繁项集入手,首先挖掘出全部的关联规则(或者称候选关联规则),然后根据minConf来得到频繁关联规则。

挖掘频繁关联规则的算法描述如下:

(1)初始状态:

L=∪kLk;

AR=Φ;

//L是频繁项集集合,AR是频繁关联规则集合

(2)forallλk(λk是L的元素,是一个k-频繁项集,大小为n){

(3)forallαk(αk是λk的非空真子集){

(4)if(αk→βm的置信度>

=minConf){//这里,m+k=n,其中αk→βm是一个关联规则

(5)AR=AR∪(αk→βm);

(6)}(7)}(8)}(9)returnAR;

微机、MyEclipse6.5

一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)

对Apriori算法的实现进行了简单的测试,测试用例如下所示:

packageorg.shirdrn.datamining.association;

importjava.util.HashMap;

importjava.util.Map;

importjava.util.Set;

importjava.util.TreeSet;

importorg.shirdrn.datamining.association.AprioriAlgorithm;

importjunit.framework.TestCase;

/**

*<

B>

Apriori算法测试类<

/B>

*/

publicclassTestAprioriAlgorithmextendsTestCase{

privateAprioriAlgorithmapriori;

privateMap<

Integer,Set<

String>

>

txDatabase;

privateFloatminSup=newFloat("

0.50"

);

privateFloatminConf=newFloat("

0.70"

protectedvoidsetUp()throwsException{

create();

//构造事务数据库

apriori=newAprioriAlgorithm(txDatabase,minSup,minConf);

}

*构造模拟事务数据库txDatabase

publicvoidcreate(){

txDatabase=newHashMap<

();

Set<

set1=newTreeSet<

set1.add("

A"

B"

C"

E"

txDatabase.put(1,set1);

set2=newTreeSet<

set2.add("

txDatabase.put(2,set2);

set3=newTreeSet<

set3.add("

D"

txDatabase.put(3,set3);

set4=newTreeSet<

set4.add("

txDatabase.put(4,set4);

*测试挖掘频繁1-项集

publicvoidtestFreq1ItemSet(){

System.out.println("

挖掘频繁1-项集:

"

+apriori.getFreq1ItemSet());

*测试aprioriGen方法,生成候选频繁项集

publicvoidtestAprioriGen(){

System.out.println(

候选频繁2-项集:

+

this.apriori.aprioriGen(1,this.apriori.getFreq1ItemSet().keySet())

);

*测试挖掘频繁2-项集

publicvoidtestGetFreq2ItemSet(){

挖掘频繁2-项集:

"

this.apriori.getFreqKItemSet(2,this.apriori.getFreq1ItemSet().keySet())

*测试挖掘频繁3-项集

publicvoidtestGetFreq3ItemSet(){

挖掘频繁3-项集:

this.apriori.getFreqKItemSet(

3,

this.apriori.getFreqKItemSet(2,this.apriori.getFreq1ItemSet().keySet()).keySet()

*测试挖掘全部频繁项集

publicvoidtestGetFreqItemSet(){

this.apriori.mineFreqItemSet();

//挖掘频繁项集

挖掘频繁项集:

+this.apriori.getFreqItemSet());

*测试挖掘全部频繁关联规则

publicvoidtestMineAssociationRules(){

this.apriori.mineAssociationRules();

挖掘频繁关联规则:

+this.apriori.getAssiciationRules());

二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)

实验结果如下:

{[E]=0.5,[A]=0.75,[B]=0.75,[C]=0.75}

[[E,C],[A,B],[B,C],[A,C],[E,B],[E,A]]

{[A,B]=0.75,[B,C]=0.5,[A,C]=0.5,[E,B]=0.5,[E,A]=0.5}

{[E,A,B]=0.5,[A,B,C]=0.5}

{1=[[E],[A],[B],[C]],2=[[A,B],[B,C],[A,C],[E,B],[E,A]],3=[[E,A,B],[A,B,C]]}

{[E]=[[A],[B],[A,B]],[A]=[[B]],[B]=[[A]],[B,C]=[[A]],[A,C]=[[B]],[E,B]=[[A]],[E,A]=[[B]]

三、实验小结、建议及体会

通过本次实验,了解了Apriori算法的基本思想。

同时也对数据挖掘的作用有了更深刻的了解,实验过程中自己动手解决了一些问题,加强我学习能力动手能力.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1