Example #1
0
func readMnist() (*base.DenseInstances, *base.DenseInstances) {
	// Create the class Attribute
	classAttrs := make(map[int]base.Attribute)
	classAttrs[0] = base.NewCategoricalAttribute()
	classAttrs[0].SetName("label")
	// Setup the class Attribute to be in its own group
	classAttrGroups := make(map[string]string)
	classAttrGroups["label"] = "ClassGroup"
	// The rest can go in a default group
	attrGroups := make(map[string]string)

	inst1, err := base.ParseCSVToInstancesWithAttributeGroups(
		"../examples/datasets/mnist_train.csv",
		attrGroups,
		classAttrGroups,
		classAttrs,
		true,
	)
	if err != nil {
		panic(err)
	}
	inst2, err := base.ParseCSVToTemplatedInstances(
		"../examples/datasets/mnist_test.csv",
		true,
		inst1,
	)
	if err != nil {
		panic(err)
	}
	return inst1, inst2
}
Example #2
0
func TestKnnClassifierWithTemplatedInstances1Subset(t *testing.T) {
	Convey("Given two basically identical files...", t, func() {
		trainingData, err := base.ParseCSVToInstances("knn_train_2.csv", true)
		So(err, ShouldBeNil)
		testingData, err := base.ParseCSVToTemplatedInstances("knn_test_2_subset.csv", true, trainingData)
		So(err, ShouldBeNil)

		cls := NewKnnClassifier("euclidean", 2)
		cls.Fit(trainingData)
		predictions := cls.Predict(testingData)
		So(predictions, ShouldNotBeNil)
	})
}