Предупреждение о точности вычислений при использовании GridSearchCV для логистической регрессииPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Предупреждение о точности вычислений при использовании GridSearchCV для логистической регрессии

Сообщение Anonymous »

Я пытаюсь запустить GridSearchCV с оценщиком логистической регрессии и записать метрики точности модели, прецизионности, полноты и f1.
Однако я получаю следующую ошибку в метрике точности:< /p>

Код: Выделить всё

Precision is ill-defined and being set to 0.0 due to no predicted samples.
Use `zero_division` parameter to control this behavior
Я понимаю, почему получаю ошибку, поскольку в разбиении Kfold нет прогнозов с выходным значением, равным 1. Однако я не понимаю, как я могу установить для «zero_divison» значение 1 в GridSearchCV (переменная logistic_reg).
Исходный код

Код: Выделить всё

logistic_reg = GridSearchCV(estimator=LogisticRegression(penalty="l1", random_state=42, max_iter=10000), param_grid={
"C": [1e-4, 5e-4, 1e-3, 5e-3, 1e-2, 5e-2, 1e-1, 5e-1, 1, 5, 10, 20],
"solver": ["liblinear", "saga"]
}, scoring=["accuracy", "precision", "recall", "f1"], cv=StratifiedKFold(n_splits=10), refit="accuracy")

logistic_reg_X_train = self.X_train.copy()
logistic_reg_X_train.drop(self.columns_removed, axis=1, inplace=True)

logistic_reg.fit(logistic_reg_X_train, self.y_train)
logistic_reg_results = pd.DataFrame(logistic_reg.cv_results_)
Я попробовал изменить «precision» на Precision_score(zero_division=1), но это выдает еще одну ошибку (

Код: Выделить всё

missing 2 required positional arguments: 'y_true' and 'y_pred'). Опять же, я это понимаю, но два недостающих параметра не определены перед применением метода подгонки.
Как указать параметр 1zero_division
для показателя точности?
Изменить
Чего я не понимаю, так это того, что я расслаивал данные y в своем методе train_test_split и использовал StratifedKFold в GridSearchCV. Насколько я понимаю, данные поезда/теста будут иметь одинаковую долю разделения значений y, и то же самое должно происходить во время перекрестной проверки. Это означает, что в выборкахgridsearchcv данные должны иметь значения y как 0, так и 1, и, следовательно, точность не может равняться 0 (модель сможет рассчитать TP и FP, поскольку выборочные тестовые данные содержат выборки, где y равно 1). Я не знаю, куда идти дальше.

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

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

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

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

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

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

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