首页 > 编程问答 >我正在尝试运行以下代码,但最后一行始终出现错误

我正在尝试运行以下代码,但最后一行始终出现错误

时间:2024-07-31 10:32:58浏览次数:4  
标签:python google-colaboratory

这是我正在运行的代码:

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    from sklearn.model_selection import train_test_split, cross_val_score
    from sklearn.tree import DecisionTreeClassifier
    from sklearn.naive_bayes import GaussianNB, MultinomialNB
    from sklearn.metrics import accuracy_score
    from sklearn.neighbors import KNeighborsClassifier   
    from sklearn.neural_network import MLPClassifier
    from sklearn.metrics import precision_score, recall_score,auc
    from sklearn.metrics import roc_curve,roc_auc_score, plot_roc_curve

这是错误:

ImportError                               Traceback (most recent call      last)
<ipython-input-3-d1b430d75826> in <cell line: 7>()
      5 from sklearn.tree import DecisionTreeClassifier
      6 from sklearn.naive_bayes import GaussianNB, MultinomialNB
----> 7 from sklearn.metrics import accuracy_score, precision_score,  recall_score, roc_curve, roc_auc_score, plot_roc_curve
      8 from sklearn.neighbors import KNeighborsClassifier
      9 from sklearn.neural_network import MLPClassifier

ImportError: cannot import name 'plot_roc_curve' from 'sklearn.metrics' (/usr/local/lib/python3.10/dist-packages/sklearn/metrics/__init__.py)

请告诉我我的代码是否错误或缺少任何内容?


代码中的错误在于尝试从 sklearn.metrics 导入 plot_roc_curve ,而它在该模块中不可用。 plot_roc_curve 已在 scikit-learn 0.25 版中弃用。

可以按照以下步骤解决该错误:

  1. 导入 RocCurveDisplay :用 RocCurveDisplay 替换 plot_roc_curve 。此类允许绘制 ROC 曲线。

  2. 拟合的模型 :确保已经使用训练数据拟合了分类器模型。

  3. 使用 RocCurveDisplay.from_predictions() :可以直接从模型预测中创建和绘制 ROC 曲线。

以下是代码的更正版本:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.tree import DecisionTreeClassifier
from sklearn.naive_bayes import GaussianNB, MultinomialNB
from sklearn.metrics import accuracy_score, precision_score, recall_score, roc_curve, roc_auc_score, RocCurveDisplay
from sklearn.neighbors import KNeighborsClassifier
from sklearn.neural_network import MLPClassifier

# ...(加载和准备数据的代码)...

# 假设有一个名为“model”的分类器,它已经过训练
model = DecisionTreeClassifier() # 例如
model.fit(X_train, y_train)

# 做出预测
y_scores = model.predict_proba(X_test)[:, 1]

# 创建 ROC 曲线
RocCurveDisplay.from_predictions(y_test, y_scores)
plt.show()

此代码将导入 RocCurveDisplay ,然后使用它根据的模型预测绘制 ROC 曲线。确保根据的数据和模型名称替换 model X_train y_train X_test y_test

标签:python,google-colaboratory
From: 78814222

相关文章

  • 尝试通过Python访问.zip文件中的.gz文件
    我有一个包含大量.gz文件的.zip文件,我需要对其进行处理。我想打开.zip,我可以通过以下代码轻松完成:zf=zipfile.ZipFile("file.zip","r")forgzfileinzf.filelist:withgzip.GzipFile(fileobj=zf.open(gzfile.filename,"r"),mode="r")asf:df......
  • python导入包报错ImportError: cannot import name ‘Protocol‘
    python32.pyTraceback(mostrecentcalllast):File"2.py",line5,in<module>importptwt#use"fromsrcimportptwt"foraclonedtherepoFile"……lib/python3.6/site-packages/ptwt/_util.py",line2......
  • Python - Creating your own Iterator
    Inourfirstexample,wewillcreateiterableobjects,which,wheniteratedover,willgiveoutcubesofnumbers,andtheseobjectswillsupportmultipleiterations.classCubes:def__init__(self,start,stop):self.start=startsel......
  • 三种语言实现前缀和(C++/Python/Java)
    题目输入一个长度为n的整数序列。接下来再输入m个询问,每个询问输入一对l,r对于每个询问,输出原序列中从第l个数到第r个数的和。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数数列。接下来m行,每行包含两个整数l和r,表示一个询问的区间范围。......
  • Python - 旨在通过命令提示符执行数据清理,但代码似乎无法运行
    我从一位同事那里收到了这段代码,我打算用它来处理100csv文件以提取有关粒子的值。代码如下所示:importsysimportcsv#Usage#skdata_decode.py[inputfile1][inputfile2]...#(Itispossibletousefiledcardtospecifyinputfiles.)##l......
  • 如何在 python 终端中的 x,y 位置上书写(基于文本)
    我想在python(基于文本)的终端中的定义位置(x,y)上写入字符。假设,我有一个大小为25x80的终端,并且想要在位置(2,20)上写入字符。我可以在Python中执行此操作吗?现在,我使用25x80数组,并写入该数组。为了在屏幕上显示,我清除屏幕并将该数组的全部内容写入屏幕,但这效......
  • Python - Composition
     classEngine:def__init__(self,power):self.power=powerdefstart(self):self.draw_current()self.spin()self.ignite()defdraw_current(self):print('Drawingcurrent')defspin(sel......
  • Python - Iterator vs Iterable
    Therearemanybuilt-infunctionsandmethodsthatreturniterablesanditerators.Hereareafewexamples:range()returnsaniterabledict.keys()returnsaniterabledict.items()returnsaniterabledict.values()returnsaniterableenumerate()returns......
  • 在python中使用变量引用Panda列名称
    我正在尝试编写一个函数来简化我的代码,因此我传递了包含列名称的变量。它适用于Django应用程序,调试器不会对我的错误所在提供任何反馈,只是“内部服务器错误”。我的代码工作正常,不是作为函数编写的:df_trips['trip_time_prep_starts']=df_trips["trip_time_prep_sta......
  • 如何在 Pyqt5 Python 中实现 QTableWidget 列过滤器中的搜索栏?
    我使用pyqt5创建了一个QTableWidget,并成功地在表格小部件的每一列中添加了过滤选项,并使用堆栈溢出上可用的答案之一。过滤器按预期工作,但我想在顶部的过滤器中添加搜索栏来搜索值。在我的python脚本中,过滤器中可能有大约50多个唯一值。因此,如果有一种方法可以在过滤器......