⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aprioriset.h

📁 Apriori算法源码(C++) 看了以前在这里发的apriori源码
💻 H
字号:

#pragma once

#include "stdafx.h"

static const char*	DB_NAME = "Apriori";
static const char*	HOST = "localhost";
static const char*	USER = "root";
static const char*	PASSWD = "scorpio";
static const int	MaxSize = 1000;
static const	string::size_type npos = -1;


class CAprioriSet
{
//数据访问
private:
	Connection	con;
	Result		res;

//变量
public:	
	double	freq;						// 最小频繁数
	int	itemCount;					// 设置数据库中总共有的各种不同项目个数	

	int	candFreqCount[MaxSize][MaxSize];		// 各级候选项目的频繁数	
	int	freqCount[MaxSize][MaxSize];			// 各级项目的频繁数
	string	candlargeItem[MaxSize][MaxSize];		// 存放各级候选频繁项目
	string	largeItem[MaxSize][MaxSize];			// 存放各级频繁项目

	//vector<bool>	candLargeItemFlag;
	vector<int>	largeItemCount;				// 存放各级频繁项目个数
	vector<int>	candlargeItemCount;			// 存放各级候选项目个数

	vector< ItemType >	freqGroup;			// 存放所有级别的频繁项集

//函数
public:
	CAprioriSet(int _itemCount, double _itemSupp);

	~CAprioriSet(void);
	// 查找1-频繁项集
	void FindlargeItem(void);	
	// 生成频繁项集,作为算法结果返回给view
	void GenfreqItem(int level);
	// 剪枝函数
	bool Prune( int level, string& strCandFreqItem, vector<bool> itemFlag );
	// 抽取字符串中的项目
	vector<string>& tokenItem(vector<string>& strVec , string& text);
	// 由L(k-1)生成C(k)
	void AprioriGen(int level);
	// 获取频繁项集,结果保存为vector <tuple<k, item, count> >
	vector< ItemType > getFreqItem();
	// 生成下一个组合
	string& next_combination(vector<string>& kItem, int vecPos);
	// 搜索数据集中的子串
	bool search(vector<string>& src, string& text);
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -