void AssertModel(F64Matrix observations, double[] targets, RegressionXGBoostModel model) { var predictions = model.Predict(observations); var evaluator = new MeanSquaredErrorRegressionMetric(); var actual = evaluator.Error(targets, predictions); Assert.AreEqual(0.0795934933096642, actual, m_delta); }
public void RegressionXGBoostModel_Save_Load() { var(observations, targets) = DataSetUtilities.LoadGlassDataSet(); var learner = CreateLearner(); var sut = learner.Learn(observations, targets); var predictions = sut.Predict(observations); var modelFilePath = "model.xgb"; using (var sutPreSave = learner.Learn(observations, targets)) { AssertModel(observations, targets, sutPreSave); sutPreSave.Save(modelFilePath); } using (var sutAfterSave = RegressionXGBoostModel.Load(modelFilePath)) { AssertModel(observations, targets, sutAfterSave); } }
public void RegressionXGBoostModel_Save_Load() { var parser = new CsvParser(() => new StringReader(Resources.Glass)); var observations = parser.EnumerateRows(v => v != "Target").ToF64Matrix(); var targets = parser.EnumerateRows("Target").ToF64Vector(); var learner = CreateLearner(); var sut = learner.Learn(observations, targets); var predictions = sut.Predict(observations); var modelFilePath = "model.xgb"; using (var sutPreSave = learner.Learn(observations, targets)) { AssertModel(observations, targets, sutPreSave); sutPreSave.Save(modelFilePath); } using (var sutAfterSave = RegressionXGBoostModel.Load(modelFilePath)) { AssertModel(observations, targets, sutAfterSave); } }