TRƯỜNG ĐẠI HỌC ĐIỆN LỰCKHOA CƠNG NGHỆ THƠNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN KHAI PHÁ DỮ LIỆU ĐỀ TI: KHAI PHÁ DỮ LIỆU CHUẨN ĐỐN BỆNH VIÊM GAN V NHẬN BIẾT NẤM ĂN ĐƯỢC BẰNG THUẬT TỐN PHÂN
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CƠNG NGHỆ THƠNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN KHAI PHÁ DỮ LIỆU
ĐỀ TI:
KHAI PHÁ DỮ LIỆU CHUẨN ĐỐN BỆNH VIÊM GAN V NHẬN BIẾT NẤM ĂN ĐƯỢC BẰNG THUẬT TỐN PHÂN
LỚP NẠVE BAYES
Sinh viên thực hiện : PHẠM NĂNG QUYỀN
LÊ MINH NGHĨA PHẠM ĐỨC ANH Giảng viên hướng dẫn : VŨ VĂN ĐỊNH
Trang 2PHIẾU CHẤM ĐIỂMSinh viên thực hiện
3 Lê Minh Nghĩa
Giảng viên chấm 1:
Giảng viên chấm 2:
Giảng viên chấm:
Trang 3MỤC LỤC CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU, TIỀN XỬ
LÝ DỮ LIỆU 1
1.1.Đặt vấn đề 1
1.2.Tổng quan về khai phá dữ liệu 1
1.2.1 Khái niệm 1
1.2.2 Quy trình khai phá tri thức 1
1.2.3 Lợi ích của khai phá dữ liệu 3
1.2.4 Ứng dụng của khai phá dữ liệu 3
1.3.Tiền xử lý dữ liệu 3
1.3.1 Khái niệm 4
1.3.2 Làm sạch dữ2 liệu (data cleaning) 5
1.3.3 Tích hợp dữ liệu (data integration) 5
1.3.4 Thu giảm dữ liệu (data reduction) 5
CHƯƠNG 2 KHÁI QUÁT CÁC THUẬT TOÁN ĐƯỢC SỬ DỤNG ĐỂ KHAI PHÁ DỮ LIỆU 6
2.1.Phân lớp dữ liệu 6
2.1.1 Khái niệm 6
2.1.2 Các thuật toán phân lớp dữ liệu 6
2.2.Khai phá, kết hợp 6
Trang 4CHƯƠNG 3 CHẠY THỬ NGHIỆM CHƯƠNG TRÌNH VÀ HIỂN THỊ KẾT QUẢ 103.1.Các bước thử nghiệm 103.2.Kết quả thử nghiệm 123.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 123.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 14
KẾT LUẬN 19
TÀI LIỆU THAM KHẢO 20
Trang 5LỜ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ôngnghệ 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á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ệnPhạm Năng Quyền
Lê Minh NghĩaPhạm Đức Anh
Trang 6CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU,
TIỀN XỬ LÝ DỮ LIỆU1.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ốtcho việc khai thác kho dữ liệu để đem lại tri thức cĩ ích với các cơng cụ truyvấ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ệutrong lĩnh vực này sẽ mang lại nhiều ý nghĩa cho ngành y tế Nĩ sẽ cung cấpnững thơng tin quý giá nhằm hỗ trợ trong việc chuẩn đốn và điều trị sớm giúpbệ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ự đốnbệnh viêm gan và nhận biết nấm ăn được hay khơng
Trang 71.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 toán (ứng dụng): Các mục đích của bàitoá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ự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á
Trang 8Quá 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)
- 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ệutrong thời gian ngắn và sau đó chuyển đổi dữ liệu đó thành thông tin,kiến thức
Trang 9Lợ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ảo hiểm, thương mại, ngân hàng, … Đưa ra các bản báo cáo giàu thôngtin; phân tích rủi ro trước khi đưa ra các chiến lược kinh doanh, sảnxuất; phân loại khách hà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ànhtinh,
- 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
1.3 Tiền xử lý dữ liệu
Trang 101.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
Cá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
Biến đổi dữ liệu (data transformation)
Trang 11Là 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.4 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
Cá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)
Trang 12CHƯƠNG 2 KHÁI QUÁT CÁC THUẬT TOÁN ĐƯỢC SỬ
DỤNG ĐỂ KHAI PHÁ DỮ LIỆU2.1 Phân lớp dữ liệu
2.1.1 Khái niệm
Là dạng phân tích dữ liệu nhằm rút trích các mô hình mô tả các lớp dữliệu hoặc dự đoán xu hướng dữ liệu
Quá trình gồm hai bước:
1 Bước học (giai đoạn huấn luyện): xây dựng bộ phân lớp(classifier) bằng việc phân tích/học tập huấn luyện
2 Bước phân lớp (classification): phân lớp dữ liệu/đối tượng mớinế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
1 Phân lớp với cây quyết định (decision tree)
2 Phân lớp với Naive Bayesian
3 Phân lớp với k phần tử gần nhất (k-nearest neighbor)
4 Phân loại dữ liệu với mạng neural
5 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 trongcá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
Trang 132.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ánhtừng cụm (cluster) sao cho các đối tượng trong cùng một cụm có sự tương đồngtheo một tiêu chí nào đó
2.3.2 Các thuật toán phân cụm
1 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 đó
2 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 đó
Trang 142.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ê:
- 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 đổigiá 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 ramụ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
Trang 15Giả định độc lập: hoạt động tốt cho nhiều bài tốn/miền sữ liệu và ứngdụ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ọcspam, Cho phép kết hợp tri thức tiền nghiệm (prior knowledge) và dữ liệu quansát được (obserweddata) Tốt khi cĩ sự chệnh lệch số lượng giữa các lớp phânloạ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ườnghợp thực tế trong đĩ cĩ các thuộc tính trong các đối tượng thường phụ thuộc lẫnnhau 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 CHẠY THỬ NGHIỆM CHƯƠNG TRÌNH V
HIỂN THỊ KẾT QUẢ3.1 Các bước thử nghiệm
Bước 1 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
Bước 2 Tìm đến file dữ liệu cần chạy thử nghiệm và mở file đó trong ứng dụng weka
Trang 17Bước 3 Sau khi mở file chọn mục classity và chọn thuật toán để thử nghiệm
Trang 18Bước 4 Ấ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 23Kết quả
Trang 24KẾT LUẬN
Trong nghiên cứu này, chúng tơi đã áp dụng thuật tốn phân lớp NạveBayes để khai phá dữ liệu và chuẩn đốn bệnh viêm gan cũng như nhận biếtnấm ăn được Kết quả của đề tài đã chứng minh rằng phương pháp này là mộtcơng cụ hiệu quả để xử lý các bài tốn phân loại trong lĩnh vực y tế
Thứ nhất, chúng tơi đã xây dựng mơ hình Nạve Bayes dựa trên dữ liệuhuấn luyện để học các mẫu và quy luật liên quan đến bệnh viêm gan và nấm ănđược Mơ hình này đã cho thấy khả năng phân loại tốt và độ chính xác cao khi
áp dụng vào tập dữ liệu kiểm tra Điều này cho thấy sự khả thi và tiềm năng củathuật tốn Nạve Bayes trong việc đưa ra dự đốn chính xác về các trường hợpbệnh viêm gan và nấm ăn được
Thứ hai, kết quả của nghiên cứu đã cung cấp một phương pháp hữu ích để
hỗ trợ các chuyên gia y tế trong việc chuẩn đốn bệnh viêm gan và nhận biếtnấm ăn được Bằng cách sử dụng thuật tốn Nạve Bayes, chúng tơi cĩ thể giúpcung cấp một cơng cụ hữu ích để đưa ra quyết định chẩn đốn nhanh chĩng vàchính xác, từ đĩ giúp cải thiện chất lượng chăm sĩc sức khỏe và kịp thời điều trịcho bệnh nhân
Tuy nhiên, cần lưu ý rằng Nạve Bayes cĩ giả định "độc lập đặc trưng", cĩthể khơng phù hợp cho các dữ liệu cĩ sự tương quan mạnh giữa các đặc trưng
Do đĩ, việc áp dụng phương pháp này cần được xem xét kỹ lưỡng và điều chỉnhphù hợp để đảm bảo tính chính xác và đáng tin cậy của kết quả
Tổng kết lại, ứng dụng thuật tốn phân lớp Nạve Bayes trong khai phá dữliệu và chuẩn đốn bệnh viêm gan cũng như nhận biết nấm ăn được đã mang lạinhững kết quả tích cực Phương pháp này khơng chỉ cung cấp một cơng cụ hữuích cho y tế, mà cịn mở ra những triển vọng mới trong việc sử dụng MachineLearning để hỗ trợ chuẩn đốn và điều trị bệnh tật Để phát triển hơn nữa,nghiên cứu cần tiếp tục nâng cao hiệu suất của thuật tốn và mở rộng áp dụngvào các lĩnh vực y tế khác để tối ưu hĩa quy trình chăm sĩc sức khỏe và cảithiện chất lượng cuộc sống của con người
Trang 25TI LIỆU THAM KHẢO
[1] Witten, I H., Frank, E., & Hall, M A (2016) Data Mining: PracticalMachine Learning Tools and Techniques Morgan Kaufmann
[2] Tan, P.-N., Steinbach, M., & Kumar, V (2013) Introduction to DataMining Pearson
[3] Han, J., Kamber, M., & Pei, J (2011) Data Mining: Concepts andTechniques Morgan Kaufmann
[4] Mitchell, T M (1997) Machine Learning McGraw-Hill
[5] Hastie, T., Tibshirani, R., & Friedman, J (2009) The Elements ofStatistical Learning: Data Mining, Inference, and Prediction Springer.[6] Russell, S J., & Norvig, P (2010) Artificial Intelligence: A ModernApproach Pearson
[7] Ng, A (n.d.) CS229: Machine Learning Lecture Notes StanfordUniversity
[8] Duda, R O., Hart, P E., & Stork, D G (2000) Pattern Classification.Wiley
[9] Rokach, L., & Maimon, O (2014) Data Mining with Decision Trees:Theory and Applications World Scientific
[10] Patel, J., & Patel, A (2015) Data Mining and Analysis: FundamentalConcepts and Algorithms CRC Press