НачатьНачать бесплатно

Изучение текстовых векторов, часть 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(____)]
Редактировать и запускать код