Взвешивание конкретных признаков в векторах признаков TF-IDF для кластеризации k-средних и сходства косинусов

У меня есть массив векторов признаков TF-IDF. Я хотел бы найти похожие векторы в массиве, используя два метода:

  1. Косинусное сходство
  2. кластеризация k-средних

Используя Scikit Learn, этот процесс довольно прост.

Теперь я хотел бы взвесить некоторые функции, чтобы они влияли на результаты больше, чем другие функции. Например, я мог бы взвесить первые 100 элементов векторов TF-IDF, чтобы эти признаки больше указывали на сходство, чем остальные признаки.

Как я могу осмысленно взвесить определенные функции в моих векторах функций? Одинаков ли процесс взвешивания определенных признаков для каждого из перечисленных выше алгоритмов подобия?


person Andrew LaPrise    schedule 22.09.2015    source источник


Ответы (1)


Насколько я понимаю, низкие значения в матрице TFIDF означают, что слова менее значимы. Таким образом, один из подходов состоит в том, чтобы уменьшить значения в матрице для тех столбцов, которые вы рассматривали.

Массивы в scikit разрежены, поэтому для тестирования и отладки вы можете преобразовать их в обычную матрицу. Я также использовал xlsxwriter, чтобы получить представление о том, что на самом деле происходит при применении TFIDF и KMeans++ (см.) https://www.dbc-enterprise-it-consulting.com/text-classifier/.

person Andreas Buehlmeier    schedule 22.01.2018