значение матрицы высокой разреженности от Sk-learn CountVectorizer

Я использовал sk-learn.CountVectorizer() для создания векторной матрицы и обнаружил, что она на 57% заполнена нулями. В некоторых онлайн случаях их разреженная матрица заполнена нулями только на 30%. Я хочу знать влияние уровня разреженности. Лучше или хуже или нет разницы, если в разреженной матрице меньше нулей? Какие комментарии мы можем дать по этому наблюдению?


person MeiNan Zhu    schedule 18.05.2020    source источник


Ответы (1)


На самом деле, 30% или даже 57% нулей не означают высокую разреженность. Так что в вашем случае достаточно безопасно просто игнорировать факт разреженности и относиться к вашей матрице так, как если бы она была плотной.

Действительно высокая разреженность — это что-то вроде 99,99% нулей. Это происходит в таких задачах, как рекомендательные системы, когда есть тысячи или даже миллионы элементов, но каждый пользователь взаимодействовал только с несколькими из них. Другой случай, когда у нас очень короткие тексты (например, твиты или диалоги) и очень большой словарный запас (может быть, даже многоязычный).

Если матрица признаков имеет действительно высокую разреженность, это означает, что:

  1. Если вы хотите эффективно хранить свою матрицу или выполнять с ней быстрые вычисления, вы можете использовать алгоритм, явно поддерживающий разреженные матрицы scipy.
  2. Пространство признаков, вероятно, является многомерным, и, возможно, некоторые признаки сильно коррелируют друг с другом. Поэтому уменьшение размерности может оказаться полезным, чтобы сделать вашу модель более удобной и лучше обобщать. Вы можете использовать методы матричной декомпозиции (например, PCA) или слой нейронного встраивания для реализации этого уменьшения размерности. Или, может быть, вы можете использовать предварительно обученные встраивания слов и каким-то образом агрегировать их для представления вашего документа.

В общем, оптимальный способ представления вашего документа зависит от конечной проблемы, которую вы пытаетесь решить. Для некоторых задач (например, классификация текста с большим обучающим набором) оптимальным может быть многомерное разреженное представление; для других (например, сходство небольших текстов или классификация текстов с небольшим размеченным обучающим набором) лучше было бы низкоразмерное плотное представление.

person David Dale    schedule 18.05.2020