采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
这样就报错,但是单独拿出来就可以
以下是我的LR的代码
我把这个np.ones((len(x_train), 1))组成的全1的矩阵单独拿出来了。
最后还有一个问题就是我不能在pycharm里面run这个LinearRegression.py文件,因为说导入这个metrics.py是有问题的,这是为什么呢?不能用 import .metrics 要用 import metrics,不能加点;但是不用点就在notebook里面就过不了。是不是我之前没认真听课,没印象老师讲过这个区别。请老师解惑!
1)
我目测没有看出原因。请尝试下载课程的官方代码在你的环境下运行看是否有问题?如果没有问题请仔细比对(或者逐模块替换)看一下你的代码哪里有问题?课程官方代码传送门:https://github.com/liuyubobobo/Play-with-Machine-Learning-Algorithms
2)
由于这个课程不是Python的语法课程,所以对这个问题没有介绍。
简单回答如下:
直接import metrics可以理解成在当前运行环境中找metrics;
import .metrics相当于是相对路径,在当前你创建的模块下寻找metrics
注意:当前的运行环境和当前模块是两个概念。
对于Python来说,__main__和你设置的模块不在一个运行环境里,即使这个__main__的代码写在了你的模块文件中,但是从运行的角度是分离的,__main__称为top level enviroment。
所以,如果你写了import .metrics,在__main__中运行,就会寻找__main__.metrics,肯定找不到,就报错了。
但是你写import metrics,在模块外面运行的话,模块的其他文件没有加载进环境,会找不到metrics。
所以,模块中互相依赖的文件,import的时候要用.metrics,这是正确的模块编写方式。
但是不要在模块内部测试模块!要在模块外部测试模块。也就是你的__main__必须在模块的外面作为模块的使用者。
可以参考这个问答:https://coding.imooc.com/learn/questiondetail/52848.html
OK好的我去试一下官方代码。刚学python,就会写个类和方法什么的,谢谢老师?这下全明白了。
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
3.5k 19
4.5k 17
4.1k 15
2.2k 15
2.1k 14
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号