association.h

来自「数据挖掘中Aprior算法的C++实现」· C头文件 代码 · 共 92 行

H
92
字号
// AssociationRule.h: interface for the CAssociationRule class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_ASSOCIATIONRULE_H__05DD957B_8E4B_4C25_BE7E_3179E6224003__INCLUDED_)
#define AFX_ASSOCIATIONRULE_H__05DD957B_8E4B_4C25_BE7E_3179E6224003__INCLUDED_

#include "List.h"
#include "itemSet.h"
#include "file.h"
//##ModelId=42E494EF0243
typedef struct ARSetOfRules ARRuleSetNode;
//##ModelId=42E494EF0252
struct ARSetOfRules {
	//##ModelId=42E494EF0262
    itemSet *m_premise;
	//##ModelId=42E494EF0267
    itemSet *m_consequence;
	
	//##ModelId=42E494EF0273
    double m_support;
	//##ModelId=42E494EF0274
    double m_confidence;

	//##ModelId=42E494EF0281
    ARRuleSetNode *next;
};



//##ModelId=42E494EF0290
typedef struct toprulenode TopRule;
//##ModelId=42E494EF0292
struct toprulenode {
	//##ModelId=42E494EF02A1
	ARRuleSetNode *prule;
	//##ModelId=42E494EF02AF
    double m_similarity;
};



//##ModelId=42E494EF02BF
class CAssociationRule{

public:
	//##ModelId=42E494EF02C0
    double m_minConfidence;

	//##ModelId=42E494EF02CF
    List *m_LargeItemSets;

	//##ModelId=42E494EF02D3
    int m_numRules;
	//##ModelId=42E494EF02DF
    ARRuleSetNode *m_Rules;

	// basci methods for association rule generation
	
	//##ModelId=42E494EF02E3
    CAssociationRule();
	//##ModelId=42E494EF02E4
    ~CAssociationRule();
    
	//##ModelId=42E494EF02EE
    void setconfidence(double minconfidence) { m_minConfidence = minconfidence; };

	//##ModelId=42E494EF02F0
    void genrules();

	//##ModelId=42E494EF02FD
    void ruler(itemSet *Lk, itemSet *Am);
	//##ModelId=42E494EF0300
    void add(itemSet *Lk, itemSet *Aminusone, double confidence);

	//##ModelId=42E494EF0310
    void save(const char *filename);
	//##ModelId=42E494EF031C
    void load(const char *filename);
	
	// advanced methods for association rule testing
	
	//##ModelId=42E494EF031E
	itemSet *genRecommendations(itemSet *observed_session, int NumberofTopPages);
	//##ModelId=42E494EF032D
	double calSimilarity(itemSet *trace, itemSet *observed_session);
	
	
};

#endif // !defined(AFX_ASSOCIATIONRULE_H__05DD957B_8E4B_4C25_BE7E_3179E6224003__INCLUDED_)

⌨️ 快捷键说明

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