我有一个从机器学习算法中得到的浮点数列表。所有这些浮点数都介于0和1之间:

probs = [proba[0] for proba in self.classifier.predict_proba(x_test)]


概率是我的花车清单。预报_proba()函数通常返回一个numpy数组。获取列表大约需要9秒钟,列表最终包含约60k值。

我想针对列表中的最高值缩放或归一化列表中的所有值。

通常,我会这样做:

maximum = max(probs)
list_values = [proba / maximum for proba in probs]


但是对于60k的值,大约需要2分钟。我想简短一点。

您对我如何参加更好的演出有任何想法吗?

最佳答案

如果您不介意使用外部库,那么numpy可能值得研究:

import numpy
probs = numpy.array([proba[0] for proba in self.classifier.predict_proba(x_test)])
list_values = probs/maximum

10-04 12:50