我即将在sklearn
中混淆Adaboost,但我只是想澄清一点我在概念上的差异。导入包裹混淆
我已阅读通过this堆栈溢出文章。我还通过其他一些堆栈文章,带有奇怪的导入错误。不过,我仍然有点困惑,为什么这些代码片段中的一个工作正常,而另一个则中断。
基本上,我只是搞乱用不同的方式导入sklearn.ensemble。我想,因为sklearn是一个包,我们可以这样做:
import sklearn
clf = sklearn.ensemble.AdaBoostClassifier
AttributeError: 'module' object has no attribute 'ensemble'
该错误告诉我,合奏不是一个属性。我想这是有道理的,因为合奏本身就是一个包装。
这个代码文档片断工作,但:
import sklearn.ensemble
clf = sklearn.ensemble.AdaBoostClassifier
我的问题是,是什么区别?如果我们导入一个软件包,在超级软件包中引用软件包不是很好吗?为什么这不被允许?随意链接我的文档,但我不知道最好的地方看。
谢谢!
可能的重复https://stackoverflow.com/questions/8899198/module-has-no-attribute –