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

📄 orthogonalscaler.h

📁 粗糙集应用软件
💻 H
字号:
//-------------------------------------------------------------------
// Author........: Aleksander 豩rn
// Date..........:
// Description...:
// Revisions.....:
//===================================================================

#ifndef __ORTHOGONALSCALER_H__
#define __ORTHOGONALSCALER_H__

#include <copyright.h>

#include <kernel/algorithms/scaler.h>

#include <kernel/structures/decisiontable.h>

//-------------------------------------------------------------------
// Class prototypes.
//===================================================================

class Attribute;
class FloatAttribute;
class IntegerAttribute;
class StringAttribute;

//-------------------------------------------------------------------
// Class.........: OrthogonalScaler
// Author........: Aleksander 豩rn
// Date..........:
// Description...: Algorithm class that discretizes decision tables by
//                 means of intervals, i.e. with hyperplanes that
//                 are orthogonal to the axes.
// Revisions.....:
//===================================================================

class OrthogonalScaler : public Scaler {
public:

	//- Some convenient type definitions...............................
	typedef Pair(int, int) OVPair;
	typedef Vector(float)  Cuts;

protected:

	//- STL stuff for internal use.....................................
	struct OVPairCompareSecond {
		bool operator () (const OVPair &x, const OVPair &y) const {
			return x.second < y.second;
		}
	};

protected:

  //- Dictionary creation methods....................................
	virtual bool             CreateDictionary(const DecisionTable &before, DecisionTable &after, const String &filename) const;

	virtual Attribute       *CreateDiscretizedAttribute(const Attribute &before, const Cuts &cuts) const;
	virtual Attribute       *CreateSubsetAttribute(const Attribute &before, const Cuts &cuts) const;
	virtual Attribute       *CreateIntervalAttribute(const Attribute &before, const Cuts &cuts) const;

	//- Discretization methods.........................................
	virtual DecisionTable   *Discretize(DecisionTable &table) const;
	virtual bool             UpdateTable(DecisionTable &table, int attribute_no, bool masked, const Cuts &cuts) const;

	virtual bool             IsConsistent(const Vector(OVPair) &objects, int i, int begin, int end, const DecisionTable &table, int decision_attribute, bool masked, Vector(int) &decisions, Vector(int) &cardinalities) const;

public:

  //- Constructors/destructor........................................
  OrthogonalScaler();
  virtual ~OrthogonalScaler();

  //- Methods inherited from Identifier..............................
	DECLAREIDMETHODS()

	//- Methods inherited from Algorithm...............................
	virtual Structure       *Apply(Structure &structure) const;

	//- New virtual methods............................................
  virtual bool             FindCuts(const DecisionTable &table, int attribute_no, bool masked, Cuts &cuts) const;

};

#endif

⌨️ 快捷键说明

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