Я стремлюсь оптимизировать проблему бизнеса, используя вывод прогноза машинного обучения.
Код - что-то вроде этого;
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
Я не смог найти ни одной опции, чтобы можно было добавить ограничение.
Если кто-то может помочь об этом, я был бы признателен :)
С уважением.