Как подставить разреженную матрицу в значение списка меток? - PullRequest
1 голос
/ 28 февраля 2020

Я использую fetch_20newsgroups_vectorized данные:

import numpy as np from scipy.sparse import csr_matrix from sklearn.datasets import fetch_20newsgroups from sklearn.datasets import fetch_20newsgroups_vectorized

newsgroups = fetch_20newsgroups(subset='all') labels = newsgroups.target_names news_data, news_labels = fetch_20newsgroups_vectorized(subset='all', normalize=False, return_X_y=True) news_labels = [labels[i] for i in news_labels] ### преобразование целочисленного списка в список строк

при попытке поднабора матрицы news_data, основанный на группах news_label (выделите все строки, имеющие метку i, в новую матрицу), он возвращает одно и то же подмножество для каждого уровня метки (существует 20 различных уровней, и news_data равно csr_matrix):

for i in set(news_labels): print(i) subset = news_data[news_labels == i]

Как мне установить подмножество news_data для каждого уровня news_label?

1 Ответ

1 голос
/ 28 февраля 2020

Я попробовал:

for i in set(news_labels): indices = [element for element, x in enumerate(news_labels) if x == i] subset = news_data[indices]

и все заработало!

...