(ns code.utils.nway (:use (code.utils utils folds)) (:use (incanter core))) (defn nway [n D trainer tester] (let [pro-folds (folds D n)] (loop [fold pro-folds result []] (if (empty? fold) result (recur (rest fold) (conj result (let [training (:train (first fold)) tests (:test (first fold)) model (trainer training) want-got (apply vector (map #(tester % model) (if (= (nrow tests) 1) [tests] tests)))] (Transpose want-got)))))))) (defn nway1 [n D trainer tester] (let [pro-folds (folds D n)] (loop [fold pro-folds result []] (if (empty? fold) result (recur (rest fold) (conj result (let [training (:train (first fold)) tests (:test (first fold)) model (trainer training) want-got (apply vector (map #(tester % model) (if (= (nrow tests) 1) [tests] tests)))] [(println "help") (count model) (Transpose want-got)])))))))