From 93494bc8d94e6ba40c64aaf5d4d9b536dcd93bf3 Mon Sep 17 00:00:00 2001 From: Eric Schulte Date: Tue, 16 Nov 2010 22:58:10 -0700 Subject: [PATCH] mean and standard deviation functions in util --- src/neural_net/k_means.clj | 2 -- src/neural_net/util.clj | 7 +++++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/neural_net/k_means.clj b/src/neural_net/k_means.clj index b30342a..0924815 100644 --- a/src/neural_net/k_means.clj +++ b/src/neural_net/k_means.clj @@ -5,8 +5,6 @@ (defn euclid-dist [a b] (sqrt (reduce + (map (comp #(* % %) -) a b)))) -(defn mean [lst] (if (empty? lst) 0 (/ (reduce + lst) (count lst)))) - (defn k-means-update "A single iteration of k-means clustering." [centers samples] (reduce ; reposition each center at the center of its samples diff --git a/src/neural_net/util.clj b/src/neural_net/util.clj index d5e8551..d5e7249 100644 --- a/src/neural_net/util.clj +++ b/src/neural_net/util.clj @@ -13,6 +13,13 @@ (defn rand-weight [] (- (rand 2) 1)) +(defn mean [lst] (if (empty? lst) 0 (/ (reduce + lst) (count lst)))) + +(defn stddev [lst] + (let [m (mean lst)] + (sqrt (/ (reduce + (map (fn [el] (expt (- m el) 2)) lst)) + (dec (count lst)))))) + (defn rms-error "Collect the error from an epic" ([net epic] (rms-error net epic identity)) ([net epic pull] -- 2.11.4.GIT