Отсутствует модуль Sklearn и вы не знаете, что использовать вместо него?

Сейчас я следую этому руководству https://www.geeksforgeeks.org/rainfall-prediction-using-machine-learning-python/

Однако. Я получаю эту ошибку для следующих строк кода.

for i in range(3):

    models[i].fit(X, Y)


    print(f'{models[i]} : ')


    train_preds = models[i].predict_proba(X) 

    print('Training Accuracy : ', metrics.roc_auc_score(Y, train_preds[:,1]))


    val_preds = models[i].predict_proba(X_val) 

    print('Validation Accuracy : ', metrics.roc_auc_score(Y_val, val_preds[:,1]))

    print()



    metrics.plot_confusion_matrix(models[2], X_val, Y_val)

    plt.show()

Я получаю эту ошибку: «AttributeError: модуль «sklearn.metrics» не имеет атрибута «plot_confusion_matrix». Вы имели в виду: «pair_confusion_matrix»?»

Судя по всему, матрица путаницы графиков устарела, но я не знаю, что теперь делать, поскольку мне нужен этот график.

Я надеюсь, что вы можете помочь!!

Пробовал просматривать документацию, но не нашел, чем заменить эту старую функцию.

Этот вопрос похож на: ImportError: невозможно импортировать имя «plot_confusion_matrix» из «sklearn.metrics». Если вы считаете, что это другое, отредактируйте вопрос, поясните, чем он отличается и/или как ответы на этот вопрос не помогают решить вашу проблему.

BeRT2me 16.07.2024 02:12

Да, это было так. Теперь у меня возникла проблема: я получаю эту ошибку: Файл ...... строка 125 в <module> models[i].fit(X, Y) ValueError: Входной сигнал X содержит NaN. LogisticReгрессия не принимает пропущенные значения, закодированные как NaN.

John.R 16.07.2024 02:39
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
2
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам следует попробовать использовать sklearn.metrics.ConfusionMatrixDisplay, как указано здесь: Ошибка импорта: невозможно импортировать имя «plot_confusion_matrix» из «sklearn.metrics»

Вот код, который у меня сейчас есть: ,stratify=targ‌​et,random_state=2) ....... ConfusionMatrixDisplay.from_estimator(models[2], X_val, Y_val) plt.show()` Я получаю эти ошибки и не уверен, что не так: Traceback (последний последний вызов): Файл ...... строка 125, в <module> models[i].fit(X, Y) ValueError: Входной сигнал X содержит NaN. LogisticReгрессия не принимает пропущенные значения, закодированные как NaN.

John.R 16.07.2024 02:35

Я не совсем понимаю, что здесь происходит. Есть ли способ очистить эти данные NAN. В строке 125 говорится следующее: models[i].fit(X, Y) print(f'{models[i]} : ') train_preds = models[i].predict_proba(X) print('Training Accuracy : ' , metrics.roc_auc_score(Y, train_preds[:,1]))

John.R 16.07.2024 02:36

Возможно, вам следует попытаться понять, почему вы получили значения NaN. Если df — ваш фрейм данных pandas, вы можете использовать df.dropna() для очистки этих значений NaN. Посмотрите здесь: pandas.pydata.org/docs/reference/api/…

gravlax 16.07.2024 10:28

Другие вопросы по теме