繁体   English   中英

Python:功能最大化

[英]Python: maximization of function

假设我具有以下简单功能和输入:

dates = pd.date_range('20170101',periods=20)
a1 = np.ones(3)
b1 = pd.DataFrame(np.random.randint(10,size=(20,3)),index=dates,columns=['foo','bar','see'])
def test_func(a,b):
        c = (a*b).sum(axis=1)
        d = c.std()*np.sqrt(3)
        e = c.mean()/d
        return -np.array(e) 

我想将此函数求解为最小化输出(最大化e)。

scipy.optimize.fmin(test_func,a1,args=(b1))

但这会引发类型错误

TypeError: test_func() takes 2 positional arguments but 4 were given

我的问题是:i)这是解决此类功能最大值的好方法吗?ii)问题出在哪里?

您在额外参数中的b1之后缺少逗号:

scipy.optimize.fmin(test_func,a1,args=(b1,))

似乎有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM