私はAdaboostをsklearn
に混乱させようとしていますが、概念的には小さな違いを明確にしたかっただけです。パッケージとの混乱をインポート
私はthisスタックオーバーフローの記事を読んだ。私はまた、奇妙なインポートエラーでいくつかの他のスタック記事をあやふやにしました。しかし、私はまだこれらのコードスニペットの1つがなぜ機能するのか、他のブレークは混乱しています。
基本的には、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の可能な複製 –