Dự đoán với các tính năng phi nguyên tử


10

Tôi muốn sử dụng dữ liệu phi nguyên tử, như một tính năng để dự đoán. Giả sử tôi có Bảng với các tính năng này:

- Column 1: Categorical - House
- Column 2: Numerical - 23.22
- Column 3: A Vector - [ 12, 22, 32 ]
- Column 4: A Tree - [ [ 2323, 2323 ],[2323, 2323] , [ Boolean, Categorical ] ]
- Column 5: A List [ 122, Boolean ]

Tôi muốn dự đoán / phân loại, ví dụ, Cột 2.

Tôi đang làm một cái gì đó để tự động trả lời các câu hỏi, bất kỳ loại câu hỏi nào, như "Foo Sinh ra ở đâu?" ...

Trước tiên tôi thực hiện một truy vấn đến một công cụ tìm kiếm, sau đó tôi nhận được một số dữ liệu văn bản, sau đó tôi thực hiện tất cả các công cụ phân tích cú pháp (gắn thẻ, xuất phát, phân tích cú pháp, tách ...)

Cách tiếp cận đầu tiên của tôi là tạo một bảng, mỗi hàng với một dòng văn bản và rất nhiều tính năng, như "Từ đầu tiên", "Thẻ của từ đầu tiên", "Chunks", v.v ...

Nhưng với cách tiếp cận này, tôi đang thiếu các mối quan hệ giữa các câu.

Tôi muốn biết nếu có một thuật toán nhìn vào bên trong các cấu trúc cây (hoặc vectơ) và tạo ra các mối quan hệ và trích xuất bất cứ điều gì có liên quan để dự đoán / phân loại. Tôi muốn biết về một thư viện thực hiện điều đó hơn là một thuật toán mà tôi phải thực hiện.


Vui lòng làm rõ: bạn nói rằng bạn muốn sử dụng Cột 2 làm tính năng, nhưng sau đó bạn nói bạn muốn dự đoán / phân loại Cột 2. Ngoài ra, bạn gọi tính năng này là 'phi nguyên tử' ... bạn có nghĩa là nó không phân loại?
đăng nhập

Câu trả lời:


7

Khi nói đến việc xử lý nhiều loại dữ liệu khác nhau, đặc biệt là khi mối quan hệ giữa chúng không rõ ràng, tôi rất khuyến nghị một kỹ thuật dựa trên cây quyết định , những kiến ​​thức phổ biến nhất hiện nay theo hiểu biết của tôi là rừng ngẫu nhiêncực kỳ ngẫu nhiên cây cối .

Cả hai đều có các triển khai trong sklearn và chúng khá dễ sử dụng. Ở mức rất cao, lý do mà decision treecách tiếp cận dựa trên cơ sở có lợi cho nhiều loại dữ liệu khác nhau là do cây quyết định phần lớn độc lập với dữ liệu cụ thể mà chúng đang xử lý, miễn là chúng có khả năng hiểu được đại diện của bạn.

Bạn vẫn sẽ phải điều chỉnh dữ liệu của mình thành một loại vectơ đặc trưng nào đó, nhưng dựa trên ví dụ của bạn có vẻ như là một nhiệm vụ khá đơn giản và nếu bạn sẵn sàng đi sâu hơn một chút về việc triển khai của mình, bạn chắc chắn có thể đưa ra một quy tắc tách cây tùy chỉnh mà không thực sự phải thay đổi bất cứ điều gì trong thuật toán cơ bản. Bài báo gốc là một nơi khá tốt để bắt đầu nếu bạn muốn cho nó một shot.

Nếu bạn muốn dữ liệu giả cấu trúc từ dữ liệu văn bản của mình, tôi có thể đề nghị xem xét doc2vec, được phát triển gần đây bởi Google. Tôi không nghĩ rằng hiện tại có bất kỳ triển khai nguồn mở tốt nào, nhưng đó là một cải tiến khá đơn giản về word2vecthuật toán, trong đó có các triển khai ít nhất Cpython.

Mong rằng sẽ giúp! Hãy cho tôi biết nếu bạn có thêm bất kỳ câu hỏi nào.

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.