From ce2afe34fb2975ccd060fe67cace660964802ad9 Mon Sep 17 00:00:00 2001 From: Richard Townsend Date: Fri, 23 May 2014 11:56:23 +0100 Subject: [PATCH] Benchmarking --- meta/bagging_test.go | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/meta/bagging_test.go b/meta/bagging_test.go index ca8d8b7..157ba89 100644 --- a/meta/bagging_test.go +++ b/meta/bagging_test.go @@ -11,6 +11,49 @@ import ( "time" ) +func BenchmarkBaggingRandomForestFit(testEnv *testing.B) { + inst, err := base.ParseCSVToInstances("../examples/datasets/iris_headers.csv", true) + if err != nil { + panic(err) + } + + rand.Seed(time.Now().UnixNano()) + filt := filters.NewChiMergeFilter(inst, 0.90) + filt.AddAllNumericAttributes() + filt.Build() + filt.Run(inst) + rf := new(BaggedModel) + for i := 0; i < 10; i++ { + rf.AddModel(trees.NewRandomTree(2)) + } + testEnv.ResetTimer() + for i := 0; i < 20; i++ { + rf.Fit(inst) + } +} + +func BenchmarkBaggingRandomForestPredict(testEnv *testing.B) { + inst, err := base.ParseCSVToInstances("../examples/datasets/iris_headers.csv", true) + if err != nil { + panic(err) + } + + rand.Seed(time.Now().UnixNano()) + filt := filters.NewChiMergeFilter(inst, 0.90) + filt.AddAllNumericAttributes() + filt.Build() + filt.Run(inst) + rf := new(BaggedModel) + for i := 0; i < 10; i++ { + rf.AddModel(trees.NewRandomTree(2)) + } + rf.Fit(inst) + testEnv.ResetTimer() + for i := 0; i < 20; i++ { + rf.Predict(inst) + } +} + func TestRandomForest1(testEnv *testing.T) { inst, err := base.ParseCSVToInstances("../examples/datasets/iris_headers.csv", true) if err != nil {