Machine Learning and Predictive Analytics toolkit here at PicNet. We use it almost heavily for our proof of concept and prototype work and it is always present in ensembles for production systems. We usually host our python models on a Linux server and communicate with other back-end systems using RabbitMQ. However, this architecture is very often too big and cumbersome for simple systems and given the fact that .Net and Python integration is terrible we decided to build our own .Net wrappers to XGBoost.
Note: Currently this package only supports x64 bit applications.
I will be writing a tutorial soon to show how to use this but in the meantime this short set of instructions should be enough to get you going.
Install-Package PicNet. XGBoost
The train and predict (Fit / Predict / Predict Proba) methods are heavily inspired by the sklearn API. So please read this to get a better idea of how these work.
The following code is an example of using this package in a Unit Test:
using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using XGBoost; namespace TestXGBoost { [TestClass] public class XGBoostTests { [TestMethod] public void TestXGBClassifierPredictProba() { var xgb = new XGBClassifier(); var X = new[] { new[] {1f, 2f, 3f, 4f, 5f}, new[] {1f, 2f, 3f, 4f, 5f} }; var y = new[] {.5f, .5f}; xgb.Fit(X, y); var h = xgb.PredictProba(X); CollectionAssert.AreEqual(y, h[0]); } } }