module HLearn.Evaluation.RSquared where import HLearn.Algebra import HLearn.Models.Classifiers.Common rsquared :: ( Floating (Ring model) , NumDP model , Regression model ) => model -> [Datapoint model] -> Ring model rsquared m xs = 1-ss_err/ss_tot where ss_err = sum $ map (\dp -> ((getLabel dp)-(classify m (getAttributes dp)))^^2) xs ss_tot = sum $ map (\dp -> ((getLabel dp)-yave)^^2) xs yave = (sum $ map getLabel xs)/(numdp m)