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

2022-07-06 12:40:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了一个算法来计算一些候选特征,这些特征存储在一个数据帧中,例如:(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\u avg

我想迭代地做上面的工作,调整每次迭代的权重向量,以最大化S泷avg,有人对Python中的简单迭代方法(向量调整)有什么建议吗?你知道吗

谢谢,希望我说得够清楚

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


Tags: 数据对象标记算法特征向量分数avg平均值权重c1score1score2总分scoren