请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

attempted relative import with no known parent package

https://img1.sycdn.imooc.com//szimg/5f9a243b09eea57904100327.jpg

https://img1.sycdn.imooc.com/szimg/5f9a23bf09e21ca412310543.jpg

老师,Q1:如上图 ,请问这里为什么服务器说没有找到相应的包?



https://img1.sycdn.imooc.com//szimg/5f9a23bf09389a6910450558.jpg

Q2:如上图,54行这是出现了什么错误呢?

Q3:38行的def是预测输入的单个样本,在我自己的代码中,我命名为x1,是不是搞混了x1

和x和X的关系,按理来说不应该啊,39行的assert中哪里出现错误了呢?之前一直没有报错,为什么这次报错了呢?




正在回答 回答被采纳积分+3

2回答

weixin_慕村8280326 2021-08-23 22:05:51

同学你pycharm运行了报错没事

你在jupyter notebook里头导入模块的时候这样写

from playML import kNN1

my_kNN = kNN1.KNNClassifir(k=3)

0 回复 有任何疑惑可以回复我~
liuyubobobo 2020-10-29 10:20:16

Q1:依然是你的包和你的包的调用者之间的关系问题。你现在在 model_selection 这个暴力执行程序调用自己,就会出这个问题。你应该把调用的代码放在包外(和 Jupyter Notebook 在一个层级)。


Q2Q3:

assert 报错,就是 assert 失败,说明现在 你的 x1.shape[0] != self._X_train.shape[1]。如果你确认你的 py 文件没有错,你需要检查传入的参数是否有错误。


这个课程的所有代码都可以在课程官方下载到,你可以比对一下自己的程序哪里有问题。传送门:https://git.imooc.com/coding-169/coding-169


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 山屿麋鹿Jasmine #1
    可是老师,我这里就是按着您上课讲的方式将__init__,metrics,model_selection,knn四个文件放入playML文件夹里面的呀,playML和notebook同级,您说的‘你应该把调用的代码放在包外(和 Jupyter Notebook 在一个层级)。’是什么意思啊?将metrics放在包外吗?我试了一下还是不行啊,谢谢老师
    回复 有任何疑惑可以回复我~ 2020-10-29 10:41:04
  • liuyubobobo 回复 提问者 山屿麋鹿Jasmine #2
    你在 knn.py 中做了执行。课程的 knn.py 中,是没有任何执行代码的,只是封装了一个类。https://git.imooc.com/coding-169/coding-169/src/master/04-kNN/03-Test-Our-Algorithm/playML/kNN.py 所有的执行,都在包外。
    回复 有任何疑惑可以回复我~ 2020-10-29 10:49:40
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信