使用机器学习输出在约束条件下优化业务目标功能

时间:2018-09-04 09:14:35

标签: python optimization machine-learning constraints

我正在通过使用机器学习预测输出来优化业务问题。 代码就是这样;

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

我找不到任何可以添加约束的选项。 如果有人可以提供帮助,我将不胜感激:) 问候。

0 个答案:

没有答案