Mục lục Chương 1 Tổng quan khai phá dữ liệu, tiền xử lý dữ liệu 6 1.1 Đặt vấn đề 6 1.2 Tổng quan về khai phá dữ liệu 6 1.2.1 Khái niệm 6 1.2.2 Quy trình khai phá tri thức 7 1.2.3 Lợi ích của khai phá dữ liệu 8 1.2.4 Ứng dụng của khai phá dữ liệu 8 1.3. Tiền xử lý dữ liệu 9 1.3.1 Khái niệm 9 1.3.2 Làm sạch dữ liệu (data cleaning) 10 1.3.3 Tích hợp dữ liệu (data integration) 10 1.3.4 Biến đổi dữ liệu (data transformation) 10 1.3.5 Thu giảm dữ liệu (data reduction) 11 Chương 2 Khái quát các thuật toán được sử dụng để khai phá dữ liệu 12 2.1 Phân lớp dữ liệu 12 2.1.1 Khái niệm 12 2.1.2 Các thuật toán phân lớp dữ liệu 12 2.2 Khai phá, kết hợp 12 2.3 Phân cụm 12 2.3.1 Khái niệm 12 2.3.2 Các thuật toán phân cụm 13 2.4 Sử dụng thuật toán phân lớp Naïve Bayes để dự đoán bệnh viêm gan và nhận biết nấm ăn được hay không. 13 2.4.1 Khái niệm thuật toán phân lớp Naïve Bayes 13 2.4.2 Ưu điểm của thuật toán Naïve Bayes 14 2.4.3 Nhược điểm của thuật toán Naïve Bayes 15 Chương 3 Thử nghiệm, kết quả 16 3.1 Các bước thử nghiệm 16 3.2 Kết quả thử nghiệm 18 3.2.1 Kết quả chạy thử nghiệm dự đoán bệnh viêm gan bằng thuật toán Naïve Bayes 18 3.2.2 Kết quả chạy thử nghiệm để nhận biết nấm có ăn được hay không bằng thuật toán Naïve Bayes 21 LỜI CẢM ƠN Nhóm chúng em xin chân thành cảm ơn các thầy, cô giáo trong Khoa Công nghệ thông tin, trường Đại học Điện Lực, đã tạo điều kiện cho em thực hiện đề tài này. Để có thể hoàn thành báo cáo đề tài “Khai phá dữ liệu sử dụng thuật toán phân lớp nhị phân để dự đoán bệnh viêm gan và nhận biết nấm ăn được hay không”, nhóm em xin gửi lời cảm ơn chân thành nhất tới thầy VŨ VĂN ĐỊNH, đã truyền đạt, giảng dạy cho chúng em những kiến thức, những kinh nghiệm qúy báu trong thời gian học tập và rèn luyện, tận tình hướng dẫn chúng em trong quá trình làm báo cáo này. Nhóm em cũng gửi lời cảm ơn tới bạn bè đã đóng góp những ý kiến quý báu để nhóm em có thể hoàn thành báo cáo tốt hơn. Tuy nhiên, do thời gian và trình độ có hạn nên báo cáo này chắc chắn không tránh khỏi những thiếu sót, nhóm em rất mong được sự đóng góp ý kiến của các thầy và toàn thể các bạn.
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CƠNG NGHỆ THƠNG TIN
ĐỀ CƯƠNG CHUYÊN ĐỀ HỌC PHẦN
KHAI PHÁ DỮ LIỆU
ĐỀ TÀI: KHAI PHÁ DỮ LIỆU SỬ DỤNG THUẬT TỐN PHÂN LỚP NẠVE BAYES ĐỂ CHUẨN ĐỐN BỆNH VIÊM
GAN VÀ NHẬN BIẾT NẤM ĂN ĐƯỢC
Giảng viên hướng dẫn : VŨ VĂN ĐỊNH
Trang 2T
Nội dung thực hiện Điểm Chữ ký
1 Chương 1: Tổng quan khai
phá dữ liệu, tiền xử lý dữ liệu
Trang 3Chương 1 Tổng quan khai phá dữ liệu, tiền xử lý dữ liệu 6
1.1 Đặt vấn đề 6
1.2 Tổng quan về khai phá dữ liệu 6
1.2.1 Khái niệm 6
1.2.2 Quy trình khai phá tri thức 7
1.2.3 Lợi ích của khai phá dữ liệu 8
1.2.4 Ứng dụng của khai phá dữ liệu 8
1.3 Tiền xử lý dữ liệu 9
1.3.1 Khái niệm 9
1.3.2 Làm sạch dữ liệu (data cleaning) 10
1.3.3 Tích hợp dữ liệu (data integration) 10
1.3.4 Biến đổi dữ liệu (data transformation) 10
1.3.5 Thu giảm dữ liệu (data reduction) 11
Chương 2 Khái quát các thuật tốn được sử dụng để khai phá dữ liệu 12
2.1 Phân lớp dữ liệu 12
2.1.1 Khái niệm 12
2.1.2 Các thuật tốn phân lớp dữ liệu 12
2.2 Khai phá, kết hợp 12
2.3 Phân cụm 12
2.3.1 Khái niệm 12
2.3.2 Các thuật tốn phân cụm 13
2.4 Sử dụng thuật tốn phân lớp Nạve Bayes để dự đốn bệnh viêm gan và nhận biết nấm ăn được hay khơng 13
2.4.1 Khái niệm thuật tốn phân lớp Nạve Bayes 13
2.4.2 Ưu điểm của thuật tốn Nạve Bayes 14
2.4.3 Nhược điểm của thuật tốn Nạve Bayes 15
Chương 3 Thử nghiệm, kết quả 16
3.1 Các bước thử nghiệm 16
3.2 Kết quả thử nghiệm 18
3.2.1 Kết quả chạy thử nghiệm dự đốn bệnh viêm gan bằng thuật tốn Nạve Bayes 18
Trang 43.2.2 Kết quả chạy thử nghiệm để nhận biết nấm cĩ ăn được hay khơng bằng thuật tốn Nạve Bayes 21
LỜI CẢM ƠN
Trang 5Nhóm chúng em xin chân thành cảm ơn các thầy, cô giáo trong KhoaCông nghệ thông tin, trường Đại học Điện Lực, đã tạo điều kiện cho em thựchiện đề tài này.
Để có thể hoàn thành báo cáo đề tài “Khai phá dữ liệu sử dụng thuật toánphân lớp nhị phân để dự đoán bệnh viêm gan và nhận biết nấm ăn được haykhông”, nhóm em xin gửi lời cảm ơn chân thành nhất tới thầy VŨ VĂN ĐỊNH,
đã truyền đạt, giảng dạy cho chúng em những kiến thức, những kinh nghiệmqúy báu trong thời gian học tập và rèn luyện, tận tình hướng dẫn chúng emtrong quá trình làm báo cáo này
Nhóm em cũng gửi lời cảm ơn tới bạn bè đã đóng góp những ý kiến quýbáu để nhóm em có thể hoàn thành báo cáo tốt hơn
Tuy nhiên, do thời gian và trình độ có hạn nên báo cáo này chắc chắnkhông tránh khỏi những thiếu sót, nhóm em rất mong được sự đóng góp ý kiếncủa các thầy và toàn thể các bạn
Nhóm sinh viên thực hiện
Chương 1 Tổng quan khai phá dữ liệu, tiền xử lý dữ liệu
1.1 Đặt vấn đề
Ứng dụng công nghệ thông tin vào việc lưu trữ và xử lý thông tin ngày nay được áp dụng hầu hết trong lĩnh vực, điều này đã tạo ra một lượng lớn dữ liệu được lưu trữ với kích thước tăng lên không ngừng Đây chính là điều kiện tốt
Trang 6cho việc khai thác kho dữ liệu để đem lại tri thức cĩ ích với các cơng cụ truy vấn, lập việc khai thác kho dữ liệu để đem lại tri thức cĩ ích với các cơng cụ truy vấn, lập bẳng biểu và khai phá dữ liệu.
Khai phá dữ liệu là một kỹ thuật dựa trên nền tảng của nhiều lý thuyết như xác xuất, thống kê, máy học nhằm tìm kiếm các tri thức tiềm ẩn trong các kho
dữ liệu cĩ kích thước lớn mà người dùng khĩ cĩ thể nhận biết bằng những kỹ thuật thơng thường Nguồn dữ liệu y khoa rất lớn, nếu áp dụng khai phá dữ liệu trong lĩnh vực này sẽ mang lại nhiều ý nghĩa cho ngành y tế Nĩ sẽ cung cấp nững thơng tin quý giá nhằm hỗ trợ trong việc chuẩn đốn và điều trị sớm giúp bệnh nhân thốt được nhiều căn bệnh hiểm nghèo
Ứng dụng thuật tốn Nạve Bayes vào thực tiễn nhĩm em quyết định làm về
để tài khai phá dữ liệu sử dụng thuật tốn phân lớp Nạve Bayes để dự đốn bệnh viêm gan và nhận biết nấm ăn được hay khơng
1.2 Tổng quan về khai phá dữ liệu
1.2.1 Khái niệm
Khai phá dữ liệu ( Data Mining ) là qui trình mà các doanh nghiệp sử
dụng để biến những dữ liệu thơ thành thơng tin hữu ích Bằng cách dùng phầnmềm để tìm mẫu hình trong các tập dữ liệu, doanh nghiệp cĩ thể hiểu hơn vềkhách hàng của họ và phát triển được những chiến lược marketing hiệu quả,giúp tăng doanh thu và giảm chi phí
1.2.2 Quy trình khai phá tri thức
- Tìm hiểu lĩnh vực của bài tốn (ứng dụng): Các mục đích của bàitốn,các tri thức cụ thể của lĩnh vực
- Tạo nên (thu thập) một tập dữ liệu phù hợp
- Làm sạch và tiền xử lý dữ liệu
- Giảm kích thước của dữ liệu, chuyển đổi dữ liệu: Xác định thuộc tínhquan trọng, giảm số chiều (số thuộc tính), biểu diễn bất biến
Trang 7- Lựa chọn chức năng khai phá dữ liệu: Phân loại, gom cụm, dự báo, sinh
ra các luật kết hợp
- Lựa chọn/ Phát triển (các) giải thuật khai phá dữ liệu phù hợp
- Tiến hành khai phá dữ liệu
- Đánh giá mẫu thu được và biểu diễn tri thức: Hiển thị hóa, chuyển đổi,
bỏ đi các mẫu dư thừa,…
- Sử dụng tri thức được khai phá
Quá trình khám phá tri thức là một chuỗi lặp gồm các bước:
- Data cleaning (làm sạch dữ liệu)
- Data integration (tích hợp dữ liệu)
- Data selection (chọn lựa dữ liệu)
- Data transformation (biến đổi dữ liệu)
- Data mining (khai phá dữ liệu)
Trang 8- Pattern evaluation (đánh giá mẫu)
- Knowledge presentation (biểu diễn tri thức)
1.2.3 Lợi ích của khai phá dữ liệu
Lợi ích trong quá trình phân tích dữ liệu
- Chọn lọc, loại bỏ tất cả các dữ liệu không liên quan và dữ liệu bị trùng
- Xác định các mẫu dữ liệu, dữ liệu có liên quan và dữ liệu trùng lặptrong tập dữ liệu
- Với data mining, chúng ta có thể phân tích khối lượng lớn dữ liệu trongthời gian ngắn và sau đó chuyển đổi dữ liệu đó thành thông tin, kiến thức
Lợi ích sau cùng của Data mining
- Hỗ trợ ra quyết định tự động
- Hỗ trợ đưa ra dự báo chính xác
- Hỗ trợ giảm thiểu chi phí
- Hỗ trợ khả năng thấu hiểu khách hàng
1.2.4 Ứng dụng của khai phá dữ liệu
Kinh tế -ứng dụng trong kinh doanh, tài chính, tiếp thị bán hàng, bảohiểm, thương mại, ngân hàng, … Đưa ra các bản báo cáo giàu thông tin; phântích rủi ro trước khi đưa ra các chiến lược kinh doanh, sản xuất; phân loại kháchhàng từ đó phân định thị trường, thị phần; …
Khoa học: Thiên văn học – dự đoán đường đi các thiên thể, hành tinh, Công nghệ sinh học – tìm ra các gen mới, cây con giống mới…
Web: các công cụ tìm kiếm
Trang 91.3 Tiền xử lý dữ liệu
1.3.1 Khái niệm
Quá trình xử lý dữ liệu thô/gốc (raw/original data) nhằm cải thiện chấtlượng dữ liệu (quality of the data) và từ đó cải thiện chất lượng của kết quả khaiphá
Chất lượng dữ liệu (data quality)
- Tính chính xác (accuracy): giá trị được ghi nhận đúng với giá trị thực
- Tính hiện hành (currency/timeliness): giá trị được ghi nhận không
bị lỗi thời
- Tính toàn vẹn (completeness): tất cả các giá trị dành cho một
biến/thuộc tính đều được ghi nhận
- Tính nhất quán (consistency): tất cả giá trị dữ liệu đều được biểu diễn như nhau trong tất cả các trường hợp
Trang 10Các kỹ thuật tiền xử lý dữ liệu
- Làm sạch dữ liệu (data cleaning/cleansing)
- Tích hợp dữ liệu (data integration)
- Biến đổi dữ liệu (data transformation)
- Thu giảm dữ liệu(data reduction)
1.3.2 Làm sạch dữ liệu (data cleaning)
Data cleaning hay làm sạch dữ liệu là quy trình chuẩn bị dữ liệu trước khiphân tích thông qua xử lý hay loại bỏ những dữ liệu không chính xác, khôngđầy đủ, không phù hợp về định dạng, bị trùng lặp, không có giá trị, không đủthông tin, không liên quan,…những dữ liệu có thể ảnh hưởng đến kết quả phântích sau cùng
1.3.3 Tích hợp dữ liệu (data integration)
Là quá trình trộn dữ liệu từ các nguồn khác nhau vào một kho dữ liệu sẵnsàng cho quá trình khai phá dữ liệu
1.3.4 Biến đổi dữ liệu (data transformation)
Là quá trình biến đổi hay kết hợp dữ liệu vào những dạng thích hợp choquá trình khai phá dữ liệu
Làm trơn dữ liệu (smoothing)
Kết hợp dữ liệu (aggregation)
Tổng quát hoá (generalization)
Xây dựng thuộc tính/đặc tính (attribute/feature construction)
Chuẩn hoá (normalization)
1.3.5 Thu giảm dữ liệu (data reduction)
Tập dữ liệu được biến đổi đảm bảo các toàn vẹn, nhưng nhỏ/ít hơn nhiều
về số lượng so với ban đầu
Trang 11Các chiến lược thu giảm:
Kết hợp khối dữ liệu (data cube aggregation)
Chọn một số thuộc tính (attribute subset selection)
Thu giảm chiều (dimensionality reduction)
Thu giảm lượng (numerosity reduction)
Rời rạc hóa (discretization)
Tạo phân cấp ý niệm (concept hierarchy generation)
Chương 2 Khái quát các thuật toán được sử dụng để khai phá dữ liệu 2.1 Phân lớp dữ liệu
Trang 12Bước học (giai đoạn huấn luyện): xây dựng bộ phân lớp (classifier) bằngviệc phân tích/học tập huấn luyện
Bước phân lớp (classification): phân lớp dữ liệu/đối tượng mới nếu độchính xác của bộ phân lớp được đánh giá là có thể chấp nhận được (acceptable)
2.1.2 Các thuật toán phân lớp dữ liệu
a) Phân lớp với cây quyết định (decision tree)
b) Phân lớp với Naive Bayesian
c) Phân lớp với k phần tử gần nhất (k-nearest neighbor)
d) Phân loại dữ liệu với mạng neural
e) Phân loại dữ liệu với SVM…
2.2 Khai phá, kết hợp
Là quá trình khám phá các tập giá trị thuộc tính xuất hiện phổ biến trong các đối tượng dữ liệu Từ tập phổ biến có thể tạo ra các luật kết hợp giữa các giátrị thuộc tính trong tập các đối tượng
2.3 Phân cụm
2.3.1 Khái niệm
Phân cụm dữ liệu là bài toán gom nhóm các đối tượng dữ liệu vào thánh từng cụm (cluster) sao cho các đối tượng trong cùng một cụm có sự tương đồng theo một tiêu chí nào đó
Trang 132.3.2 Các thuật tốn phân cụm
a) Phân hoạch(partitioning): các phân hoạch được tạo ra và đánh giá theo một tiêu chí nào đĩ
b) Phân cấp(hierarchical): phân rã tập dữ liệu/đối tượng cĩ thứ tự phân cấp theo một tiêu chí nào đĩ
c) Dựa trên cấp độ (density-based): dựa trên connectivity and density
functions
d) Dựa trên lưới (grid-based): dựa trên multiple-level granularity structuree) Dựa trên mơ hình (model-based): một mơ hình giả thuyết được tạo ra cho mỗi cụm; sau đĩ hiệu chỉnh các thơng số để mơ hình phù hợp với cụm dữliệu/đối tượng nhất……
2.4 Sử dụng thuật tốn phân lớp Nạve Bayes để dự đốn bệnh viêm gan và nhận biết nấm ăn được hay khơng.
2.4.1 Khái niệm thuật tốn phân lớp Nạve Bayes
Naive Bayes là một thuật tốn phân lớp được mơ hình hố dựa trên định
lý Bayes trong xác suất thống kê:
Trang 14trong đĩ:
P(y|X) gọi là posterior probability: xác suất của mục tiêu y với điều kiện
cĩ đặc trưng X
P(X|y) gọi là likelihood: xác suất của đặc trưng X khi đã biết mục tiêu y
P(y) gọi là prior probability của mục tiêu y
P(X) gọi là prior probability của đặc trưng X
X là vector các đặc trưng, cĩ thể viết dưới dạng:
Khi đĩ, đẳng thức Bayes trở thành:
Trong mơ hình Naive Bayes, cĩ hai giả thiết được đặt ra:
1 Các đặc trưng đưa vào mơ hình là độc lập với nhau Tức là sự thay đổi giá trị của một đặc trưng khơng ảnh hưởng đến các đặc trưng cịn lại
2 Các đặc trưng đưa vào mơ hình cĩ ảnh hưởng ngang nhau đối với đầu ra mục tiêu
Khi đĩ, kết quả mục tiêu y để P(y|X) đạt cực đại trở thành:
2.4.2 Ưu điểm của thuật tốn Nạve Bayes
Giả định độc lập: hoạt động tốt cho nhiều bài tốn/miền sữ liệu và ứng dụng
Đơn giản nhưng đủ tốt để giải quyết nhiều bài tốn như phân lớp văn bản,lọc spam,
Trang 15Cho phép kết hợp tri thức tiền nghiệm (prior knowledge) và dữ liệu quan sát được (obserwed data).
Tốt khi cĩ sự chệnh lệch số lượng giữa các lớp phân loại
Huấn luyện mơ hình (ước lượng tham số) dễ và nhanh
2.4.3 Nhược điểm của thuật tốn Nạve Bayes
Giả định độc lập (ưu điểm cũng chính là nhược điểm)
hầu hết các trường hợp thực tế trong đĩ cĩ các thuộc tính trong các đối tượng thường phụ thuộc lẫn nhau
Vấn đề zero (đã nêu cách giải quyết ở phía trên)
Mơ hình khơng được huẩn luyện bằng phượng pháp tối ưu mạnh và chặt chẽ
Tham số mủa mơ hình là các ước lượng xác suất điều kiện đơn lẻ
Khơng tính đến sự tương tác giữa các ước lượng này
Trang 16Chương 3 Thử nghiệm, kết quả 3.1 Các bước thử nghiệm
B1 Cài đặt weka và tải file dữ liệu về
Dữ liệu bệnh viêm gan
Dữ liệu các loại nấm
B2 Tìm đến file dữ liệu cần chạy thử nghiệm và mở file đó trong ứng dụng weka
Trang 17B3 Sau khi mở file chọn mục classity và chọn thuật toán để thử nghiệm
Trang 18B4 Ấn chọn start để chạy file
Trang 19Phân loại lớp:
Trang 20Kết quả
Trang 213.2.2 Kết quả chạy thử nghiệm để nhận biết nấm cĩ ăn được hay khơng bằng thuật tốn Nạve Bayes
Chạy thơng tin:
Trang 22Phân loại lớp
Trang 24Kết quả