Goscore Save

Go Scoring API for PMML

Project README

Build Status Go Report Card Coverage Status GoDoc

Goscore

Go scoring API for Predictive Model Markup Language (PMML).

Currently supports Neural Network, Decision Tree, Random Forest and Gradient Boosted Models

Will be happy to implement new models by demand, or assist with any other issue.

Contact me here or at [email protected].

Tutorial - Deploy Machine Learning Models from R Research to Go Production with PMML

Installation

go get github.com/asafschers/goscore

Usage

Random Forest / Gradient Boosted Model

Generate PMML - R

Fetch model from PMML file -

modelXml, _ := ioutil.ReadFile("fixtures/model.pmml")
var model goscore.RandomForest // or goscore.GradientBoostedModel
xml.Unmarshal([]byte(modelXml), &model)

Set features -

features := map[string]interface{}{
  "Sex": "male",
  "Parch": 0,
  "Age": 30,
  "Fare": 9.6875,
  "Pclass": 2,
  "SibSp": 0,
  "Embarked": "Q",
}

Score features by model -

score, _ := model.Score(features, "1") // gbm.score doesn't recieve label

Score faster -

runtime.GOMAXPROCS(runtime.NumCPU()) // use all cores
score, _ := model.ScoreConcurrently(features, "1") // parallelize tree traversing  

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/asafschers/goscore. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Open Source Agenda is not affiliated with "Goscore" Project. README Source: asafschers/goscore
Stars
95
Open Issues
3
Last Commit
4 years ago
Repository
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating