Là một phân loại Bayes là một cách tiếp cận tốt cho văn bản với dữ liệu meta số?


8

Tôi đang cố gắng đưa ra một cách tiếp cận để phát hiện quảng cáo lừa đảo trên trang web của mình. Tôi nghĩ rằng vấn đề có nhiều điểm chung với việc phát hiện email spam (trong đó phân loại Bayes ngây thơ là một giải pháp phổ biến) vì nhiều tín hiệu cho thấy lừa đảo sẽ được tìm thấy trong văn bản của quảng cáo.

Tuy nhiên, có một số thông tin nhất định có thể là các chỉ số lừa đảo tốt, nhưng tôi không chắc liệu / cách phân loại Bayes có thể sử dụng chúng hay không, bởi vì chúng liên quan đến các giá trị số (với các giá trị ở cực trị của phạm vi là đáng ngờ) hơn các giá trị nhị phân đơn giản tương ứng với sự hiện diện hoặc vắng mặt của một từ trong văn bản.

Ví dụ: nhiều quảng cáo lừa đảo có giá của mặt hàng được đặt rất thấp (để thu hút nhiều lượt xem), vì vậy tôi muốn giá thấp hơn giá bình thường là một chỉ báo mạnh mẽ cho thấy quảng cáo có thể là lừa đảo.

Bayes có còn phù hợp với yêu cầu của tôi không, nếu không thì bạn có thể đề xuất một cách tiếp cận khác không?

Câu trả lời:


9

Chắc chắn bạn có thể sử dụng Naive Bayes. Bạn chỉ cần xác định hình thức phân phối có điều kiện sẽ có.

Tôi có thể nghĩ ra một vài lựa chọn:

  1. Phân phối nhị phân: Biến đổi dữ liệu của bạn bằng cách sử dụng ngưỡng và bạn hoàn nguyên vấn đề mà bạn đã giải quyết.
  2. Phân phối tham số: Nếu có một số phân phối tham số hợp lý, ví dụ Gaussian, bạn có thể sử dụng phân phối đó.
  3. Phân phối không tham số: Quyết định các thùng cho dữ liệu số và sử dụng chúng để xây dựng phân phối không tham số theo kinh nghiệm.

7

Các trình phân loại Naive Bayes có thể chứa các biến số cũng như các biến rời rạc mà không gặp quá nhiều vấn đề. Về cơ bản, có ba cách tiếp cận: (i) loại bỏ các giá trị số (ii) sử dụng mô hình tham số của từng thuộc tính số (ví dụ Gaussian) hoặc (iii) sử dụng công cụ ước tính mật độ không tham số (ví dụ Parzen) cho từng thuộc tính số.

xem ví dụ: "Trình phân loại Naive Bayes hoạt động tốt với các biến liên tục" của Remco Bouckaert


1
@LOL trả lời giống như của tôi với cùng một thứ tự các lựa chọn và cùng ví dụ ... hah tỷ lệ cược là gì? Tôi đoán tất cả chúng ta đều nghĩ giống nhau
Bitwise

1
Rõ ràng tôi không nên dành năm phút để theo dõi tài liệu tham khảo; o)
Dikran Marsupial

3

Naive Bayes chắc chắn có thể làm việc với các thuộc tính số cũng như các thuộc tính rời rạc (modulo quan tâm đến sự phù hợp của phân phối giả định như được đề cập trong các câu trả lời khác). Tuy nhiên, bạn nên xem xét liệu bạn có thực sự muốn sử dụng Naive Bayes hay không, vì phương pháp không phân biệt đối xử sẽ ngày càng bị phá vỡ khi bạn kết hợp dữ liệu từ nhiều nguồn khác nhau, với khả năng tương quan mạnh mẽ.

Nếu bạn muốn giữ lại một diễn giải xác suất, hãy xem xét hồi quy logistic, đó là một sự tương tự chính xác của Naive Bayes với mục tiêu phân biệt đối xử chứ không phải là khái quát (xem bài báo này ví dụ: Hồi quy logistic Vs Naive Bayes . như Mallet , nếu bạn có thể sử dụng java (có thể truy cập như một công cụ dòng lệnh hoặc API).

Nếu không cần giải thích xác suất nghiêm ngặt, bạn có thể sử dụng SVM. Có nhiều triển khai thực hiện điều này, nhưng tiêu chuẩn thực tế (với một biến thể có sẵn trong hầu hết các ngôn ngữ) là LibSVM .


1

Bạn có thể sử dụng các giá trị số khá dễ dàng. Trong thuật ngữ P (Tính năng | scam = Có), bạn có thể đặt phân phối gaussian hoặc bất kỳ phân phối thực nghiệm nào khác từ dữ liệu đào tạo (ví dụ: sắp xếp dữ liệu, tạo hàm trả về phần trăm của giá trị số đầu vào đã cho). Đây là một bài viết mô tả rằng

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.