ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

iPython(python 2) – ImportError:没有名为model_selection的模块

2019-08-28 21:05:53  阅读:453  来源: 互联网

标签:python scikit-learn ipython sklearn-pandas


iPython笔记本
Python 2

抱怨这条线:

from sklearn.model_selection import train_test_split

为什么模型选择不起作用?

解决方法:

为了解决这个问题,您需要先了解是否要导入实际的sklearn软件包,而不仅仅是将某个名为sklearn.py的脚本保存在工作目录中的某个位置. Python导入模块的方式有点类似于在命名空间中找到变量的方式(Local,Enclosed,Global,Built-in).在这种情况下,Python将首先查看当前目录然后查看站点包来开始导入模块.如果它在当前工作目录中查找并找到与您尝试导入的模块同名的python脚本,那么它将导入该脚本而不是实际模块.

您通常可以通过检查__file__或__path__属性来确定是否导入了实际模块:

import sklearn

print(sklearn.__file__)
print(sklearn.__path__)

查看这些打印语句的输出将告诉您导入的包是否是您所使用的模块,或者只是某个脚本位于工作目录中的某个位置.如果,如果输出没有指向Python版本的site-packages,那么你已经导入了一些不是模块本身的脚本.您的快速修复方法是先退出控制台,重命名.py脚本及其编译版本(.pyc文件),然后返回控制台再试一次.

但是,如果输出指向python版本的site-packages,那么首先安装软件包的方式有问题.在这种情况下,您可能需要更新或重新安装它.

特别是,事实证明,问题在于您正在使用的sklearn版本;因为sklearn中的model_selection模块在版本0.18中可用.如果您使用的版本号(sklearn .__ version__)低于0.18,那么您将不得不使用旧的cross_validation模块而不是model_selection模块:

from sklearn.cross_validation import train_test_split

您也可以使用首选的包管理系统升级到最新版本的软件包.

我希望这是有帮助的.

标签:python,scikit-learn,ipython,sklearn-pandas
来源: https://codeday.me/bug/20190828/1755873.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有