11 #ifndef _REJECTIONSTRATEGY_H___
12 #define _REJECTIONSTRATEGY_H___
30 return "RejectionStrategy";
56 return "ThresholdRejectionStrategy";
62 for (int32_t i=0; i<outputs.
vlen; i++)
81 {0.713,0.683,0.637,0.597,0.551,0.477,0.409,0.325},
82 {0.627,0.604,0.568,0.538,0.503,0.450,0.401,0.339},
83 {0.539,0.517,0.484,0.456,0.425,0.376,0.332,0.278},
84 {0.490,0.469,0.438,0.412,0.382,0.337,0.295,0.246},
85 {0.460,0.439,0.410,0.384,0.355,0.312,0.272,0.226},
86 {0.437,0.417,0.388,0.363,0.336,0.294,0.256,0.211},
87 {0.422,0.403,0.374,0.349,0.321,0.280,0.244,0.201},
88 {0.408,0.389,0.360,0.337,0.310,0.270,0.234,0.192},
89 {0.397,0.377,0.350,0.326,0.300,0.261,0.226,0.185},
90 {0.387,0.368,0.341,0.317,0.292,0.253,0.219,0.179}
115 if (significance_level==0.001)
117 else if (significance_level==0.002)
119 else if (significance_level==0.005)
121 else if (significance_level==0.01)
123 else if (significance_level==0.02)
125 else if (significance_level==0.05)
127 else if (significance_level==0.1)
129 else if (significance_level==0.2)
131 else SG_ERROR(
"Given significance level is not supported")
141 return "DixonQTestRejectionStrategy";
147 int32_t N = outputs.
vlen;
149 SG_ERROR(
"Given number of classes is not supported.")
151 int32_t Ni = N/10 - 1;
158 Q = (outputs[N-1]-outputs[N-2])/(outputs[N-1]-outputs[0]);
161 Q = (outputs[N-1]-outputs[N-4])/(outputs[N-1]-outputs[2]);
163 if (Q>Q_test_statistic_values[Ni][s_index])
CThresholdRejectionStrategy(float64_t threshold)
virtual ~CThresholdRejectionStrategy()
threshold based rejection strategy
static const float64_t Q_test_statistic_values[10][8]
simplified version of Dixon's Q test outlier based rejection strategy. Statistic values are taken fro...
static void qsort(T *output, int32_t size)
Class SGObject is the base class of all shogun objects.
virtual bool reject(SGVector< float64_t > outputs) const
CThresholdRejectionStrategy()
virtual ~CDixonQTestRejectionStrategy()
base rejection strategy class
CDixonQTestRejectionStrategy(float64_t significance_level)
virtual const char * get_name() const
CDixonQTestRejectionStrategy()
all of classes and functions are contained in the shogun namespace
virtual bool reject(SGVector< float64_t > outputs) const =0
virtual const char * get_name() const
virtual bool reject(SGVector< float64_t > outputs) const
SGVector< T > clone() const
virtual ~CRejectionStrategy()
virtual const char * get_name() const