Как исправить нулевой риск потерь при первоначальном расчете прибыли: машинное обучениеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как исправить нулевой риск потерь при первоначальном расчете прибыли: машинное обучение

Сообщение Anonymous »

Я только что закончил проект для своего учебного лагеря. Однако, независимо от того, как я делаю расчет прибыли или начальную загрузку, я продолжаю получать нулевой риск убытка. Я не знаю, как это исправить.
### Ключевые значения для расчета прибыли
BUDGET = 100 * 10**6 # $100 миллионов
REVENUE_PER_BARREL = 4,5 # 4,5 доллара США за баррель
WELLS_SELECTED = 200 # Количество скважин, выбранных для разработки
COST_PER_WELL = BUDGET / WELLS_SELECTED # Стоимость скважины
sufficient_volume = COST_PER_WELL / REVENUE_PER_BARREL
### Функция расчета прибыли
def calculate_profit(predictions, target, n_wells, revenue_per_barrel, cost_per_well):
selected_indices = predictions.sort_values(ascending=False).head(n_wells).index
selected_reserves = target.loc[selected_indices].sum()
revenue = selected_reserves * revenue_per_barrel * 1000
profit = revenue - (cost_per_well * n_wells)
return profit

### Техника начальной загрузки
def bootstrap_profit(predictions, target, n_wells, revenue_per_barrel, cost_per_well, n_samples=1000):
state = np.random.RandomState(42)
profits = []
for _ in range(n_samples):
sample_indices = state.choice(predictions.index, size=n_wells, replace=True)
sample_predictions = predictions.loc[sample_indices]
sample_target = target.loc[sample_indices]
profit = calculate_profit(sample_predictions, sample_target, n_wells, revenue_per_barrel, cost_per_well)
profits.append(profit)
profits = pd.Series(profits)
mean_profit = profits.mean()
lower_bound = profits.quantile(0.025)
upper_bound = profits.quantile(0.975)
risk_of_loss = (profits < 0).mean() * 100
return mean_profit, (lower_bound, upper_bound), risk_of_loss


Подробнее здесь: https://stackoverflow.com/questions/787 ... ine-learni
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»