machine-learning - 如何构建多元排名系统?

标签 machine-learning statistics ranking

我有电子商务平台上各个卖家的数据。我正在尝试根据各种功能计算卖家排名分数,例如

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/

相关文章:

machine-learning - 为什么神经网络对排列标签给出相同的精度?

r - R 中随机指数相关矩阵的 Cholesky 分解

r - 在 R 中排名时如何保留连续的 (1,2,3,...n) 排名符号?

machine-learning - 如何利用元素相似度来预测用户的偏好?

machine-learning - 朴素贝叶斯 - 没有类标签 1 的样本

php - PHP 中好的开源分析/统计软件?

php - 在列之间随机分布整数值

mysql - 选择特定玩家的排名sql查询

在项目之间反复选择后确定排名的算法

machine-learning - SVM 硬边距 : why imbalanced dataset may cause bad results?