Hướng dẫn tf-idf visualization python - tf-idf visualization python

I have a few thousands of rows of textual data. My sample data is:

Hướng dẫn tf-idf visualization python - tf-idf visualization python

I have used sklearn CountVectorizer and TfidfTransformer I calculated top terms with tfidf weights. Below is the code which I used for this:

import pandas as pd
import numpy as np
from itertools import islice
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
data = pd.read_csv('Sample_data.csv')
cvec = CountVectorizer(stop_words='english', min_df=5, max_df=0.95, ngram_range=(1,2))
cvec.fit(data['Text'])
list(islice(cvec.vocabulary_.items(), 30))
len(cvec.vocabulary_)
cvec_count = cvec.transform(data['Text'])
print('Sparse Matrix Shape : ', cvec_count.shape)
print('Non Zero Count : ', cvec_count.nnz)
print('sparsity: %.2f%%' % (100.0 * cvec_count.nnz / (cvec_count.shape[0] * cvec_count.shape[1])))

occ = np.asarray(cvec_count.sum(axis=0)).ravel().tolist()
count_df = pd.DataFrame({'term': cvec.get_feature_names(), 'occurrences' : occ})
term_freq = count_df.sort_values(by='occurrences', ascending=False).head(30)
print(term_freq)
transformer = TfidfTransformer()
transformed_weights = transformer.fit_transform(cvec_count)
weights = np.asarray(transformed_weights.mean(axis=0)).ravel().tolist()
weight_df = pd.DataFrame({'term' : cvec.get_feature_names(), 'weight' : weights})
tf_idf = weight_df.sort_values(by='weight', ascending=False).head(30)
print(tf_idf)

Now I want to plot (bar or line graph) the top 30 terms with their weights using matplotlib. How can I do this?

Thanks in Advance!

Sau Khiêu Hoàn Thành Khăn Học, Học Viên Sẽ ĐạT ĐượC Các Kỹ Năn.

  • Hiểu được vengr lặp trong phân tích dữ liệu
  • Phân biệt giữa các loại dữ liệu khát nhau
  • Xát định Các loại câu hỏi khát nhau, đặt câu hỏi và tìm NHững
  • Khám Phá Bộ Dữ Liệu Để Xác ĐịNH
  • Hiểu và vận dụng quy trình tiền xử lý dữ liệu
  • Tiền xử lý dữ liệu dữ liệu tiếng anh, tiếng việt
  • Á
  • Phân tích dữ liệu, triển Khai và Đổih Giá Mô hình Phân Tích dữ liệu & nbsp;
  • Giải thích kết que
  • QUY trình quản Lý Phân Tích dữ liệu hiệu quả
  • Sử dụng thư Viện MÃ Nguồn Mở Sklearn Để Triển Khai Một Số Thuật Toán Machine Learning & nbsp;
  • Kết Hợp trực Quan Hùa Dữ Liệu, Data Storytelling, Kết Quả Th

Texthero từ số không đến anh hùng. from zero to hero.

Texthero là một gói Python để cho phép bạn làm việc hiệu quả và nhanh chóng với dữ liệu văn bản. Bạn có thể nghĩ về Texero là scikit-learn cho bộ dữ liệu dựa trên văn bản.

Tổng quan

Đưa ra một bộ dữ liệu với dữ liệu có cấu trúc, thật dễ dàng để có sự hiểu biết nhanh về dữ liệu gạch chân. Ngược lại, được đưa ra một bộ dữ liệu bao gồm chỉ có văn bản, khó có thể thực hiện nhanh chóng dữ liệu. Texthero giúp bạn ở đó, cung cấp các chức năng tiện ích để nhanh chóng làm sạch dữ liệu văn bản, ánh xạ nó vào một không gian vectơ và thu thập từ những hiểu biết chính của nó.clean the text data, map it into a vector space and gather from it primary insights.

Tích hợp gấu trúc

Một trong những trụ cột chính của Texthero là được thiết kế từ mặt đất để làm việc với gấu trúc DataFrame và sê-ri.Pandas Dataframe and Series.

Hầu hết các phương pháp Texthero, chỉ cần áp dụng chuyển đổi cho loạt gandas. Theo nguyên tắc thông thường, đối số đầu tiên và sự trở lại của hầu hết các phương thức Texthero đều là một loạt gấu trúc hoặc khung dữ liệu gấu trúc.

Đường ống

Giai đoạn đầu tiên của hầu hết mọi xử lý ngôn ngữ tự nhiên gần như giống nhau, độc lập với nhiệm vụ cụ thể.

Pandas giới thiệu chức năng ống bắt đầu từ phiên bản 0.16.2. Ống cho phép các phương thức do người dùng xác định trong chuỗi phương thức

Cài đặt và nhập

Texthero có sẵn trên PIP. Để cài đặt nó mở một thiết bị đầu cuối và thực thi

pip install texthero

Nếu bạn đã cài đặt nó và muốn nâng cấp lên loại phiên bản cuối cùng:

pip install texthero -U

Bắt đầu

Ví dụ đơn giản, chúng tôi sử dụng bộ dữ liệu BBC Sport, nó bao gồm 737 tài liệu từ trang web của BBC Sport tương ứng với các bài báo thể thao trong năm khu vực tại chỗ từ 2004-2005.

Năm khu vực khác nhau là điền kinh, cricket, bóng đá, bóng bầu dục và quần vợt.

Bộ dữ liệu gốc đi kèm dưới dạng tệp zip với năm thư mục khác nhau chứa bài viết dưới dạng dữ liệu văn bản cho mỗi chủ đề.

Để thuận tiện, chúng tôi đã tạo ra tập lệnh này chỉ cần đọc tất cả dữ liệu văn bản và lưu trữ nó vào khung dữ liệu gấu trúc.

Nhập khẩu Texthero và gấu trúc.

import texthero as hero
import pandas as pd

Tải bộ dữ liệu

pip install texthero
7 trong khung dữ liệu gấu trúc.

df = pd.read_csv(
   "https://github.com/jbesomi/texthero/raw/master/dataset/bbcsport.csv"
)
>>> df.head(2)
                                               text     topic
0  "Claxton hunting first major medal\n\nBritish h..."  athletics
1  "O'Sullivan could run in Worlds\n\nSonia O'Sull..."  athletics

Sơ chế

Lau dọn

Để làm sạch dữ liệu văn bản, tất cả những gì chúng ta phải làm là:

df['clean_text'] = hero.clean(df['text'])

Gần đây, Pandas đã giới thiệu chức năng ống. Bạn có thể đạt được kết quả tương tự với

df['clean_text'] = df['text'].pipe(hero.clean)

Lời khuyên. Khi chúng ta cần xác định một cột mới được trả về từ một hàm, chúng ta sẽ dành tên của hàm vào tên cột. Ví dụ: df ['tsne_col'] = df ['col']. Ống (hero.tsne). Điều này giữ cho mã đơn giản để đọc và cho phép xây dựng đường ống phức tạp.

Đường ống mặc định cho phương thức

pip install texthero
8 là như sau:

  1. pip install texthero
    
    9 Thay thế các giá trị không được gán bằng các khoảng trống.
  2. pip install texthero -U
    
    0 thường xuyên tất cả văn bản.
  3. pip install texthero -U
    
    1 Xóa tất cả các khối chữ số.
  4. pip install texthero -U
    
    2 Xóa tất cả các chuỗi.Punction (! "#$%& '()*+,-./:;?@[\]^_` {|} ~).
  5. pip install texthero -U
    
    3 Xóa tất cả các điểm nhấn từ chuỗi.
  6. pip install texthero -U
    
    4 Xóa tất cả các từ dừng.
  7. pip install texthero -U
    
    5 Loại bỏ tất cả khoảng trắng giữa các từ.

Khi Texthero vẫn đang ở phiên bản beta, đường ống mặc định có thể trải qua một số thay đổi nhỏ trong các phiên bản tiếp theo.

Đường ống tùy chỉnh

Chúng tôi cũng có thể chuyển một đường ống tùy chỉnh làm đối số cho

pip install texthero
8

from texthero import preprocessing

custom_pipeline = [preprocessing.fillna,
                   preprocessing.lowercase,
                   preprocessing.remove_whitespace]
df['clean_text'] = hero.clean(df['text'], custom_pipeline)

Hay cách khác

df['clean_text'] = df['clean_text'].pipe(hero.clean, custom_pipeline)
API tiền xử lý

API tiền xử lý hoàn chỉnh có thể được tìm thấy tại địa chỉ sau: tiền xử lý API.

Đại diện

Sau khi làm sạch dữ liệu, tự nhiên tiếp theo là ánh xạ từng tài liệu thành một vectơ.

Đại diện TFIDF
pip install texthero
0
Giảm kích thước với PCA

Để trực quan hóa dữ liệu, chúng tôi ánh xạ từng điểm đến biểu diễn hai chiều với PCA. Các thuật toán phân tích thành phần chính trả về sự kết hợp của các thuộc tính có tính đến phương sai tốt hơn trong dữ liệu.

pip install texthero
1
Tất cả trong một bước

Chúng ta có thể đạt được tất cả ba bước hiển thị ở trên, làm sạch, biểu diễn TF-IDF và giảm kích thước trong một bước duy nhất. Không phải là tuyệt vời?

pip install texthero
2
API đại diện

API mô -đun biểu diễn hoàn chỉnh có thể được tìm thấy tại địa chỉ sau: Biểu diễn API.

Hình dung

pip install texthero -U
7 Cung cấp một số chức năng Trợ lý để trực quan hóa khung dữ liệu được chuyển đổi. Tất cả trực quan sử dụng dưới mui xe Thư viện đồ thị nguồn mở Python Plotly Python.

pip install texthero
3

Ngoài ra, chúng ta có thể "trực quan hóa" những từ phổ biến nhất cho mỗi

pip install texthero -U
8 với
pip install texthero -U
9

pip install texthero
4
pip install texthero
5
API trực quan

API mô -đun trực quan hoàn chỉnh có thể được tìm thấy tại địa chỉ sau: Trực quan hóa API.

Bản tóm tắt

Chúng tôi đã thấy làm thế nào trong một vài dòng mã chúng tôi có thể đại diện và trực quan hóa bất kỳ bộ dữ liệu văn bản nào. Chúng tôi đã đi từ không biết gì về bộ dữ liệu để thấy rằng có 5 (khá) các khu vực riêng biệt đại diện cho mỗi chủ đề. Chúng tôi đã đi từ số 0 đến anh hùng.

pip install texthero
6
Phần tiếp theo

Đến bây giờ, bạn nên hiểu các khối xây dựng chính của Texthero.

Trong các phần tiếp theo, chúng tôi sẽ xem xét từng mô -đun, xem cách chúng tôi có thể điều chỉnh các cài đặt mặc định và chúng tôi sẽ hiển thị ứng dụng khác nơi Texthero có thể có ích.