pipeline

package
v0.0.0-...-0705f78 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2018 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Estimator

type Estimator interface {
	Predict(X, Y *mat.Dense)
}

Estimator is an interface for Predict

type NamedStep

type NamedStep struct {
	Name string
	Step base.Transformer
}

NamedStep represents a pipeline named Step

type Pipeline

type Pipeline struct {
	NamedSteps []NamedStep
	NOutputs   int
}

Pipeline is a sequance of transformers and an estimator

Example
ds := datasets.LoadBreastCancer()
fmt.Println("Dims", base.MatDimsString(ds.X, ds.Y))

scaler := preprocessing.NewStandardScaler()

pca := preprocessing.NewPCA()
pca.MinVarianceRatio = 0.995

poly := preprocessing.NewPolynomialFeatures(2)
poly.IncludeBias = false

m := nn.NewMLPClassifier([]int{}, "relu", "adam", 0.)
m.Loss = "cross-entropy"
m.Epochs = 300

pl := MakePipeline(scaler, pca, poly, m)

pl.Fit(ds.X, ds.Y)
nSamples, _ := ds.X.Dims()
_, nOutputs := ds.Y.Dims()
Ypred := mat.NewDense(nSamples, nOutputs, nil)
pl.Predict(ds.X, Ypred)
accuracy := metrics.AccuracyScore(ds.Y, Ypred, true, nil)
fmt.Println("accuracy>0.999 ?", accuracy > 0.999)
if accuracy <= .999 {
	fmt.Println("accuracy:", accuracy)
}
Output:

Dims  569,30 569,1
accuracy>0.999 ? true

func MakePipeline

func MakePipeline(steps ...base.Transformer) *Pipeline

MakePipeline returns a Pipeline from unnamed steps

func NewPipeline

func NewPipeline(steps ...NamedStep) *Pipeline

NewPipeline returns a *Pipeline

func (*Pipeline) Fit

func (p *Pipeline) Fit(X, Y *mat.Dense) base.Transformer

Fit for Pipeline

func (*Pipeline) Predict

func (p *Pipeline) Predict(X, Y *mat.Dense) base.Regressor

Predict ...

func (*Pipeline) Score

func (p *Pipeline) Score(X, Y *mat.Dense) float64

Score for base.Regressor

func (*Pipeline) Transform

func (p *Pipeline) Transform(X, Y *mat.Dense) (Xout, Yout *mat.Dense)

Transform for pipeline

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL