Склеарн, как получить 10 слов из каждой темы - PullRequest
0 голосов
/ 07 ноября 2018

Я хочу получить 10 лучших слов по каждой теме, и после использования TfidfTransformer я получаю: тип scipy.sparse.csr.csr_matrix

Но я не знаю, как получить наибольшую десятку из каждого списка, в данных (0, ****) означает список 0, пока (5170, *****) не означает список 5170 .

Я пытался преобразовать его в NumPy, но это не удается.

  (0, 19016)    0.024214182003181053
  (0, 28002)    0.03661443306612277
  (0, 6710) 0.02292100371816788
  (0, 27683)    0.013973969726506812
  (0, 27104)    0.02236713272585597
  (0, 6889) 0.0403281034949193
.
.
.
 (5169, 3236)   0.014432449220428715
  (5169, 19134) 0.014346823328868169
  (5169, 32915) 0.002047199186262409
  (5170, 35899) 0.49931779368675605
  (5170, 36444) 0.3479717717856863
  (5170, 15014) 0.5608169649159123

1 Ответ

0 голосов
/ 07 ноября 2018

Вы можете использовать TfidfVectorizer для предоставления метода get_feature_names. У трансформатора нет этого метода, но в документах четко указано, что Vectorizer эквивалентно CountVectorizer, за которым следует трансформатор. Если вы не хотите использовать это, то я думаю, что вы застрянете, создавая поиск, прежде чем векторизовать.

TfidfVectorizer в документах: https://scikit -learn.org / stable / modules / generate / sklearn.feature_extraction.text.TfidfVectorizer.html

Редактировать: для сортировки и нарезки выходных данных fit_transform из TfidfVectorizer нормальных разреженных операций матрицы должно работать.

...