func TestLNSmote(t *testing.T) { // Read sample dataset. dataset := tabula.Claset{} _, e := dsv.SimpleRead(fcfg, &dataset) if nil != e { t.Fatal(e) } fmt.Println("[lnsmote_test] Total samples:", dataset.GetNRow()) // Write original samples. writer, e := dsv.NewWriter("") if nil != e { t.Fatal(e) } e = writer.OpenOutput("phoneme_lnsmote.csv") if e != nil { t.Fatal(e) } sep := dsv.DefSeparator _, e = writer.WriteRawRows(dataset.GetRows(), &sep) if e != nil { t.Fatal(e) } // Initialize LN-SMOTE. lnsmoteRun := lnsmote.New(100, 5, 5, "1", "lnsmote.outliers") e = lnsmoteRun.Resampling(&dataset) fmt.Println("[lnsmote_test] # synthetic:", lnsmoteRun.Synthetics.Len()) sep = dsv.DefSeparator _, e = writer.WriteRawRows(lnsmoteRun.Synthetics.GetRows(), &sep) if e != nil { t.Fatal(e) } e = writer.Close() if e != nil { t.Fatal(e) } }
func TestCART(t *testing.T) { fds := "../../testdata/iris/iris.dsv" ds := tabula.Claset{} _, e := dsv.SimpleRead(fds, &ds) if nil != e { t.Fatal(e) } fmt.Println("[cart_test] class index:", ds.GetClassIndex()) // copy target to be compared later. targetv := ds.GetClassAsStrings() assert(t, NRows, ds.GetNRow(), true) // Build CART tree. CART, e := cart.New(&ds, cart.SplitMethodGini, 0) if e != nil { t.Fatal(e) } fmt.Println("[cart_test] CART Tree:\n", CART) // Create test set testset := tabula.Claset{} _, e = dsv.SimpleRead(fds, &testset) if nil != e { t.Fatal(e) } testset.GetClassColumn().ClearValues() // Classifiy test set e = CART.ClassifySet(&testset) if nil != e { t.Fatal(e) } assert(t, targetv, testset.GetClassAsStrings(), true) }