数据挖掘关联性分析小软件Java源程序代码
详细Java源程序代码,,,可跑,,,绝对给力
关联规则算法实现
一、实验目的
1. 2. 3. 4.
了解编写数据挖掘算法的一般过程; 理解关联规则生成算法;
掌握生成频繁项集的Apriori算法; 掌握由频繁项集生成关联规则的方法。
二、实验环境
windows操作系统,一种程序设计语言开发环境。
三、实验内容及步骤
1、基于模拟数据集,实现Apriori算法以获得频繁项集。 2、基于上一步得到的频繁项集,编写算法得到关联规则。 3.实验最后生成的Apriori算法的演示程序如下图所示
:
输入最小的支持度阈值为1生成频繁项集
详细Java源程序代码,,,可跑,,,绝对给力
输入最小可信度的值生成关联规则值
:
四、实验中的问题和心得
详细Java源程序代码,,,可跑,,,绝对给力
在实验过程中,遇到了不少的问题,比如说模拟数据集的输入(本人通过一个二维数组将其解决)。通过此次实验,我也从中掌握了不和知识,比如加深了对Apriori算法的理解。通过此次算法,我也设想过如何编写数据挖掘的一般过程,对其也有了更深层次的认识。
五、回答问题
1. 请设置不同的最小支持度阈值,观察得到的频繁项集的数目,说说频繁项集与最小
支持度阈值之间的关系。
答:输入最小支持度阈值为2时,其生成的频繁项集如下:
最小支持度阈值表示数据项集在统计意义上的最低主要性,小于最低支持度的数据项将会被丢弃,将影响频繁项集的结果。
详细Java源程序代码,,,可跑,,,绝对给力
2. 请设置不同的最小可信度阈值,观察得到的关联规则的数目,说说关联规则与最小
可信度阈值之间的关系。
答:输入的最小可信度的值为1,生成的关联规则如下:
最小可信度阈值表示规则的最低可靠性,小于该设定的可靠性值的规则将会被丢弃。
3. 详细介绍各算法的流程图和所用到的数据结构,并附带源代码(源代码中应有必要
的注释信息)。 答:(1)算法用到的数据结构:哈希表和二维数组。 (2)算法的伪代码描述如下: 输入:交易数据库D;最小支持度阈值min_sup。 输出:D中的频繁项集L。 方法:
(1) L1=find_frequent_1_itemset(D);找频繁项集1-项集; (2) for ( k=2; Lk-1X <; 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
详细Java源程序代码,,,可跑,,,绝对给力
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;
详细Java源程序代码,,,可跑,,,绝对给力
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 AprioriGUI extends JFrame {
private JTextArea textArea; //模拟数据集
private static JTextArea textArea_relating; //关联规则集 private static JTextArea textArea_frequency; //频繁项目集 private static JTextField support; // 最小支持度 private static JTextField limintCon; // 最小可信度 private String frequency; private String relating;
Hashtable ht1 = new Hashtable(); // 用于L1 Hashtable ht2 = new Hashtable(); // 用于L2
private static Hashtable ht3 = new Hashtable(); // 用于L3
//模拟数据集
String info[][]={ /**
* Launch the application * @param args */
public static void main(String args[]) {
try {
AprioriGUI frame = new AprioriGUI();
{"I1","I2","I5"}, {"I2","I4"}, {"I2","I3"}, {"I1","I2","I4"}, {"I1","I3"}, {"I2","I3"}, {"I1","I3"},
{"I1","I2","I3","I5"}, {"I1","I2","I3"}};
详细Java源程序代码,,,可跑,,,绝对给力
}
}
e.printStackTrace();
} catch (Exception e) {
/**
* Create the frame */
public AprioriGUI() {
super();
getContentPane().setLayout(null); setBounds(100, 100, 536, 408);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JLabel label = new JLabel(); label.setText("请输入最小支持度阈值"); label.setBounds(10, 10, 162, 23); getContentPane().add(label); limintCon = new JTextField();
limintCon.setBounds(169, 39, 90, 21); getContentPane().add(limintCon); final JButton button = new JButton();
button.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
try {
String str = support.getText();
String str1 = "频繁项集生成过程(其中最小支持度阈值是" + str textArea_frequency.setText(str1 + createL3()); JOptionPane.showMessageDialog(null, "请输入最小支持度阈
+ ")" + "\n";
}
} catch (RuntimeException e1) {
值如: 1 ");
} });
button.setText("生成频繁集");
button.setBounds(285, 10, 131, 2 …… 此处隐藏:10302字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [行业范文]美好的法语句子
- [行业范文]描写露珠的句子
- [行业范文]精彩禅语句子图片
- [行业范文]关于满嘴谎言的句子
- [行业范文]关于安静的句子48句
- [行业范文]关于小河的句子
- [行业范文]描写稻田的句子
- [行业范文]思念好朋友的句子
- [行业范文]赞美雪的句子
- [行业范文]早上激励人心的句子
- [行业范文]失恋忧伤的句子
- [行业范文]努力积极向上的句子
- [行业范文]对工作心灰意冷的句子
- [行业范文]失恋让人心疼的句子
- [行业范文]描写珍惜青春的句子
- [行业范文]表达思念的句子简短
- [行业范文]关于父爱的句子范例
- [行业范文]浪漫的英语句子
- [行业范文]关于周末的句子
- [行业范文]思念牵挂的句子
- 有关感恩班会课件简短(二篇)(感恩班会
- 2025年初二下乡军训心得体会800字(15篇
- 关于新员工培训方案汇编(关于新员工培
- 精选高考生寒假学习计划书(精)(高考生
- 毕业实训报告心得体会(3篇)(实训报告心
- 银行工作感悟及心得范文怎么写(四篇)(
- 精选领导干部个人政治画像报告通用(七
- 精选超市11.11活动促销方案(精品超市品
- 2025年怎么做自我介绍汇总(5篇)(至2025
- 最新企业错峰生产方案(26篇)(山西企业
- 最新暑期三下乡社会实践调研报告范本(
- 最新幼儿园大班教育教学总结怎么写(最
- 最新教师节主持词小学(优秀9篇)(教师节
- 关于小学安全教育教学方案(推荐)(关于
- 员工信模板范文怎么写(五篇)(员工信息
- 最新保险销售离职申请书(十六篇)(最新
- 最新XX小学防校园欺凌工作方案怎么写(2
- 有关特岗教师辞职信范文(推荐)(特岗教
- 精选党的建设工作要点简短(党的建设的
- 如何写安康杯竞赛活动总结汇总(4篇)(安




