Là một bài tập ở trường, tôi bắt buộc phải thực hiện thuật toán Naïve Bayes mà tôi định làm trong Java.Thực hiện thuật toán Naïve Bayes trong Java - Cần một số hướng dẫn
Khi cố gắng hiểu cách thực hiện, tôi đã đọc cuốn sách "Khai thác dữ liệu - Công cụ và kỹ thuật học máy thực tế" có phần về chủ đề này nhưng vẫn không chắc chắn về một số điểm chính đang chặn tiến trình của tôi.
Vì tôi đang tìm kiếm hướng dẫn không giải pháp ở đây, tôi sẽ nói với các bạn những gì tôi nghĩ trong đầu, những gì tôi nghĩ là cách tiếp cận đúng và đổi lại yêu cầu sửa/hướng dẫn sẽ rất được đánh giá cao. xin lưu ý rằng tôi là người mới bắt đầu tuyệt đối về thuật toán Naïve Bayes, Khai phá dữ liệu và lập trình chung để bạn có thể thấy các nhận xét/tính toán ngu ngốc bên dưới:
Tập dữ liệu đào tạo tôi có 4 thuộc tính/tính năng là số và bình thường (trong khoảng [0 1]) sử dụng Weka (không có giá trị thiếu) và một lớp danh nghĩa (có/không)
1) các dữ liệu đến từ một tập tin csv là số do đó
-
* Căn cứ vào thuộc tính này là số tôi sử dụng công thức PDF (xác suất mật độ xác suất).
-
+ Để tính PDF trong java tôi lần đầu tiên tách các thuộc tính dựa vào việc họ đang ở trong lớp có hoặc lớp không và giữ chúng vào mảng khác nhau
(array class yes and array class no)
-
+ Sau đó tính toán giá trị trung bình (
sum of the values in row/number of values in that row
) và bói toán tiêu chuẩn cho mỗi người trong số 4 thuộc tính (cột) của từng loại
-
+ Bây giờ để tìm PDF của một giá trị nhất định (n) i làm
(n-mean)^2/(2*SD^2),
-
+ Sau đó, để tìm
P(yes | E)
và
P(no | E)
i
multiply the PDF value of all 4 given attributes and compare which is larger
, mà chỉ ra lớp nó thuộc về
Trong thời gian của Java, tôi đang sử dụng ArrayList of ArrayList
và Double
để lưu trữ các giá trị thuộc tính.
cuối cùng tôi không biết cách lấy dữ liệu mới? Tôi có nên yêu cầu tệp đầu vào (như csv) hoặc dấu nhắc lệnh và yêu cầu 4 giá trị không?
Tôi sẽ dừng lại ở đây ngay bây giờ (có thêm câu hỏi) nhưng tôi lo lắng điều này sẽ không nhận được bất kỳ phản hồi nào trong thời gian bao lâu. Tôi sẽ thực sự đánh giá cao những người dành thời gian đọc các vấn đề và bình luận của tôi.
có tổng quan về cách tôi sẽ triển khai thuật toán đúng không? – ke3pup