Scikit learn 教程中的导入语句位于表单中
from sklearn.decomposition import PCA
另一个有效的版本是
import sklearn.decomposition
pca = sklearn.decomposition.PCA(n_components = 2)
但是
import sklearn
pca = sklearn.decomposition.PCA(n_components = 2)
不,并抱怨
AttributeError: module 'sklearn' has no attribute 'decomposition'
这是为什么,我如何预测哪些可以工作,哪些不能,这样我就不必进行测试?如果理解和预测能力扩展到一般的Python包那将是最好的。
sklearn
不会自动导入其子模块。如果您想使用 sklearn.<SUBMODULE>
,那么您需要显式导入它,例如import sklearn.<SUBMODULE>
。然后您就可以使用它,而无需进一步导入,例如 result = sklearn.<SUBMODULE>.function(...)
。
大型包通常会以这种方式运行,它们不会自动导入所有子模块。