Skip to content

Instantly share code, notes, and snippets.

@cppxor2arr
Created June 14, 2018 12:23

Revisions

  1. cppxor2arr created this gist Jun 14, 2018.
    13 changes: 13 additions & 0 deletions mean_normalization.hs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,13 @@
    average :: Fractional a => [a] -> a
    average xs = sum xs / fromIntegral (length xs)

    range :: (Num a, Ord a) => [a] -> a
    range xs = maximum xs - minimum xs

    meanNormalize :: (Fractional a, Ord a) => [a] -> a -> a
    meanNormalize xs = (/ range xs) . subtract (average xs)

    -- GHCI
    > l = [1..5]
    > map (meanNormalize l) l
    [-0.5,-0.25,0.0,0.25,0.5]