не удается импортировать имя ‘LSHForest’ из ‘sklearn.neighbors’

Вопрос или проблема

from sklearn.neighbors import NearestNeighbors, LSHForest
ImportError: невозможно импортировать имя 'LSHForest' из 'sklearn.neighbors'

Я узнал, что LSHForest устарел. Как я могу его использовать? Есть ли у нас другие альтернативы.

Я использую версию Sklearn 1.0.1

Модель LSHForest действительно была устаревшей и удалена из scikit-learn. Судя по историческим версиям, модель была удалена в версии 0.21, но все еще была доступна в версиях до этого (хотя она уже была устаревшей). Понижение версии scikit-learn до 0.20 или более ранней должно позволить вам продолжать использовать модель.

Ответ или решение

LSHForest действительно был удалён из библиотеки scikit-learn, начиная с версии 0.21. Если вы используете версию 1.0.1, вам не удастся импортировать этот класс, так как он больше не существует в данной версии.

Если вам необходимо использовать аналогичные функциональности, вы можете рассмотреть несколько альтернатив:

  1. Векторные пространственные методы: Вместо LSHForest вы можете использовать алгоритмы, такие как NearestNeighbors или KDTree, которые тоже позволяют выполнять поиск ближайших соседей, но не используют локально чувствительные хеш-методы.

  2. Модуль Faiss: Если ваша задача связана с vекторизацией и большими наборами данных, вы можете использовать библиотеку Faiss, разработанную Facebook. Она предоставляет реализацию поиска ближайших соседей с использованием различных методов (включая LSH), и она оптимизирована для работы с большими базами данных.

  3. Модуль Annoy: Это еще одна альтернатива, предназначенная для выполнения быстрого поиска ближайших соседей. Подобно Faiss, Annoy может быть использован для работы с большими объемами данных.

Если вы хотите сохранить использование LSHForest, единственное решение – это откатить версия scikit-learn на 0.20 или предыдущую, где LSHForest все еще доступен. Вы можете сделать это с помощью следующей команды:

pip install scikit-learn==0.20.4

Пожалуйста, учтите, что использование устаревших версий библиотек может привести к проблемам с совместимостью и безопасности, поэтому настоятельно рекомендуется использовать современные решения для новых проектов.

Таким образом, вы можете выбрать подходящий вариант в зависимости от ваших предпочтений и специфики задачи.

Оцените материал
Добавить комментарий

Капча загружается...