A Go library for scoring machine learning models using PMML, supporting neural networks, decision trees, random forests, and gradient boosted models.
Goscore is a Go library that implements a scoring API for Predictive Model Markup Language (PMML) files. It allows developers to load machine learning models exported as PMML and use them to make predictions in Go applications, solving the problem of deploying models trained in other ecosystems into production Go services.
Go developers and machine learning engineers who need to deploy pre-trained models (e.g., from R or Python) into Go-based production systems for real-time scoring.
Developers choose Goscore because it provides a lightweight, native Go solution for PMML scoring without external dependencies, supports concurrent scoring for performance, and simplifies the transition from research to production.
Go Scoring API for PMML
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports neural networks, decision trees, random forests, and gradient boosted models as listed in the README, covering key predictive model types used in research.
Offers ScoreConcurrently method to parallelize tree traversing using all CPU cores, enabling faster predictions for random forests and gradient boosted models as demonstrated in the usage examples.
Provides an easy-to-use API where features are set via a map and scored with minimal code, making deployment straightforward for Go developers, as shown in the snippet.
A pure Go library with no external dependencies, ensuring seamless integration into Go production environments without additional runtime overhead, aligning with the value proposition.
Only supports PMML, which is less common in modern deep learning ecosystems compared to formats like ONNX, requiring models to be exported from specific tools like R.
Focused solely on scoring pre-trained models; users cannot train or fine-tune models within Goscore, necessitating separate tools for model development as implied by the research-to-production focus.
PMML files are XML-based, introducing parsing latency that might impact performance in high-throughput scenarios, unlike binary formats that are faster to load and process.