使用Accord.Net的Naive Bayes,如何存储学习,以便我不必再次训练分类器?
我有一个非常大的数据集,我不想在启动新实例或服务器停机时再次运行整个事情。
这列车:
double error = bayes.Estimate(inputs, outputs);
这个测试:
int answer = bayes.Compute(new int[] { 0, 1, 1, 0 });
我希望有一个由.Estimate()创建的模型,我可以存储在某个地方,并用它来快速初始化贝叶斯。
答案 0 :(得分:1)
可以使用标准.NET序列化保存Accord.NET框架中的任何模型。您的'''''''变量可以使用以下方法保存:
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);