Documentation ¶
Index ¶
- type NamedStep
- type Pipeline
- func (p *Pipeline) Fit(Xmatrix, Ymatrix mat.Matrix) base.Fiter
- func (p *Pipeline) FitTransform(X, Y mat.Matrix) (Xout, Yout *mat.Dense)
- func (p *Pipeline) GetNOutputs() int
- func (p *Pipeline) IsClassifier() bool
- func (p *Pipeline) Predict(X mat.Matrix, Y mat.Mutable) *mat.Dense
- func (p *Pipeline) PredicterClone() base.Predicter
- func (p *Pipeline) Score(X, Y mat.Matrix) float64
- func (p *Pipeline) Transform(X, Y mat.Matrix) (Xout, Yout *mat.Dense)
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type NamedStep ¶
NamedStep represents a pipeline named Step Step must be Predicter (last step) or Transformer
type Pipeline ¶
Pipeline is a sequance of transformers and an estimator
Example ¶
randomState := rand.New(base.NewLockedSource(7)) ds := datasets.LoadBreastCancer() 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.RandomState = randomState m.MaxIter = 300 m.LearningRateInit = .02 m.WeightDecay = .001 pl := MakePipeline(scaler, pca, poly, m) // or equivalent: pl = NewPipeline(NamedStep{"scaler", scaler}, NamedStep{"pca", pca}, NamedStep{"poly", poly}, NamedStep{"mlp", m}) // pipeline is clonable pl = pl.PredicterClone().(*Pipeline) // pipeline is classifier if last step is a classifier if !pl.IsClassifier() { fmt.Println("shouldn't happen") } 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 := pl.Score(ds.X, ds.Y) fmt.Println("accuracy>0.999 ?", accuracy > 0.999) if accuracy <= .999 { fmt.Println("accuracy:", accuracy) } // pipeline is a Transformer too _, _ = pl.FitTransform(ds.X, ds.Y)
Output: accuracy>0.999 ? true
func MakePipeline ¶
MakePipeline returns a Pipeline from unnamed steps
func (*Pipeline) FitTransform ¶
FitTransform fit to dat, then transform it
func (*Pipeline) GetNOutputs ¶
GetNOutputs returns output columns number for Y
func (*Pipeline) IsClassifier ¶
IsClassifier for pipeline returns last step IsClassifier if any
func (*Pipeline) Predict ¶
Predict for pipeline calls steps Transform then InverseTransform for InverseTransformer steps
func (*Pipeline) PredicterClone ¶
PredicterClone for pipeline relies on children clone method is child is Transformer
Click to show internal directories.
Click to hide internal directories.