[英]Training personalized based machine learning models
i work on a php project along with python which uses flask as api which predict user like on a post based on the previous engagement on other posts and its purely user based.
我的要求是假设我们的系统中有 1000 名用户。 他们之前对旧帖子做过喜欢。当新帖子到达时,我需要以某种方式确定用户是否喜欢它。这是通过 cron 作业完成的
方法1
我正在使用逻辑回归作为 model 所以可能需要为每个用户提供动态 pkl 文件。因为不同用户在同一个帖子上的参与度不同所以我需要保存一些类似 model_{user_id}.pkl 文件的东西,其中 user_id 是用户的用户 ID
方法2
使用基于内容的推荐系统。但据我所知,它不能像生产中的 pkl 文件那样存储。 所以对于来自 1000 个用户的每个用户,我需要运行推荐器 function。
方法1缺点
为每个用户创建动态 pkl 文件,这意味着更多文件。我在互联网上从未见过这种方法
方法2缺点
我相信为每个用户调用推荐器 function 可能是一个坏主意。这将严重影响 CPU 使用等。
有人可以帮我如何正确解决这个问题。我是机器学习的新手。 请考虑我的问题。 提前致谢。
我会建议这样的事情:
像这样的东西(未经测试 - 只是一个概念):
#for saving the model
model_data = pd.DataFrame(columns=['user','model'])
temp_model = RandomForestClassifier().fit(X,y)
new = pd.DataFrame({'user':[user_id],'model':[temp_model]})
model_data = model_data.append(new)
packed_model = jsonpickle.pickler.Pickler.flatten(model_data)
#for loading the model
unpacked_model = jsonpickle.unpickler.Unpickler.restore(packed_model) #this should be in the begining of your flask file - loaded into the memory
user_model=unpacked_model.at(user_id,'model') #this should be inside every api call
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.