Для матрицы результатов tfidf я хотел получить верхние значения tfidf. Я видел, как можно установить максимальное количество функций для векторизатора tfidf, но это для слов с наибольшим количеством tf. Я хочу по-прежнему получать высокие значения для tfidf, которые могут включать слова с низким tf. Одна идея, которую я нашел, заключается в том, чтобы сделать что-то вроде tf_idf_matrix.sum(axis=0)
, которое суммировало бы столбцы. Это работает в моем коде, но из-за 113 тысяч столбцов печать не покажет их все. Если бы я мог использовать что-то вроде argsort()
для доступа к верхним значениям суммы столбца K, это было бы полезно.
Этот вопрос вытекает из моего первоначального вопроса, который здесь.
Причина в том, что я хочу знать, на какие слова следует обратить внимание, и не обязательно на те, которые имеют наибольшую частоту. Я также хотел бы знать об «аномалиях», то есть о словах, которые могут не появляться во всех или многих документах/сообщениях, но могут иметь высокий tfidf в одном или меньшем количестве документов. Если есть другие подходы, которые я должен рассмотреть, я хотел бы объяснить это.
Спасибо
k
самые высокие суммы столбцов:col_sum = tf_idf_matrix.sum(axis=0).A.squeeze(); idx = np.argsort(col_sum)[-k:][::-1]
и теперьidx
содержат номера столбцов первых 5 сумм столбцов, и вы можете получить значения изcol_sum[idx]
. - person Jaime   schedule 14.11.2013