我有一个简单的Python应用程序。 接受评级.csv有用户标识,产品标识,等级 它包含4M记录,然后我使用Spark AlS保存模型,然后将其加载到matrixFactorization。在
我的方法预测的问题是,预测用户和产品之间的评级需要超过一秒钟。 我的服务器是32G和8核。 有什么建议可以把预测时间提高到100毫秒以下吗。 以及数据集中的多个记录与预测时间之间的关系。在
我正在做的是:
spark_config = SparkConf().setAll([('spark.executor.memory', '32g'), ('spark.cores.max', '8')])
als_recommender.sc = SparkContext(conf=spark_config) #training_data is array of tulips of 4 M record
training_data = als_recommender.sc.parallelize(training_data) als_recommender.model = ALS.trainImplicit(training_data, 10, 10, nonnegative=True)
als_recommender.model.save(als_recommender.sc, "....Ameer/als_model")
als_recommender_model = MatrixFactorizationModel.load(als_recommender.sc, "....Ameer/als_model")
als_recommender_model.predict(1,2913)
基本上,您不希望每次需要回答时都加载完整的模型。在
根据模型更新频率和预测查询的数量,我可以:
相关问题 更多 >
编程相关推荐