迭代学习算法调整向量以获得最佳结果(Python)

时间:2017-12-04 08:38:50

标签: python algorithm machine-learning

我写了一个计算某些候选人的某些特征的算法,这些特征存储在一个数据框中,例如:(c1是candidate1)

    feature1    feature2    feature3    ...
c1  score1_1    score1_2    score1_3    ...
c2  score2_1    score2_2    score2_3    ...
...
cn  scoren_1    scoren_2    scoren_3    ...

我写了一个函数,它得到一个权重向量(它的长度是特征的数量)并计算一个总分的列(每行的向量乘法给出该行的分数'候选人)

然后我拿到前N名候选人(获得最高分,假设N = 10)并将它们与同一候选人的另一个工具的输出进行比较,写了一个算法来得出这个比较中的分数,基本上是它的加权交叉点,将此分数标记为S.

对于相同的权重向量,我会针对几组候选者执行此操作,并计算S的平均值,将平均值标记为S_avg。

我想迭代地执行上述操作,每次迭代调整权重向量以最大化S_avg,是否有人对Python中的简单迭代方式(向量调整)有任何建议?

谢谢,希望我足够清楚

编辑:我忘了提到有一个不变量,权重之和为1,每个特征得分从0到1,所以总得分也必须在0-1范围内

0 个答案:

没有答案