Sử dụng TF-IDF với các tính năng khác trong SKLearn


8

Cách tốt nhất / chính xác để kết hợp phân tích văn bản với các tính năng khác là gì? Ví dụ: tôi có một bộ dữ liệu với một số văn bản nhưng cũng có các tính năng / danh mục khác. Công cụ vector TF-IDF của SKlearn biến đổi dữ liệu văn bản thành ma trận thưa thớt. Tôi có thể sử dụng các ma trận thưa thớt này trực tiếp với trình phân loại Naive Bayes chẳng hạn. Nhưng cách nào để tính đến các tính năng khác? Tôi có nên bỏ qua phần trình bày tf-idf của văn bản và kết hợp các tính năng và văn bản thành một DataFrame không? Hoặc tôi có thể giữ ma trận thưa thớt như một cột riêng chẳng hạn? Cách chính xác để làm điều này là gì?

Câu trả lời:


6

scikit-học của FeatureUnion concatenates tính năng từ vectorizers khác nhau. Một ví dụ về kết hợp dữ liệu không đồng nhất, bao gồm cả văn bản, có thể được tìm thấy ở đây .


Liên kết đã hết hạn!
Abhishek Raj

Liên kết được cập nhật để phát hành hiện tại của scikit-learn.
Brian Spiering

3

Thông thường, nếu có thể, bạn muốn giữ cho matrice của mình thưa thớt càng lâu càng tốt vì nó giúp tiết kiệm rất nhiều bộ nhớ. Đó là lý do tại sao có ma trận thưa thớt sau tất cả, nếu không, tại sao phải bận tâm? Vì vậy, ngay cả khi trình phân loại của bạn yêu cầu bạn sử dụng đầu vào dày đặc, bạn có thể muốn giữ các tính năng TFIDF thưa thớt và thêm các tính năng khác vào chúng ở định dạng thưa thớt. Và sau đó chỉ, làm cho ma trận dày đặc.

Để làm điều đó, bạn có thể sử dụng scipy.spude.hstack . Nó kết hợp hai ma trận thưa thớt với nhau theo cột. scipy.spzzy.vstack cũng tồn tại. Và tất nhiên, scipy cũng có phiên bản không thưa thớt scipy.hstack và scipy.vstack

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.