Don't print evaluation results, just collect them.
This commit is contained in:
parent
d49820eda5
commit
aab3d42a99
1 changed files with 29 additions and 31 deletions
|
@ -490,38 +490,36 @@
|
|||
;; Evaluating classifiers
|
||||
|
||||
(defn- collect-evaluation-results
|
||||
"Collects all the statistics from the evaluation of a classifier."
|
||||
"Collects all the statistics from the evaluation of a classifier."
|
||||
([class-labels ^Evaluation evaluation]
|
||||
(do
|
||||
(println (.toMatrixString evaluation))
|
||||
(println "=== Summary ===")
|
||||
(println (.toSummaryString evaluation))
|
||||
{:correct (try-metric #(.correct evaluation))
|
||||
:incorrect (try-metric #(.incorrect evaluation))
|
||||
:unclassified (try-metric #(.unclassified evaluation))
|
||||
:percentage-correct (try-metric #(.pctCorrect evaluation))
|
||||
:percentage-incorrect (try-metric #(.pctIncorrect evaluation))
|
||||
:percentage-unclassified (try-metric #(.pctUnclassified evaluation))
|
||||
:error-rate (try-metric #(.errorRate evaluation))
|
||||
:mean-absolute-error (try-metric #(.meanAbsoluteError evaluation))
|
||||
:relative-absolute-error (try-metric #(.relativeAbsoluteError evaluation))
|
||||
:root-mean-squared-error (try-metric #(.rootMeanSquaredError evaluation))
|
||||
:root-relative-squared-error (try-metric #(.rootRelativeSquaredError evaluation))
|
||||
:correlation-coefficient (try-metric #(.correlationCoefficient evaluation))
|
||||
:average-cost (try-metric #(.avgCost evaluation))
|
||||
:kappa (try-metric #(.kappa evaluation))
|
||||
:kb-information (try-metric #(.KBInformation evaluation))
|
||||
:kb-mean-information (try-metric #(.KBMeanInformation evaluation))
|
||||
:kb-relative-information (try-metric #(.KBRelativeInformation evaluation))
|
||||
:sf-entropy-gain (try-metric #(.SFEntropyGain evaluation))
|
||||
:sf-mean-entropy-gain (try-metric #(.SFMeanEntropyGain evaluation))
|
||||
:roc-area (try-multiple-values-metric class-labels (fn [i] (try-metric #(.areaUnderROC evaluation i))))
|
||||
:false-positive-rate (try-multiple-values-metric class-labels (fn [i] (try-metric #(.falsePositiveRate evaluation i))))
|
||||
:false-negative-rate (try-multiple-values-metric class-labels (fn [i] (try-metric #(.falseNegativeRate evaluation i))))
|
||||
:f-measure (try-multiple-values-metric class-labels (fn [i] (try-metric #(.fMeasure evaluation i))))
|
||||
:precision (try-multiple-values-metric class-labels (fn [i] (try-metric #(.precision evaluation i))))
|
||||
:recall (try-multiple-values-metric class-labels (fn [i] (try-metric #(.recall evaluation i))))
|
||||
:evaluation-object evaluation})))
|
||||
{:confusion-matrix (.toMatrixString evaluation)
|
||||
:summary (.toSummaryString evaluation)
|
||||
:correct (try-metric #(.correct evaluation))
|
||||
:incorrect (try-metric #(.incorrect evaluation))
|
||||
:unclassified (try-metric #(.unclassified evaluation))
|
||||
:percentage-correct (try-metric #(.pctCorrect evaluation))
|
||||
:percentage-incorrect (try-metric #(.pctIncorrect evaluation))
|
||||
:percentage-unclassified (try-metric #(.pctUnclassified evaluation))
|
||||
:error-rate (try-metric #(.errorRate evaluation))
|
||||
:mean-absolute-error (try-metric #(.meanAbsoluteError evaluation))
|
||||
:relative-absolute-error (try-metric #(.relativeAbsoluteError evaluation))
|
||||
:root-mean-squared-error (try-metric #(.rootMeanSquaredError evaluation))
|
||||
:root-relative-squared-error (try-metric #(.rootRelativeSquaredError evaluation))
|
||||
:correlation-coefficient (try-metric #(.correlationCoefficient evaluation))
|
||||
:average-cost (try-metric #(.avgCost evaluation))
|
||||
:kappa (try-metric #(.kappa evaluation))
|
||||
:kb-information (try-metric #(.KBInformation evaluation))
|
||||
:kb-mean-information (try-metric #(.KBMeanInformation evaluation))
|
||||
:kb-relative-information (try-metric #(.KBRelativeInformation evaluation))
|
||||
:sf-entropy-gain (try-metric #(.SFEntropyGain evaluation))
|
||||
:sf-mean-entropy-gain (try-metric #(.SFMeanEntropyGain evaluation))
|
||||
:roc-area (try-multiple-values-metric class-labels (fn [i] (try-metric #(.areaUnderROC evaluation i))))
|
||||
:false-positive-rate (try-multiple-values-metric class-labels (fn [i] (try-metric #(.falsePositiveRate evaluation i))))
|
||||
:false-negative-rate (try-multiple-values-metric class-labels (fn [i] (try-metric #(.falseNegativeRate evaluation i))))
|
||||
:f-measure (try-multiple-values-metric class-labels (fn [i] (try-metric #(.fMeasure evaluation i))))
|
||||
:precision (try-multiple-values-metric class-labels (fn [i] (try-metric #(.precision evaluation i))))
|
||||
:recall (try-multiple-values-metric class-labels (fn [i] (try-metric #(.recall evaluation i))))
|
||||
:evaluation-object evaluation}))
|
||||
|
||||
(defmulti classifier-evaluate
|
||||
"Evaluates a trained classifier using the provided dataset or cross-validation.
|
||||
|
|
Loading…
Reference in a new issue