我有100种不同的随机森林模型。他们每个人的平均大小为300 MB(每个人接受300多个课程的培训)。我正在使用sklearn(v0.19.1)的随机森林实现。这将导致超过30 GB的内存使用。我将需要内存中的所有模型,并尝试减少树的深度,但是准确性的降低幅度很大。是否有人可以帮助我减少内存占用的任何想法和/或建议(实现?)?
我没有任何高级且优雅的解决方案。但是,由于您使用RF,所以总有一种解决方法:您可以使用不同的随机种子一个接一个地训练100个DT(或RF)模型,并将每个模型存储在磁盘上(存储后从内存中擦除)。这样,在任何给定时间,您最多只能有300 MB的内存。要进行预测,您将需要阅读模型并进行一对一预测,并平均预测的概率。您可以将该提案推广为在每个此类模型中具有N(N = 1..5)个树,以使用一些适度的内存,但减少实际模型的数量