Использование результатов машинного обучения для оптимизации бизнес-целевой функции с ограничением - PullRequest
0 голосов
/ 04 сентября 2018

Я стремлюсь оптимизировать проблему бизнеса, используя вывод прогноза машинного обучения. Код - что-то вроде этого;

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

Я не смог найти ни одной опции, чтобы можно было добавить ограничение. Если кто-то может помочь об этом, я был бы признателен :) С уважением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...