我正在为一个在线市场网站实施一个新的供应商排名系统。我希望根据一个综合评分从高到低对供应商进行排序。目前,我考虑使用线性模型来计算评分,类似于
score = w1 * f1 + w2 * f2 + w3 * f3....
其中f1, f2, ….是不同的特征(例如:平均评价分数、订单取消率、响应率等),w1, w2 …是这些特征对应的权重。
我希望对每个供应商的每个项目进行0到100的评分,并根据此评分对项目进行排序。
我遇到的困难是如何为每个特征分配最优权重。有没有办法分配权重来优化某些东西,比如用户购买的概率,或者更难以捉摸的质量?经过一些搜索,我发现了一些论文显示使用PCA来创建某些综合指数。但由于我不太熟悉PCA,我并不完全确定它是否适合这种情况。
如果有人能指导我走上正确的道路,我将非常感激。如果我解决这个问题的方法完全错误,我也很感激有人能指出这一点。
回答:
这看起来像是你的标准监督学习问题。根据你是否有足够的标记数据,你可以应用一些简单的训练方法,如线性回归(http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html),或者更复杂的方法,如提升(http://xgboost.readthedocs.io/en/latest/python/python_intro.html)。你的数据标签可以是用户购买的频率,使这成为一个回归问题。