Je suis confronté à un peu de problème lors de l'implémentation de scipy.optimize.minimize()
. Il me renvoie l'erreur ValueError: Objective function must return a scalar
. Voici mon code:Problème d'implémentation de scipy optimiser minimiser
def cost(A,b,x):
return np.sum(np.square(np.dot(A,x)-b))
def sse(x):
return 1-sum(x)
x0 = np.ones(4)/4
bounds = tuple((0,1) for x in x0)
cons = ({'type': 'eq', 'fun': sse})
All = minimize(cost, x0, args=(A, curve), method='SLSQP', bounds=bounds, constraints=cons).x
A
a une forme (400,4)
, curve
a une forme (400,)
et x
, x0
ont une forme (4,)
. Je semble manquer quelque chose de très trivial. Toute aide serait appréciée. Merci d'avance!
Merci! Je l'ai. De plus, la 'courbe' est passée à la variable' b' dans la fonction. –
Oui, mais je ne voudrais pas ces différents noms. C'est difficile de suivre imho. – sascha
Aah! Bien! Cela en tiendra compte. –