使用 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);
使用 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);