我有电子商务平台上各个卖家的数据。我正在尝试根据各种功能计算卖家排名分数,例如
1] 订单履行率 [数字]
2]订单取消率[数字]
3] 用户评分 [1-5] { 1-2:最差,3:一般,5:良好} [分类]
4] 确认订单所需的时间。 (卖家花费的时间越短越好)[数字]
我的第一 react 是标准化所有特征,然后将参数/特征乘以一些权重。将每个卖家得分加在一起。最后根据这个分数找到卖家的相对排名。
我的卖家评分方程如下
卖家评分 = w1* 订单履行率 - w2* 订单取消率 + w3 * 用户评分 + w4 * 确认订单所需时间
其中,w1,w2,w3,w4 是权重。
我的问题有三个
有更好的算法/方法来解决这个问题吗?即我线性添加了各种功能,我想知道构建排名系统的更好方法吗?
如何获得权重值?
除了使用上述功能之外,我能想到的还有正面评论与负面评论的比率、商品损坏率等。这些如何适合我的评分方程?
如何结合数字和分类变量来查找卖家排名分数? (我的分类变量很少)
是否有一种公认的方法来对这样的多变量系统进行加权?
最佳答案
我建议采用以下方法:
首先,将所有可用的功能保留在一个矩阵中,无论您认为它们有用还是无用。
(提示:分类变量通过简单编码转换为数字。因此您可以轻松地合并它们(按照您编码用户评分的确切方式))
然后,您必须应用降维算法,例如奇异值分解(SVD),以保留最重要的变量。应用 SVD 可能会让您惊讶地发现哪些功能可能很重要,哪些功能不重要。
应用 SVD 后,为您决定保留的 n 个最重要的特征选择正确的权重,实际上取决于您,因为它纯粹是定性的且依赖于领域(就哪些特征更重要而言)。
以形式化的方式计算权重的唯一方法是,这些特征是否与某些事物(例如收入)直接相关。由于这种情况很少发生,我建议手动定义权重;但为了规范化,设置:
w1 + w2 + ... + wn = 1
也就是说,以总和为 1 的方式分割您选择的功能之间的“总重要性”。
关于machine-learning - 如何构建多元排名系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32548952/