我有一个函数,它接受一些参数并返回浮点数。a具有每个参数的分布
class Ranges:
K = range(0, 100)
D = range(0, 100)
KD_difference = ('K>D', 'K<D', 'K=D', None)
def function(parameters):
# <some code>
return result # -10.2 or 32.4 etc.
如何使用快速优化功能找到参数的优化值
I've tried grid optimisation:
for K in Ranges.K:
for D in Ranges.D:
for KD in Ranges.KD_difference:
parameters = (K, D, KD)
result = function(parameters)
# ... chose parameters, that give max result value
…但是太慢了。我尝试过随机搜索:
import random
while True:
parameters = (
random.choice(Ranges.K),
random.choice(Ranges.D),
random.choice(Ranges.KD_difference)
)
result = function(parameters)
# ... chose parameters, that give max result value
…但它无法为我的参数提供完全优化的值
现在我希望使用scipy.optimize。但我不明白,我是否应该为每个参数设置分布,以及它如何获得参数“KD_差”的字符串值。 请给出建议或示例,我如何优化我的参数
目前没有回答
相关问题 更多 >
编程相关推荐