Пользовательская функция прибыли GridSeachCV приводит к ошибке: отсутствует 1 обязательный позиционный аргумент: 'y'Python

Программы на Python
Ответить
Anonymous
 Пользовательская функция прибыли GridSeachCV приводит к ошибке: отсутствует 1 обязательный позиционный аргумент: 'y'

Сообщение Anonymous »

Я пытаюсь оптимизировать свою модель с помощью Gridsearchcv, используя пользовательскую функцию прибыли. Однако, когда я запускаю свой код, я получаю следующее сообщение об ошибке: typeerror: reform_scorer () отсутствует 1 требуемый позиционный аргумент: 'y' '
Вот мой код:
def calculate_profit(y_true, y_pred):
tn, fp, fn, tp= confusion_matrix(y_true, y_pred).ravel() #tn, fp, fn, tp
profit_from_sales = tp * (sale_revenue - call_cost)
loss_from_wasted_calls = fp * false_positive_cost
total_profit = profit_from_sales - loss_from_wasted_calls
return total_profit
< /code>
def profit_scorer(estimator, X, y):
y_pred = estimator.predict(X)
return calculate_profit(y, y_pred)
< /code>
scorer = make_scorer(profit_scorer, greater_is_better=True)
< /code>
rf = RandomForestClassifier(random_state=42, class_weight="balanced")
< /code>
param_grid = {
'n_estimators': [50, 100, 200],
'max_depth': [3,4,5],
'criterion': ['gini', 'entropy'],
'max_features': ['sqrt', 'log2'],
'bootstrap': [True, False]}
< /code>
grid_search = GridSearchCV(
estimator=rf,
param_grid=param_grid,
cv=5,
scoring= scorer,
verbose=1)
grid_search.fit(X, y)`


Подробнее здесь: https://stackoverflow.com/questions/793 ... quired-pos
Ответить

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

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

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

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

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