我已经在PC(PySpark
)上构建了带有样本数据的初步ML(Windows
)模型,其准确性约为70%。将model binary
保留在磁盘上之后,我正在从另一个jupyter笔记本中读取它,准确性接近70%。现在,如果我在集群(MapR/Unix
)上执行相同的操作,则从磁盘读取model binary
后,准确性下降到10-11%(数据集也完全相同)。即使使用完整的数据集,我也会遇到相同的问题(仅作为参考)。
由于集群具有Unix OS,因此我尝试在docker容器(Unix)中对模型进行训练,持久性测试,但是在那里没有问题。问题仅在于群集。
此后,我一直在挠头,想想可能是什么原因以及如何解决它。请帮忙。
编辑:
这是一个分类问题,我使用了pyspark.ml.classification.RandomForestClassifier
。
要保留模型,我只是使用标准设置:
model.write().overwrite().save(model_path)
并加载模型:
model = pyspark.ml.classification.RandomForestClassificationModel().load(model_path)
我在模型中使用了StringIndexer
,OneHotEncoder
等,并且还将它们持久保存在磁盘上,以便在其他jupyter笔记本中使用它们(与主要模型相同)。
编辑:
Python:3.x
火花:2.3.1