Python 基于持续性能的机器学习模型
我已经在我的PC(Python 基于持续性能的机器学习模型,python,machine-learning,mapr,pyspark-dataframes,Python,Machine Learning,Mapr,Pyspark Dataframes,我已经在我的PC(Windows)上用样本数据构建了一个初步的ML(PySpark)模型,准确率约为70%。将模型二进制文件保存在磁盘上后,我从另一个jupyter笔记本上读取,准确率接近70%。现在,如果我在我们的集群上做同样的事情(MapR/Unix),在从磁盘读取模型二进制文件后,准确率将下降到10-11%(数据集也完全相同)。即使有完整的数据集,我也遇到了同样的问题(仅供参考) 由于集群有Unix操作系统,我尝试在docker容器(Unix)中持续测试模型,但没有问题。问题只存在于集群
Windows
)上用样本数据构建了一个初步的ML(PySpark
)模型,准确率约为70%。将模型二进制文件
保存在磁盘上后,我从另一个jupyter笔记本上读取,准确率接近70%。现在,如果我在我们的集群上做同样的事情(MapR/Unix
),在从磁盘读取模型二进制文件后,准确率将下降到10-11%(数据集也完全相同)。即使有完整的数据集,我也遇到了同样的问题(仅供参考)
由于集群有Unix操作系统,我尝试在docker容器(Unix)中持续测试模型,但没有问题。问题只存在于集群
从那以后,我一直在琢磨是什么导致了这一问题,以及如何解决这一问题。请帮忙
编辑:
这是一个分类问题,我使用了pyspark.ml.classification.RandomForestClassifier
要保留模型,我只需使用标准设置:
model.write().overwrite().save(模型路径)
并加载模型:
model=pyspark.ml.classification.RandomForestClassificationModel().load(模型路径)
我在模型中使用了StringIndexer
,OneHotEncoder
等,并将它们保存在磁盘上,以便在其他jupyter笔记本中使用(与主模型相同)
编辑:
Python:3.x
Spark:2.3.1听起来很奇怪。我们能得到更多关于模型的信息吗?当然。我将编辑我的问题以添加更多信息。如果您还需要什么,请告诉我。您用于持久化模型的序列化策略、模型类型等。您是否修复了random_状态?这里有一个解释,为什么这会产生影响:不,我没有。我在任何地方都使用相同的代码(端到端)。所以就算我做了也没关系。