1
0
mirror of https://github.com/sjwhitworth/golearn.git synced 2025-04-28 13:48:56 +08:00
golearn/base/classifier.go
2017-08-08 12:37:57 +01:00

43 lines
1.1 KiB
Go

package base
import (
"github.com/gonum/matrix/mat64"
)
// Classifier implementations predict categorical class labels.
type Classifier interface {
// Takes a set of Instances, copies the class Attribute
// and constructs a new set of Instances of equivalent
// length with only the class Attribute and fills it in
// with predictions.
Predict(FixedDataGrid) (FixedDataGrid, error)
// Takes a set of instances and updates the Classifier's
// internal structures to enable prediction
Fit(FixedDataGrid) error
// Why not make every classifier return a nice-looking string?
String() string
}
type SaveableClassifier interface {
// Save the classifier to a file
Save(string) error
// Read recreates the classifier from a file
Load(string) error
// Used when something is saved as part of an ensembe
SaveWithPrefix(*ClassifierSerializer, string) error
LoadWithPrefix(*ClassifierDeserializer, string) error
}
// BaseClassifier stores options common to every classifier.
type BaseClassifier struct {
TrainingData *DataGrid
}
type BaseRegressor struct {
Data mat64.Dense
Name string
Labels []float64
}