使用 Accord.Net 的朴素贝叶斯,我如何存储训练?

Using Accord.Net's Naive Bayes, how do I store training?

使用 Accord.Net 的朴素贝叶斯,我如何存储学习以便我不必再次训练分类器?

我有一个非常大的数据集,我不想在启动新实例或服务器出现故障时再次 运行 整个过程。

这训练: double error = bayes.Estimate(inputs, outputs);

这个测试: int answer = bayes.Compute(new int[] { 0, 1, 1, 0 });

我希望有一个由 .Estimate() 创建的模型,我可以将其存储在某个地方并用于快速初始化贝叶斯。

Accord.NET 框架中的任何模型都可以使用标准 .NET 序列化进行保存。您的“'bayes'”变量可以使用以下方式保存:

BinaryFormatter formatter = new BinaryFormatter();
FileStream fs = new FileStream("bayes.bin", FileMode.Create);
formatter.Serialize(fs, bayes);

并使用

加载回来
BinaryFormatter formatter = new BinaryFormatter();
FileStream fs = new FileStream("bayes.bin", FileMode.Read);
var bayes = (NaiveBayes)formatter.Deserialize(fs);