ПочатиПочніть безкоштовно

Дослідження текстових векторів, частина 1

Розширімо метод дослідження текстових векторів, який щойно розглянули, використовуючи tf/idf-вектори поля title з набору даних volunteer. У цій першій частині ми доповнимо функцію, про яку йшлося на слайдах. Функція повертатиме список чисел. У наступній вправі ми напишемо ще одну функцію, щоб зібрати найважливіші слова з усіх документів, видобути їх, а тоді використати цей список, щоб відфільтрувати наш вектор text_tfidf.

Ця вправа є частиною курсу

Передобробка для машинного навчання в Python

Переглянути курс

Інструкції до вправи

  • Додайте параметри original_vocab для tfidf_vec.vocabulary_ і top_n.
  • Викличте pd.Series() для стисненого (zipped) словника. Так з ним буде простіше працювати.
  • Скористайтеся функцією .sort_values(), щоб відсортувати Series і зрізати індекс до top_n слів.
  • Викличте функцію, встановивши original_vocab=tfidf_vec.vocabulary_, vector_index=8, щоб отримати 9-й рядок, і top_n=3, щоб вибрати 3 слова з найбільшою вагою.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Add in the rest of the arguments
def return_weights(vocab, ____, vector, vector_index, ____):
    zipped = dict(zip(vector[vector_index].indices, vector[vector_index].data))
    
    # Transform that zipped dict into a series
    zipped_series = ____({vocab[i]:zipped[i] for i in vector[vector_index].indices})
    
    # Sort the series to pull out the top n weighted words
    zipped_index = zipped_series.____(ascending=False)[:____].index
    return [original_vocab[i] for i in zipped_index]

# Print out the weighted words
print(return_weights(vocab, ____, text_tfidf, ____, ____))
Редагувати та запускати код