Partial port of scikit-learn to go
LoadIris LoadBreastCancer LoadDiabetes LoadBoston LoadExamScore LoadMicroChipTest LoadMnist LoadMnistWeights MakeRegression MakeBlobs
LinearRegression BayesianRidge MultiTaskElasticNet MultiTaskLasso ElasticNet Lasso LassoPath LogisticRegression Ridge
AccuracyScore ConfusionMatrix PrecisionScore RecallScore F1Score FBetaScore PrecisionRecallFScoreSupport ROCCurve AUC ROCAUCScore PrecisionRecallCurve AveragePrecisionScore R2Score
KNeighborsClassifier MinkowskiDistance EuclideanDistance KDTree NearestCentroid KNeighborsRegressor NearestNeighbors NearestNeighbors.KNeighborsGraph NearestNeighbors.Tree
MinMaxScaler StandardScaler RobustScaler AddDummyFeature OneHotEncoder Shuffler MaxAbsScaler Binarizer Normalizer Scale KernelCenterer FunctionTransformer Imputer LabelBinarizer MultiLabelBinarizer LabelEncoder PCA
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 vetrevive -
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