weka序列化模型文件太大了

时间:2017-05-25 09:36:51

标签: serialization weka random-forest

我使用weka(在java中)构建了一个随机的森林分类器。 我将序列化分类器保存到磁盘。但是,序列化文件太大(大约100 MB)。此外,如果我训练了更多实例,文件会变得越来越大,所以我猜序列化模型也保存了数据。 还有另一种保存weka分类器的方法吗?并且使用较小的输出文件(通常我假设大小应仅取决于模型架构)。 我已经使用以下来进行血清化,都产生相同的文件大小: Weka.core.serializationHelper.write(),Debug.saveToFile(),ObjectOutputStream.writeObject()

1 个答案:

答案 0 :(得分:0)

您可以将其另存为GZIP。通常它更紧凑。

            File f = new File(path);
            FileInputStream fileInputStream = new FileInputStream(f);
            GZIPInputStream gzipInputStream = new GZIPInputStream(fileInputStream);
            ObjectInputStream objectOutputStream = new ObjectInputStream(gzipInputStream);
            Classifier mlClassifier = (Classifier) objectOutputStream.readObject();
            objectOutputStream.close();
            gzipInputStream.close();
            fileInputStream.close();

要加载它,您可以使用:

Location loc = gpStracker.getlocation();
        latitude = loc.getLatitude();
        longitude = loc.getLongitude();