mirror of
https://github.com/sjwhitworth/golearn.git
synced 2025-04-26 13:49:14 +08:00
29 lines
721 B
Go
29 lines
721 B
Go
![]() |
package filters
|
||
|
|
||
|
import (
|
||
|
base "github.com/sjwhitworth/golearn/base"
|
||
|
"math"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestBinning(testEnv *testing.T) {
|
||
|
inst1, err := base.ParseCSVToInstances("../examples/datasets/iris_headers.csv", true)
|
||
|
inst2, err := base.ParseCSVToInstances("../examples/datasets/iris_binned.csv", true)
|
||
|
inst3, err := base.ParseCSVToInstances("../examples/datasets/iris_headers.csv", true)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
filt := NewBinningFilter(inst1, 10)
|
||
|
filt.AddAttribute(inst1.GetAttr(0))
|
||
|
filt.Build()
|
||
|
filt.Run(inst1)
|
||
|
for i := 0; i < inst1.Rows; i++ {
|
||
|
val1 := inst1.Get(i, 0)
|
||
|
val2 := inst2.Get(i, 0)
|
||
|
val3 := inst3.Get(i, 0)
|
||
|
if math.Abs(val1-val2) >= 1 {
|
||
|
testEnv.Error(val1, val2, val3, i)
|
||
|
}
|
||
|
}
|
||
|
}
|