Go 机器学习框架:GoLearn

jopen 10年前

GoLearn 是一款 Go 语言机器学习框架,示例代码:

package main     import (      "fmt"         "github.com/sjwhitworth/golearn/base"      "github.com/sjwhitworth/golearn/evaluation"      "github.com/sjwhitworth/golearn/knn"  )     func main() {      // Load in a dataset, with headers. Header attributes will be stored.      // Think of instances as a Data Frame structure in R or Pandas.      // You can also create instances from scratch.      rawData, err := base.ParseCSVToInstances("datasets/iris.csv", false)      if err != nil {          panic(err)      }         // Print a pleasant summary of your data.      fmt.Println(rawData)         //Initialises a new KNN classifier      cls := knn.NewKnnClassifier("euclidean", 2)         //Do a training-test split      trainData, testData := base.InstancesTrainTestSplit(rawData, 0.50)      cls.Fit(trainData)         //Calculates the Euclidean distance and returns the most popular label      predictions := cls.Predict(testData)      fmt.Println(predictions)         // Prints precision/recall metrics      confusionMat, err := evaluation.GetConfusionMatrix(testData, predictions)      if err != nil {          panic(fmt.Sprintf("Unable to get confusion matrix: %s", err.Error()))      }      fmt.Println(evaluation.GetSummary(confusionMat))  }

项目主页:http://www.open-open.com/lib/view/home/1422329609892