Чтобы использовать классификатор (например, KNeighborsClassifier) в Python, необходимо ввести
from sklearn.neighbors import KNeighborsClassifier
Я не уверен, является ли sklearn модулем, пакетом или классом? Как называется sklearn.neighbours? И наконец, как бы мы назвали KNeighborsClassifier?
Я ищу подходящую терминологию, чтобы использовать эти темы.
sklearn.neighbors
- это модуль. KNeighborsClassifier
- это класс. sklearn
также является модулем, но в случае sklearn.neighbors
это просто часть имени и не относится к модулю sklearn
.
Пакет - это каталог, который может содержать модули Python и другие пакеты и должен содержать __init__.py
(который может быть пустым). sklearn.neighbors
принадлежит к пакету sklearn
, потому что он находится в каталоге с именем sklearn
. Так что фраза «это просто часть имени» могла быть немного вводящей в заблуждение, поскольку имя модуля sklearn.neighbors
- sklearn.neighbors
, но наличие этого имени также говорит вам, что он является частью пакета sklearn
.
Значит ли пакет и модуль одно и то же?
Не совсем так, модуль может быть одним файлом на Python. Пакет должен представлять собой целую папку, содержащую __init__.py
. Однако все пакеты являются модулями - вы можете импортировать пакет, как и модуль, но не обязательно импортировать каждый модуль в пакете - это зависит от человека, создавшего пакет. Например, загрузка sklearn
не загружает модуль sklearn.neighbors
, даже если он находится в пакете sklearn
. Вы должны сделать это явно.
Спасибо за помощь :).
Плюс один. Что же тогда такое пакет?