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