mapclassify.classifiers.gadf¶
-
mapclassify.classifiers.
gadf
(y, method='Quantiles', maxk=15, pct=0.8)[source]¶ Evaluate the Goodness of Absolute Deviation Fit of a Classifier Finds the minimum value of k for which gadf>pct
- Parameters
- yarray
(n, 1) values to be classified
- method{‘Quantiles, ‘Fisher_Jenks’, ‘Maximum_Breaks’, ‘Natrual_Breaks’}
- maxkint
maximum value of k to evaluate
- pctfloat
The percentage of GADF to exceed
- Returns
- kint
number of classes
- clobject
instance of the classifier at k
- gadffloat
goodness of absolute deviation fit
See also
KClassifiers
Notes
The GADF is defined as:
\[GADF = 1 - \sum_c \sum_{i \in c} |y_i - y_{c,med}| / \sum_i |y_i - y_{med}|\]where \(y_{med}\) is the global median and \(y_{c,med}\) is the median for class \(c\).
Examples
>>> import mapclassify as mc >>> cal = mc.load_example() >>> qgadf = mc.classifiers.gadf(cal) >>> qgadf[0] 15 >>> qgadf[-1] 0.3740257590909283
Quantiles fail to exceed 0.80 before 15 classes. If we lower the bar to 0.2 we see quintiles as a result
>>> qgadf2 = mc.classifiers.gadf(cal, pct = 0.2) >>> qgadf2[0] 5 >>> qgadf2[-1] 0.21710231966462412 >>>