   "The default number of folds to use during cross fold
   validation (see [[cmpile-results]])."
   10)
+
+(def ^:dynamic *default-set-type*
+  "The default type of test, which is one of:
+
+      * `:cross-validation`: run a N fold cross validation (default)
+      * `:test-train`: train the classifier and then evaluate"
+  :cross-validation)
 
 (defn print-model-config
   "Pretty print the model configuation set with [[with-model-conf]]."


  Keys
  ----
  * **:test-type** the type of test to run; one of:
      * `:cross-validation`: run a N fold cross validation (default)
      * `:test-train`: train the classifier and then evaluate"
  [classifier-sets feature-set-key &
   {:keys [test-type] :or {test-type :cross-validation}}]
  (let [test-fn (case test-type
                  :cross-validation cross-validate-results
                  :test-train test-train-results)

  Keys
  ----
  * **:only-stats?** if `true` only return statistic data
  * **:test-type** the type of test to run (see [[*default-set-type*]])"
  [classifier-sets feature-set-key &
   {:keys [only-stats? test-type]
    :or {only-stats? true
         test-type *default-set-type*}}]
  (let [res (compile-results classifier-sets feature-set-key)]
    (log/debugf "terse results count %d" (count res))
    (map (fn [elt]
