【机器学习100天】Day-2线性回归-代码调整

随着python版本的更迭,机器学习100天中部分原有的代码无法与较新版本的python相容,为了让大家更方便的运行代码,了解其中原理,笔者将其中需要改正的部分列举出来,供大家参考

1.ModuleNotFoundError: No module named 'sklearn.cross_validation'

原代码:

from sklearn.cross_validation import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split( X, Y, test_size = 1/4, random_state = 0)

 错误原因:

        在sklearn0.18及其以上版本,cross_validation被废弃,只需将cross_validation替代为model_selection即可。

修改后代码:

from sklearn.model_selection import train_test_split
X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.25,random_state=0)

代码外问题:

        笔者在pycharm2020.3.3运行此代码时,出现图像不显示的问题(无法弹出图像窗口),程序运行无误:

阅读下面方法前,请大家先在绘图语句后添加plt.show(),然后尝试运行,如果成功即可忽略以下方法。

        经查阅资料后了解,笔者用的是Mac系统,Mac系统上的Python版本为3.8.8,而Pycharm环境中版本为3.7,为后端绘制版本与Python版本无法对应的问题,详见Pycharm绘图图像无法显示https://blog.csdn.net/geanwen/article/details/78559272?ops_request_misc=&request_id=&biz_id=102&utm_term=pycharm%E4%BD%BF%E7%94%A8matplotlib%E7%BB%98%E5%9B%BE%E6%97%A0%E6%B3%95%E6%98%BE%E7%A4%BA%E5%9B%BE%E7%89%87&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-78559272.142%5Ev51%5Econtrol,201%5Ev3%5Econtrol_1&spm=1018.2226.3001.4187

笔者用anaconda新建环境python3.8.13,并更新环境,但还是无法解决此问题。笔者查阅大量资料,安装brew(MacOS中非常好用的包管理工具,真情推荐),详见Homebrew介绍和使用icon-default.png?t=M85Bhttp://t.csdn.cn/8T4dv

然后通过brew安装pyenv(一款管理python环境的工具),更新系统版本为3.8.13。但事实上,只需保证系统版本和环境版本均为3.8即可,并不需要做到完全一致。Windows版本的朋友还可以尝试在settings中取消python scientific的勾选(笔者在Mac中的pycharm为找到此选项)。


 

参考文章:

1.ModuleNotFoundError: No module named 'sklearn.cross_validation'

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值