1. Trang chủ
  2. » Tất cả

Máy học – naïve bayes hdth naivebayes

3 1 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 675,87 KB

Nội dung

Các hệ thống thông minh nhân tạo và ứng dụng Các hệ thống thông minh nhân tạo và ứng dụng Khoa CNTT, ĐH KHTN HCM 1 HƯỚNG DẪN THỰC HÀNH MÁY HỌC – NAÏVE BAYES 1 Các cấu trúc dữ liệu cần dùng Các cấu trú[.]

Các hệ thống thông minh nhân tạo ứng dụng HƯỚNG DẪN THỰC HÀNH MÁY HỌC – NAÏVE BAYES Các cấu trúc liệu cần dùng Các cấu trúc liệu cần sử dụng cài đặt thuật toán Naïve Bayes để phân loại mẫu mới, bao gồm:  Mẫu liệu: mẫu tương ứng với loại nấm liệu  Tập liệu: bao gồm nhiều mẫu liệu số lượng mẫu lớp tương ứng (ăn hay có độc  Giá trị xác suất thuộc tính cho lớp  NaiveBayes: biểu diễn thuật tốn Nạve Bayes lưu giá trị thống kê có từ liệu 1.1 Mẫu liệu – nấm struct Mushroom{ char loaiNam; char hinhDang; char beMat; char mauSac; char vetTham; char muiHuong; char mauBaoTu; char phanBo; char moiTruong; }; Để sử dụng cấu trúc trên, khai báo sau: Mushroom m; 1.2 Tập liệu struct TapDuLieu{ vector duLieu; int soLuongCoDoc; int soLuongAnDuoc; }; Để sử dụng cấu truc trên, khai báo sau: TapDuLieu d; Giá trị xác suất cho giá trị thuộc tính cho lớp Khoa CNTT, ĐH KHTN HCM Các hệ thống thông minh nhân tạo ứng dụng struct XacSuatThuocTinh{ double xacSuatHinhDang[6]; double xacSuatBeMat[4]; double xacSuatMauSac[9]; double xacSuatVetTham[2]; double xacSuatMuiHuong[9]; double xacSuatBaoTu[9]; double xacSuatPhanBo[6]; double xacSuatMoiTruong[7]; }; NaiveBayes struct NaiveBayes{ double xacSuatKhongDoc; double xacSuatCoDoc; XacSuatThuocTinh lopKhongDoc; XacSuatThuocTinh lopCoDoc; }; Cài đặt 2.1 Đọc thông tin từ tập tin đầu vào void DocTapDuLieu(char* duongDan, TapDuLieu &d){ //1 Mở tập tin ifstream f; //2 Trong đọc chưa hết tập tin while(!f.eof()) { //2.1 Đọc dòng liệu f.getline( ); //2.2 Phân tách theo dấu phẩy, tạo nấm thêm vào tập liệu } } Khoa CNTT, ĐH KHTN HCM Các hệ thống thơng minh nhân tạo ứng dụng 2.2 Thuật tốn Nạve Bayes Tập liệu Mushroom có lớp khơng có đơc/ăn (e) có độc (p) Để cài đặt thuật tốn Nạve Bayes, cần cài đặt phương thức sau: 2.2.1 Tính xác suất cho lớp Xác suất cho biết khả loại nấm có độc hay khơng có độc Cơng thức tính (có làm trơn theo Laplace): 𝑆ố 𝑛ấ𝑚 𝑘ℎơ𝑛𝑔 độ𝑐 + 𝑃(𝑒) = 𝑇ổ𝑛𝑔 𝑠ố 𝑛ấ𝑚 + 𝑆ố 𝑛ấ𝑚 𝑐ó độ𝑐 + 𝑃(𝑝) = 𝑇ổ𝑛𝑔 𝑠ố 𝑛ấ𝑚 + double XacSuatKhôngDoc(const TapDuLieu &d){ double p = (d.soLuongAnDuoc + 1)/(d.duLieu.size()+2); } Sinh viên tự viết cho xác suất có độc 2.2.2 Tính xác suất cho giá trị thuộc tính Lặp cho lớp 𝐶, Lặp cho thuộc tính 𝑥 Lặp với giá trị thuộc tính 𝑥𝑘 Tính xác suất theo cơng thức sau 𝑚 = 𝑠ố 𝑚ẫ𝑢 𝑡ℎ𝑢ộ𝑐 𝑙ớ𝑝 𝐶, 𝑐ó 𝑔𝑖á 𝑡𝑟ị 𝑥 𝑡ạ𝑖 𝑡ℎ𝑢ộ𝑐 𝑡í𝑛ℎ 𝑝 𝑚+1 𝑃(𝑥|𝐶) = 𝑠ố 𝑚ẫ𝑢 𝑡ℎ𝑢ộ𝑐 𝑙ớ𝑝 𝐶 + 𝑘 Lưu giá trị vào đối tượng NaiveBayes, k tổng số khả x 2.2.3 Phân loại cho nấm Tính xác suất mẫu thuộc loại không độc theo công thức: 𝑛 𝑃(𝐶 = 𝑒|𝑥) = 𝑃(𝐶 = 𝑒) ∏ 𝑃(𝑥𝑘 |𝐶 = 𝑒) 𝑘=1 Tính xác suất mẫu thuộc loại có độc theo cơng thức 𝑛 𝑃(𝐶 = 𝑝|𝑥) = 𝑃(𝐶 = 𝑝) ∏ 𝑃(𝑥𝑘 |𝐶 = 𝑝) 𝑘=1 Nếu 𝑃(𝐶 = 𝑒|𝑥) > 𝑃(𝐶 = 𝑝|𝑥) nấm khơng có độc Ngược lại có độc Khoa CNTT, ĐH KHTN HCM ... xacSuatMuiHuong[9]; double xacSuatBaoTu[9]; double xacSuatPhanBo[6]; double xacSuatMoiTruong[7]; }; NaiveBayes struct NaiveBayes{ double xacSuatKhongDoc; double xacSuatCoDoc; XacSuatThuocTinh lopKhongDoc; XacSuatThuocTinh... thống thông minh nhân tạo ứng dụng 2.2 Thuật tốn Nạve Bayes Tập liệu Mushroom có lớp khơng có đơc/ăn (e) có độc (p) Để cài đặt thuật tốn Nạve Bayes, cần cài đặt phương thức sau: 2.2.1 Tính xác suất...

Ngày đăng: 25/03/2023, 08:39

w