123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- namespace OBJREC {
-
- /* abstract interface for splitting criteria */
- class SplittingCriterion
- {
- protected:
- int min_examples;
- double entropy_cur;
- double min_entropy;
- double min_purity;
-
- double computeEntropy(
- const double* distribution,
- const double count ,
- const int maxClassNo );
- public:
-
- SplittingCriterion( );
-
-
- SplittingCriterion( int _min_examples );
-
- SplittingCriterion( const NICE::Config *conf );
-
- SplittingCriterion( const SplittingCriterion &obj );
-
- virtual ~SplittingCriterion();
-
- virtual SplittingCriterion* clone() = 0;
-
- virtual bool evaluateSplit(
- const FeatureValuesUnsorted & values,
- double threshold,
- double* distribution_left,
- double* distribution_right,
- int maxClassNo ) = 0;
-
- virtual double computePurity() const = 0;
-
- double getEntropy() const
- {
- return entropy_cur;
- }
-
- double getMinimumEntropy() const
- {
- return min_entropy;
- }
-
- double getMinimumPurity() const
- {
- return min_purity;
- }
-
- int getMinimumExamples() const
- {
- return min_examples;
- }
- };
-
- }
|