go-ml.dev/pkg/base@v0.0.0-20200610162856-60c38abac71b/tests/iris_test.go (about)

     1  package tests
     2  
     3  import (
     4  	"go-ml.dev/pkg/base/fu/lazy"
     5  	"go-ml.dev/pkg/base/model"
     6  	"go-ml.dev/pkg/base/tables"
     7  	"go-ml.dev/pkg/base/tables/csv"
     8  	"go-ml.dev/pkg/iokit"
     9  )
    10  
    11  func source(x string) iokit.Input {
    12  	const base = "https://datahub.io/machine-learning/iris/r/"
    13  	return iokit.Url(base+x, iokit.Cache("go-ml/dataset/iris/"+x))
    14  }
    15  
    16  var dataset = source("iris.csv")
    17  var Features = []string{"Feature1", "Feature2", "Feature3", "Feature4"}
    18  
    19  var Iris tables.Lazy = func() lazy.Stream {
    20  	var cls = tables.Enumset{}
    21  	return csv.Source(dataset,
    22  		csv.Float32("sepallength").As("Feature1"),
    23  		csv.Float32("sepalwidth").As("Feature2"),
    24  		csv.Float32("petallength").As("Feature3"),
    25  		csv.Float32("petalwidth").As("Feature4"),
    26  		csv.Meta(cls.Integer(), "class").As(model.LabelCol))()
    27  }