我正在通过使用机器学习预测输出来优化业务问题。 代码就是这样;
from skopt import gbrt_minimize
def formul1():
total_reward = 0
for i in range(580500, 581000):
def func(b):
X[i,3]= np.array(b)
return -np.sum((model.predict_proba(X[i:i+1,:])[:,1]*1000).astype(int) * (X[i,3]- X[i,38]))
res = gbrt_minimize(func,
[(0.002, 0.025)],
acq_func="LCB", # acquisition function
n_calls=7, # fonksiyon iteration
n_random_starts=1.,
random_state=123) # the random seed)
vee = float(res.fun)
total_reward += vee
print("optimizasyon " +str(i)+" completed."+ str(res.x)+ " offered "+ "probability =" + str(model.predict_proba(X[i:i+1,:])[:,1]))
return total_reward
formul1()
因此,我想做的是,我想找到最佳X [i,3]值以找到最佳预测x(X [i,3]-X [i,38])。 到目前为止,代码正在运行。但是我真正想要的是添加一些约束,例如;预测> 0.5
我找不到任何可以添加约束的选项。 如果有人可以提供帮助,我将不胜感激:) 问候。