Сейчас я следую этому руководству 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»?»
Судя по всему, матрица путаницы графиков устарела, но я не знаю, что теперь делать, поскольку мне нужен этот график.
Я надеюсь, что вы можете помочь!!
Пробовал просматривать документацию, но не нашел, чем заменить эту старую функцию.
Да, это было так. Теперь у меня возникла проблема: я получаю эту ошибку: Файл ...... строка 125 в <module> models[i].fit(X, Y) ValueError: Входной сигнал X содержит NaN. LogisticReгрессия не принимает пропущенные значения, закодированные как NaN.
Вам следует попробовать использовать sklearn.metrics.ConfusionMatrixDisplay
, как указано здесь: Ошибка импорта: невозможно импортировать имя «plot_confusion_matrix» из «sklearn.metrics»
Вот код, который у меня сейчас есть: ,stratify=target,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.
Я не совсем понимаю, что здесь происходит. Есть ли способ очистить эти данные 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]))
Возможно, вам следует попытаться понять, почему вы получили значения NaN. Если df — ваш фрейм данных pandas, вы можете использовать df.dropna() для очистки этих значений NaN. Посмотрите здесь: pandas.pydata.org/docs/reference/api/…
Этот вопрос похож на: ImportError: невозможно импортировать имя «plot_confusion_matrix» из «sklearn.metrics». Если вы считаете, что это другое, отредактируйте вопрос, поясните, чем он отличается и/или как ответы на этот вопрос не помогают решить вашу проблему.