资源简介
Apriori算法的c#实现,比较简短,两个文件,500多行。测试文件在Data文件夹下,其中数据是程序中的GenerateTestFile函数随机生成的。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Collections;
using System.IO;
using System.Threading;
namespace Apriori
{
//关联规则的右半部分,例如 1^2^7 ==> 3^5 [12 0.50],即箭头右边的部分
public class RuleRightPart
{
public string items;
public int support;
public double confidence;
public RuleRightPart()
{ }
public RuleRightPart(string str int i double d)
{
this.items = str;
this.support = i;
this.confidence = d;
}
}
public class Apriori
{
static void Main(string[] args)
{
Apriori apriori = new Apriori(200 0.05 0.5);
apriori.GetRules();
}
public Apriori()
{ }
public Apriori(int _maxId double _support double _confidence)
{
this.maxId = _maxId;
this.support = _support;
this.confidence = _confidence;
}
public static string sDataFile = @“D:\Projects\Apriori\Data\test.txt“;//保存事务集的文件路径
private int maxId; //事务的最大编号
private double support; //支持度
private double confidence; //置信度
private List AllTransactions = new List(); //所有事务
private List NeedReview = new List(); //判断某事务是否需要遍历
///
/// 从文件中加载所有事务
///
private void LoadAllItems()
{
string sLine;
string[] strArray;
char[] separator = { ‘\t‘ };
int[] aPrev = new int[maxId + 1];
int[] aCurr = new int[maxId + 1];
try
{
StreamReader sr = new StreamReader(sDataFile Encoding.Default false);
sLine = sr.ReadLine();
while (sLine != null)
{
strArray = sLine.Split(separator System.StringSplitOptions.RemoveEmptyEntries);
//利用数组去重和排序
foreach (string str in strArray)
{
int ix = int.Parse(str);
if ((ix <= maxId) && (aPrev[ix] == aCurr[ix]))
++aCurr[ix];
}
List l = new List();
for (int ix = 0; ix <= maxId; ++ix)
if (aCurr[ix] == 1 + aPrev[ix])
{
l.Add(ix);
aPrev[ix] = aCurr[ix];
}
DataItem item = new DataItem(l);
AllTransactions.Add(item);
NeedReview.Add(true);
sLine = sr.ReadLine();
}
sr.Close();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12461 2012-12-09 21:54 Apriori\Apriori.cs
文件 2526 2012-11-29 19:42 Apriori\Apriori.csproj
文件 903 2012-11-28 16:36 Apriori\Apriori.sln
..A..H. 15872 2012-12-06 21:54 Apriori\Apriori.suo
文件 10240 2012-11-30 15:38 Apriori\bin\Debug\Apriori.exe
文件 28160 2012-11-30 15:38 Apriori\bin\Debug\Apriori.pdb
文件 14328 2012-11-30 15:37 Apriori\bin\Debug\Apriori.vshost.exe
文件 490 2007-07-21 01:33 Apriori\bin\Debug\Apriori.vshost.exe.manifest
文件 10752 2012-12-09 21:47 Apriori\bin\Release\Apriori.exe
文件 30208 2012-12-09 21:47 Apriori\bin\Release\Apriori.pdb
文件 14328 2012-12-09 11:00 Apriori\bin\Release\Apriori.vshost.exe
文件 490 2007-07-21 01:33 Apriori\bin\Release\Apriori.vshost.exe.manifest
文件 6869 2012-11-30 15:34 Apriori\Data\test.txt
文件 7381 2012-12-09 21:36 Apriori\DataItem.cs
文件 234 2012-11-30 15:37 Apriori\obj\Debug\Apriori.csproj.FileListAbsolute.txt
文件 10240 2012-11-30 15:38 Apriori\obj\Debug\Apriori.exe
文件 28160 2012-11-30 15:38 Apriori\obj\Debug\Apriori.pdb
文件 244 2012-12-09 11:00 Apriori\obj\Release\Apriori.csproj.FileListAbsolute.txt
文件 10752 2012-12-09 21:47 Apriori\obj\Release\Apriori.exe
文件 30208 2012-12-09 21:47 Apriori\obj\Release\Apriori.pdb
文件 1352 2012-11-28 16:36 Apriori\Properties\AssemblyInfo.cs
目录 0 2012-11-29 17:27 Apriori\obj\Debug\Refactor
目录 0 2012-11-28 16:36 Apriori\obj\Debug\TempPE
目录 0 2012-11-30 15:39 Apriori\obj\Release\TempPE
目录 0 2012-11-30 09:54 Apriori\bin\Debug
目录 0 2012-11-30 15:39 Apriori\bin\Release
目录 0 2012-11-30 15:38 Apriori\obj\Debug
目录 0 2012-12-09 21:47 Apriori\obj\Release
目录 0 2012-11-30 15:39 Apriori\bin
目录 0 2012-12-09 21:55 Apriori\Data
............此处省略6个文件信息
- 上一篇:锐浪asp.net MVC html5报表显示
- 下一篇:ASP.NET漂亮的选项卡
相关资源
- C# ArcEngine加载打开Las点云数据
- C#+ArcEngine:txt坐标数据转Shp矢量点
- C#+ArcEngine:矢量点转栅格-1VS2010窗体
- C# Winform,FX3U-32M,FX3u-ENET-ADP,MC协议
- C#五子棋源代码wuziqi
- AES加密解密算法程序和源代码 C#实现
- RDLC动态生成官方
- C# HttpHelper.cs
- 教务管理系统asp.net+c#+sql server2005
- 用c#编写的温度采集上位机程序
- C#中GDI+实现简单二维矢量图编辑器教
- C#简易图片编辑器 vs2010
- c#datagridview小票打印单据存储
- C# 程序自动远程更新
- C#单链表图形界面
- KNN算法C#例程
- C#调用matlab 源代码 csdn
- C#WPF 右键菜单 显示 事件触发 测试
- SevenZipSharp.dll和7z.dll
- C# Json转换DataTable源文件
- C# 动态链接机制 插件平台AppDomain对
- 利用C#打开EXCEL并将数据更新保
- C# 异步Socket 多人聊天室完整源码
- C#中读取Excel表格数据
- Winform 画多边形
- 中兴华为C#编码规范
- C# winform Socket 即时通讯
- C#textbox下拉提示 textbox智能提示 te
- C#连接oracle数据库增删改查
- 基于GPRS的远程通讯C#程序SOCKET部分带
评论
共有 条评论