Изучение текстовых векторов, часть 2
Используя функцию return_weights(), написанную в предыдущем упражнении, вы извлечёте наиболее значимые слова из каждого документа в текстовом векторе, получите список индексов этих слов и отфильтруете текстовый вектор, оставив только их.
Это упражнение является частью курса
Предобработка данных для машинного обучения на Python
Инструкции к упражнению
- Вызовите
return_weights(), чтобы получить слова с наибольшими весами для данного документа. - Вызовите
set()для полученногоfilter_list, чтобы удалить дублирующиеся числа. - Вызовите
words_to_filter, передав следующие параметры:vocabдля параметраvocab,tfidf_vec.vocabulary_для параметраoriginal_vocab,text_tfidfдля параметраvectorи3для параметраtop_n, чтобы извлечь 3 наиболее значимых слова из каждого документа. - Наконец, преобразуйте полученное множество
filtered_wordsв список и используйте его для фильтрации текстового вектора.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
def words_to_filter(vocab, original_vocab, vector, top_n):
filter_list = []
for i in range(0, vector.shape[0]):
# Call the return_weights function and extend filter_list
filtered = ____(vocab, original_vocab, vector, i, top_n)
filter_list.extend(filtered)
# Return the list in a set, so we don't get duplicate word indices
return ____(filter_list)
# Call the function to get the list of word indices
filtered_words = ____(____, ____, ____, ____)
# Filter the columns in text_tfidf to only those in filtered_words
filtered_text = text_tfidf[:, list(____)]