【问题标题】:How to save a NaiveBayes Classifier in Java ML?如何在 Java ML 中保存 NaiveBayes 分类器?
【发布时间】:2016-12-06 21:44:07
【问题描述】:

所以,我试图弄清楚如何使用给定的数据集保存朴素贝叶斯构建分类器。我试图序列化它以便我可以保存它,但它说它不可序列化。我已经尝试了 java.io.Serializable 类,但它没有帮助。我查看了文档,它实现了可序列化的接口。每当我运行该程序时,我都会收到此错误:java.io.NotSerializableException: net.sf.javaml.classification.bayes.Functions。我已经为此工作了一段时间,希望有人能提供帮助。

谢谢你,约翰·多伊

【问题讨论】:

  • 在这种情况下保存分类器意味着什么?你把它保存到哪里?将构建或版本号与数据一起保存,并将源代码保存在 Subversion、Mercurial 或 Git 等 SCM 工具中还不够吗?
  • 我想将已经通过数据训练的分类器保存到模型中(当您使用特定方法(例如朴素贝叶斯)构建分类器时,您正在训练朴素贝叶斯分类器。经过训练的分类器是我想保存到我的硬盘驱动器)。然后,当我获得新数据时,我是否可以根据我的模型预测结果,或者使用新数据进一步训练模型。我把它保存到我的硬盘上。而且我不希望带有分类器的数据,我希望它独立存在。

标签: java serialization machine-learning data-modeling naivebayes


【解决方案1】:

查看 json 序列化方法,类似这样。

Gson gson = new Gson();
String json = gson.toJson(A,NaiveBayesClassifier.class);
String jsonString = gson.toJson(A);
//A.print();
//Write JSON String to file        
FileWriter fileWriter = new FileWriter(IO.Comp_Name() + location + ".ser");
fileWriter.write(jsonString);
fileWriter.close();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-05
    • 2017-03-02
    • 1970-01-01
    • 2018-05-10
    • 2017-01-14
    • 2017-05-04
    • 2016-05-09
    • 2017-11-13
    相关资源
    最近更新 更多