Skip to content

ailgroup/sklearn

 
 

Repository files navigation

sklearn

Partial port of scikit-learn to go

Build Status Code Coverage Go Report Card GoDoc

Examples

cluster

DBSCAN KMeans

datasets

LoadIris LoadBreastCancer LoadDiabetes LoadBoston LoadExamScore LoadMicroChipTest LoadMnist LoadMnistWeights MakeRegression MakeBlobs

interpolate

CubicSpline Interp1d Interp2d

linear_model

LinearRegression BayesianRidge MultiTaskElasticNet MultiTaskLasso ElasticNet Lasso LassoPath LogisticRegression Ridge

metrics

AccuracyScore ConfusionMatrix PrecisionScore RecallScore F1Score FBetaScore PrecisionRecallFScoreSupport ROCCurve AUC ROCAUCScore PrecisionRecallCurve AveragePrecisionScore R2Score

neighbors

KNeighborsClassifier MinkowskiDistance EuclideanDistance KDTree NearestCentroid KNeighborsRegressor NearestNeighbors NearestNeighbors.KNeighborsGraph NearestNeighbors.Tree

neural_network

MLPClassifier

pipeline

Pipeline

preprocessing

MinMaxScaler StandardScaler RobustScaler AddDummyFeature OneHotEncoder Shuffler MaxAbsScaler Binarizer Normalizer Scale KernelCenterer FunctionTransformer Imputer LabelBinarizer MultiLabelBinarizer LabelEncoder PCA

svm

SVC

This is

  • a personal project to get a deeper understanding of how all of this magic works

  • a recent work still in progress, subject to refactoring, so interfaces may change, especially args to NewXXX

  • linted with gofmt, golint, go vet revive

  • unit tested but coverage should reach 90%

  • underdocumented but scikit-learn doc is your friend

Many thanks to gonum and scikit-learn authors and contributors

PRs are welcome

About

bits of sklearn ported to Go #golang

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%