如何从python获得3个来源的整体评分/评分?

时间:2016-03-12 00:58:46

标签: python-2.7

我想根据3个来源计算整体评分:

紧迫性,重要性和位置。

我认为它的紧急程度和重要性为1-10分,位置为布尔值。

我知道有算法,但我希望有一种简单的方法可以做到这一点!

如果我需要以某种方式澄清,请告诉我。

1 个答案:

答案 0 :(得分:1)

您需要为每个来源提供正确的权重系数。

score = x * importance + y * urgency + z * location

您了解的算法是关于如何根据真实的分类数据确定最佳系数。这叫做Supervised Learning.

假设你有一张培训样本表:

[importance, urgency, location, score ] = [i,u,l,s]

分配的分数本身无关紧要,但相对分数值应代表您所做出的决定。您的解决方案的线性拟合将是:

a = [i, u, l] , a row vector of sources.

A= [a1  ; = [i1, u1, l1;
    a2  ;    i2, u2, l2;
    ... ;    ...;
    an  ]    in, un, ln]

所有源样本的矩阵,每行一个。

S= [s1;
    s2;
    ...
    sn]

带有分数样本的列向量。

然后你可以计算

B=(A*A')^-1 A'* S

B是具有最佳权重的数组[x,y,z]。

  • A'是转置矩阵
  • (A*A')^-1是方阵
  • 的倒数
  • *代表此背景下的矩阵产品。

使用数学软件或数学库进行矢量运算。 MATLAB / gnuOctave是我的建议。 numpy一个丑陋的替代方案,也会起作用。

如果您对其工作原理感兴趣,那么这是一个linear predictor,当您不知道有关样品的任何额外信息时,这是最佳解决方案。