Матрица срочных документов (TDM) - я не могу понять, как извлечь определенные значения из TDM - PullRequest
0 голосов
/ 28 октября 2018

У меня есть термин матрица документа и следующий код, который извлекает значения из него:
term_doc_matrix[index,:], где index - это список «индексов».Я попробовал следующее, чтобы понять, как это будет работать: print(term_docs[0,:]), но эта строка печатает разные выходные данные, когда они хранятся внутри и снаружи следующей функции.

def get_likelihood(term_doc_matrix, label_index, smoothing = 0):
            likelihood={};
            c=0;
            for label, index in label_index.items():
                print('-1 ');
           for i in range(len(index)):
               print(index[i],end=",");
           print("0. ", term_doc_matrix[0,:])
           likelihood[label] = term_doc_matrix[index,:].sum(axis=0)+smoothing;
           if c==0:
               print("1. ",label,"\n", np.asarray(likelihood[label]))
           if c==1:
               print("2. ",label,"\n", np.asarray(likelihood[label])[0]) 
           likelihood[label] = np.asarray(likelihood[label])[0];
           total_outcome = likelihood[label].sum();
           likelihood[label] =likelihood[label]/ float(total_outcome);
           c+=1;

вот вывод, когда строка находится снаружи:

(0, 481)      1
  (0, 357)      1
  (0, 69)       1
  (0, 285)      1
  (0, 424)      1
  (0, 250)      1
  (0, 345)      1
  (0, 445)      1
  (0, 231)      1
  (0, 497)      1
  (0, 47)       1
  (0, 178)      2
  (0, 125)      2

, когда строка находится внутри функции:

(0, 125)   2
  (0, 178)      2
  (0, 47)       1
  (0, 497)      1
  (0, 231)      1
  (0, 445)      1
  (0, 345)      1
  (0, 250)      1
  (0, 424)      1
  (0, 285)      1
  (0, 69)       1
  (0, 357)      1
  (0, 481)      1

Я прошу кого-нибудь объяснить мне, как эта строка выбрасывает форму, например, (0,497) 1

term_doc_matrix[index,:]
...