1
0
mirror of https://github.com/sjwhitworth/golearn.git synced 2025-04-30 13:48:57 +08:00

Added some starter documentation.

This commit is contained in:
Stephen Whitworth 2014-05-17 21:17:57 +01:00
parent 697fbde085
commit cc4d6a60ef

View File

@ -4,7 +4,8 @@ GoLearn
<img src="http://talks.golang.org/2013/advconc/gopherhat.jpg" width=125><br>
[![GoDoc](https://godoc.org/github.com/sjwhitworth/golearn?status.png)](https://godoc.org/github.com/sjwhitworth/golearn)<br>
GoLearn is a 'batteries included' machine learning library for Go. Simplicity, paired with customisability, is the goal.
GoLearn is a 'batteries included' machine learning library for Go. **Simplicity**, paired with customisability, is the goal.
We are in active development, and would love comments from users out in the wild. Drop us a line on Twitter.
twitter: [@golearn_ml](http://www.twitter.com/golearn_ml)
@ -17,15 +18,56 @@ cd src/github.com/sjwhitworth/golearn
go get ./...
```
Examples
Getting Started
=======
```
// 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.
data, err := base.ParseCSVToInstances("datasets/iris_headers.csv", true)
// Print a pleasant summary of your data.
fmt.Println(data)
// Split your dataframe into a training set, and a test set, with an 80/20 proportion.
trainTest := base.InstancesTrainTestSplit(rawData, 0.8)
trainData := trainTest[0]
testData := trainTest[1]
// Instantiate a new KNN classifier. Euclidean distance, with 2 neighbours.
cls := knn.NewKnnClassifier("euclidean", 2)
// Fit it on your training data.
cls.Fit(trainData)
// Get your predictions against test instances.
predictions := cls.Predict(testData)
// Print a confusion matrix with precision and recall metrics.
confusionMat := evaluation.GetConfusionMatrix(testData, predictions)
fmt.Println(evaluation.GetSummary(confusionMat))
```
```
Iris-virginica 28 2 56 0.9333 0.9333 0.9333
Iris-setosa 29 0 59 1.0000 1.0000 1.0000
Iris-versicolor 27 2 57 0.9310 0.9310 0.9310
Overall accuracy: 0.9545
```
Examples
========
GoLearn comes with practical examples. Dive in and see what is going on.
```
cd examples/
go run knnclassifier_iris.go
go run instances.go
```
Join the team
=============
If you'd like to contribute, please send me a mail at stephen dot whitworth at hailocab dot com. I will also add you to the team [Slack](https://slack.com) account, which we also use to communicate.
Please send me a mail at stephen dot whitworth at hailocab dot com.