【问题标题】:import sklearn.model_selection.train_test_split vs import sklearn.model_selection as smimport sklearn.model_selection.train_test_split vs import sklearn.model_selection as sm
【发布时间】:2023-03-07 05:21:01
【问题描述】:
>>> import sklearn.model_selection.train_test_split
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'sklearn.model_selection.train_test_split'

解释器找不到 train_test_split 模块。

>>> import sklearn.model_selection as sm
>>> sm.train_test_split
<function train_test_split at 0x000001841E8FB7B8>

但是使用 as 导入可以解决问题,为什么? import 和 import module as name 之间有什么区别。根据Python : 'import module' vs 'import module as',这些应该是相同的。

【问题讨论】:

  • 试试from sklearn.model_selection import train_test_split

标签: python scikit-learn


【解决方案1】:

您不能在 python 中导入函数。您应该使用以下格式从 python 库中导入它

from sklearn.model_selection import train_test_split

或导入一个模块并从中使用一个函数

import sklearn.model_selection as sm
sm.train_test_split

【讨论】:

    【解决方案2】:

    你不能那样做。 导入函数的格式是:

    from sklearn.model_selection import train_test_split
    

    或者你可以导入整个模块并调用它的函数:

    import sklearn.model_selection
    
    model_selection.train_test_split(params)
    

    或者:

    import sklearn.model_selection as sk
    
    sk.train_test_split(params)
    

    【讨论】:

      【解决方案3】:

      您所比较的内容存在本质区别。在第一行你正在做import function 与第二行from package import module as ALIAS。第一个不正确,你可以导入模块,但具体的功能。在第二种情况下,您正在使用别名导入模块,这是正确的。如果你要导入没有别名的模块,你也可以。

      import sklearn.model_selection.train_test_split
      

      无法与:

      import sklearn.model_selection as sm
      

      这条线是可比较的,并且与以下内容相同:

      import sklearn.model_selection
      

      【讨论】:

        猜你喜欢
        • 2020-05-11
        • 1970-01-01
        • 2019-04-23
        • 2012-10-22
        • 1970-01-01
        相关资源
        最近更新 更多