- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据挖掘关联性分析小软件Java源程序代码.doc
关联规则算法实现
一、实验目的
了解编写数据挖掘算法的一般过程;
理解关联规则生成算法;
掌握生成频繁项集的Apriori算法;
掌握由频繁项集生成关联规则的方法。
二、实验环境
windows操作系统,一种程序设计语言开发环境。
三、实验内容及步骤
1、基于模拟数据集,实现Apriori算法以获得频繁项集。
2、基于上一步得到的频繁项集,编写算法得到关联规则。
3.实验最后生成的Apriori算法的演示程序如下图所示:
输入最小的支持度阈值为1生成频繁项集
输入最小可信度的值生成关联规则值:
四、实验中的问题和心得
在实验过程中,遇到了不少的问题,比如说模拟数据集的输入(本人通过一个二维数组将其解决)。通过此次实验,我也从中掌握了不和知识,比如加深了对Apriori算法的理解。通过此次算法,我也设想过如何编写数据挖掘的一般过程,对其也有了更深层次的认识。
五、回答问题
请设置不同的最小支持度阈值,观察得到的频繁项集的数目,说说频繁项集与最小支持度阈值之间的关系。
答:输入最小支持度阈值为2时,其生成的频繁项集如下:
最小支持度阈值表示数据项集在统计意义上的最低主要性最小信度阈值表示规则的最低可靠性
输出:D中的频繁项集L。
方法:
(1) L1=find_frequent_1_itemset(D);找频繁项集1-项集;
(2) for ( k=2; Lk-1( (; min_sup)
{ apriori_gen(Lk-1,min_sup) 连接和剪枝。用于在
第k-1次遍历中生成的Lk-1生成Ck
for each t( D 扫描数据库,确定每个候选项集的支持频度
{ Ct=subset(Ck ,t)获得t所包含的候选项集
for each c(Ct c.count++;
} }
(3) Lk={ c (Ck | c.count min_sup }由Ck生成Lk
(4) return L=L1 ∪ L2 …. ∪ Lk
procedure apriori_gen(Lk-1,min_sup)
{
for each l1 ( Lk-1
for each l2 ( Lk-1
{ if(l1[1]=l2[1] ∧… ∧ l1[k-2]=l2[k-2] ∧
l1[k-1] l2[k-1] )
c=l1 ( l2; 将两个项集连接在一起
if not has_infrequent_itemset(c,Lk-1)
Ck=Ck ∪ { c } ;
}
reutrn Ck
}
procedure has_infrequent_itemset (c,Lk-1)
{
for each(k-1) subset s of c
if s ( Lk-1
return true ;
else
return false ;
}
(3)算法源码:
/**
* 编写者: oklzh
* Apriori算法
* 编写日期: 2007-11-04
*/
package Apriori;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Set;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import Apriori.Apriori.Item;
public class Apriori
原创力文档


文档评论(0)