www.pudn.com > apriori的vc源代码.zip > association.h


// 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" 
 
typedef struct ARSetOfRules ARRuleSetNode; 
struct ARSetOfRules { 
    itemSet *m_premise; 
    itemSet *m_consequence; 
	 
    double m_support; 
    double m_confidence; 
 
    ARRuleSetNode *next; 
}; 
 
 
 
typedef struct toprulenode TopRule; 
struct toprulenode { 
	ARRuleSetNode *prule; 
    double m_similarity; 
}; 
 
 
 
class CAssociationRule{ 
 
public: 
    double m_minConfidence; 
 
    List *m_LargeItemSets; 
 
    int m_numRules; 
    ARRuleSetNode *m_Rules; 
 
	// basci methods for association rule generation 
	 
    CAssociationRule(); 
    ~CAssociationRule(); 
     
    void setconfidence(double minconfidence) { m_minConfidence = minconfidence; }; 
 
    void genrules(); 
 
    void ruler(itemSet *Lk, itemSet *Am); 
    void add(itemSet *Lk, itemSet *Aminusone, double confidence); 
 
    void save(const char *filename); 
    void load(const char *filename); 
	 
	// advanced methods for association rule testing 
	 
	itemSet *genRecommendations(itemSet *observed_session, int NumberofTopPages); 
	double calSimilarity(itemSet *trace, itemSet *observed_session); 
	 
	 
}; 
 
#endif // !defined(AFX_ASSOCIATIONRULE_H__05DD957B_8E4B_4C25_BE7E_3179E6224003__INCLUDED_)