Scikit-learn运行报错NameError: name 'load_iris' is not defined如何解决
报错原因
你遇到的NameError核心由以下两个可预见的问题导致:
- 未导入
load_iris依赖函数:load_iris是sklearn.datasets模块下的内置工具,没有提前显式导入的情况下,Python解释器无法识别该函数名称,直接调用就会触发该报错。你当前使用的Scikit-learn 2.2.0版本原生包含该函数,不存在版本缺失问题。 - 额外语法问题:你写的代码中变量名
iris database包含空格,Python不允许变量名出现空格,修正导入问题后还会触发语法错误,需要同步调整。
修复方案
按以下步骤操作即可解决问题:
- 修正变量名,将非法的
iris database改为合法变量名,比如iris_database或者iris。 - 在代码开头添加导入语句,二选一即可:
- 直接导入目标函数:
后续调用写法保持修正后的:from sklearn.datasets import load_irisiris_database = load_iris() - 导入整个数据集模块,调用时加前缀:
后续调用写法为:import sklearn.datasets as datasetsiris_database = datasets.load_iris()
- 直接导入目标函数:
- 如果执行导入语句时提示
ModuleNotFoundError,说明你当前运行的Python环境未正确安装Scikit-learn,执行以下conda命令安装对应版本即可:conda install scikit-learn==2.2.0
内容的提问来源于stack exchange,提问作者nib722
相关产品推荐
相关产品推荐

