func TestSmote(t *testing.T) { smot := smote.New(PercentOver, K, 5) // Read samples. dataset := tabula.Claset{} _, e := dsv.SimpleRead(fcfg, &dataset) if nil != e { t.Fatal(e) } fmt.Println("[smote_test] Total samples:", dataset.Len()) minorset := dataset.GetMinorityRows() fmt.Println("[smote_test] # minority samples:", minorset.Len()) e = smot.Resampling(*minorset) if e != nil { t.Fatal(e) } fmt.Println("[smote_test] # synthetic:", smot.GetSynthetics().Len()) e = smot.Write("phoneme_smote.csv") if e != nil { t.Fatal(e) } }
// // runSmote will select minority class from dataset and run oversampling. // func runSmote(smote *smote.Runtime, dataset *tabula.Claset) (e error) { minorset := dataset.GetMinorityRows() if DEBUG >= 1 { fmt.Println("[smote] # minority samples:", minorset.Len()) } e = smote.Resampling(*minorset) if e != nil { return } if DEBUG >= 1 { fmt.Println("[smote] # synthetics:", smote.Synthetics.Len()) } return }