импорт sklearn.model_selection.train_test_split против импорта sklearn.model_selection как см - PullRequest
1 голос
/ 03 февраля 2020
>>> 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>

Но импорт, используя в качестве , решает проблему, почему? Есть ли разница между import и import module как имя . Согласно Python: модуль импорта 'import module' vs 'как' , они должны совпадать.

Ответы [ 3 ]

1 голос
/ 03 февраля 2020

Вы не можете этого сделать. Формат для импорта функции:

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)
1 голос
/ 03 февраля 2020

Существует существенная разница в том, что вы сравниваете. В первой строке вы делаете 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
1 голос
/ 03 февраля 2020

Вы не можете импортировать функцию в python. Вы должны импортировать его из библиотеки в python в следующем формате

from sklearn.model_selection import train_test_split

или импортировать модуль и использовать функцию из него

import sklearn.model_selection as sm
sm.train_test_split

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...