Я пытаюсь использовать scikit-learn для обучения машинам по естественным языковым данным. У меня есть свой корпус, преобразованный в векторы мешков слов (которые принимают форму разреженной матрицы CSR), и мне интересно, существует ли в sklearn алгоритм сокращения размерности, способный принимать высокоразмерные, контролируемые данные и проецирование это в более низкое пространственное пространство, которое сохраняет дисперсию между этими классами.
Описание проблемы высокого уровня заключается в том, что у меня есть набор документов, каждый из которых может иметь несколько ярлыков на нем, и я хочу предсказать, какая из этих ярлыков будет удалена по новому документу на основе содержимого документ.
В этом ядре это контролируемая, многозадачная, многоклассовая проблема, использующая разреженное представление векторов BoW. Есть ли способ уменьшения размерности в sklearn, который может обрабатывать такие данные? Существуют ли другие методы, которые люди использовали при работе с контролируемыми данными BoW в scikit-learn?
Спасибо!