TRƯỜ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 SỬ DỤNG THUẬT TỐN PHÂN LỚP NẠVE BAYES ĐỂ CHUẨN ĐỐN BỆNH VIÊM GAN V
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 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
Sinh viên thực hiện : NGUYỄN MẠNH TUẤN(TN)
NGUYỄN HỒNG SƠN NGUYỄN TIẾN MÙI Giảng viên hướng dẫn : VŨ VĂN ĐỊNH
Chuyên ngành : CƠNG NGHỆ PHẦN MỀM
Trang 2Hà Nội, tháng năm
Trang 3PHIẾU CHẤM ĐIỂM
Sinh viên thực hiện:
Giảng viên chấm:
Giảng viên chấm 1 :
Giảng viên chấm 2 :
Trang 4MỤC LỤC
LỜI CẢM ƠN 4
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU, TIỀN XỬ LÝ DỮ LIỆU 5
1.1 Đặt vấn đề 5
1.2 Tổng quan về khai phá dữ liệu 5
1.2.1 Khái niệm 5
1.2.2 Quy trình khai phá tri thức 5
1.2.3 Lợi ích của khai phá dữ liệu 7
1.2.4 Ứng dụng của khai phá dữ liệu 7
1.3 Tiền xử lý dữ liệu 8
1.3.1 Khái niệm 8
1.3.2 Làm sạch dữ liệu 8
1.3.3 Tích hợp dữ liệu 8
1.3.4 Biến đổi dữ liệu 8
1.3.5 Thu giảm dữ liệu 9
CHƯƠNG 2: KHÁI QUÁT CÁC THUẬT TỐN ĐƯỢC SỬ DỤNG ĐỂ KHAI PHÁ DỮ LIỆU 10
2.1 Phân lớp dữ liệu 10
2.1.1 Khái niệm 10
2.1.1 Các thuật tốn phân lớp dữ liệu 10
2.2 Khai phá, kết hợp 10
2.3 Phân cụm 11
2.3.1 Khái niệm 11
2.3.2 Các thuật tốn phân cụm 11
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 11
2.4.1 Khái niệm thuật tốn phân lớp Nạve Bayes 11
Trang 5Lời Cảm Ơn
Nhóm chúng em xin gửi lời tri ân sâu sắc đế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 thuận lợi cho chúng em thực hiện đề 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"
Thành công của đề tài này không thể thiếu sự hướng dẫn tận tình và những góp ý quý báu của thầy Vũ Văn Định Thầy đã truyền đạt cho chúng em những kiến thức chuyên môn, kỹ năng nghiên cứu và phương pháp khoa học để hoàn thành đề tài một cách hiệu quả
Bên cạnh đó, nhóm em cũng xin gửi lời cảm ơn chân thành đến các bạn bè
đã đồng hành, hỗ trợ và đóng góp ý kiến trong suốt quá trình thực hiện Nhờ sự giúp đỡ của các bạn, đề tài của chúng em được hoàn thiện và nâng cao chất lượng Tuy nhiên, do thời gian và trình độ còn hạn chế, đề tài không tránh khỏi những thiếu sót Nhóm em mong nhận được những góp ý và phê bình từ các thầy,
cô giáo và các bạn để đề tài được hoàn thiện hơn nữa
Cuối cùng, nhóm em xin chúc các thầy, cô giáo và các bạn sức khỏe, hạnh phúc và thành công trong cuộc sống
Trang 6Chương 1: Tổng quan về 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 trong việc lưu trữ và xử lý thơng tin ngày nay
đã tạo ra một lượng lớn dữ liệu được lưu trữ với kích thước khơng ngừng tăng lên Điều này tạo điều kiện thuận lợi cho 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 suấ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 Trong lĩnh vực y tế, nguồn dữ liệu rất lớn và việc áp dụng khai phá dữ liệu
cĩ thể mang lại nhiều ý nghĩa Nĩ cĩ thể cung cấp 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 khỏi nhiều căn bệnh nguy hiểm
Trong dự án của nhĩm, chúng tơi quyết định áp dụng thuật tốn phân lớp Nạve Bayes vào thực tiễn Chúng tơi sẽ sử dụng thuật tốn này để dự đốn bệnh viêm gan và nhận biết khả năng nấm ăn được hay khơng từ dữ liệu y tế
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ần mề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: Bước này bao gồm việc xác định mục tiêu của bài tốn, cũng như thu thập và hiểu rõ dữ liệu liên quan đến lĩnh vực
Thu thập dữ liệu phù hợp: Tập trung vào việc thu thập dữ liệu từ các nguồn phù hợp với mục tiêu của bài tốn
Làm sạch và tiền xử lý dữ liệu: Loại bỏ dữ liệu nhiễu, điền giá trị cịn thiếu, chuẩn hĩa dữ liệu và xác định các thuộc tính quan trọng
Trang 7 Lựa chọn chức năng khai phá dữ liệu: Dựa trên mục tiêu của bài toán, chọn các kỹ thuật phù hợp như phân loại, gom cụm, dự báo, hoặc sinh
ra các luật kết hợp
Lựa chọn/ Phát triển giải thuật khai phá dữ liệu phù hợp: Chọn hoặc phát triển các giải thuật khai phá dữ liệu để áp dụng vào tập dữ liệu
Tiến hành khai phá dữ liệu: Áp dụng các giải thuật đã chọn vào tập dữ liệu và thu thập thông tin
Đánh giá mẫu thu được và biểu diễn tri thức: Đánh giá hiệu suất của
mô hình hoặc tri thức thu được và biểu diễn chúng một cách hợp lý,
có thể là thông qua biểu đồ, bảng biểu, hoặc các phương tiện trực quan khác
Sử dụng tri thức được khai phá: Áp dụng tri thức đã thu được vào thực tiễn, có thể là để đưa ra quyết định, cải thiện quy trình, hoặc tối
ưu hóa kết quả
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)
Trang 8 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ặp trong 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
Thương mại điện tử và bán lẻ: Các doanh nghiệp sử dụng khai phá dữ liệu
để phân tích hành vi mua hàng của khách hàng, dự đoán xu hướng mua sắm,
cá nhân hóa trải nghiệm mua sắm, và tối ưu hóa quy trình cung ứng và lưu
trữ
Ngân hàng và tài chính: Các tổ chức tài chính sử dụng khai phá dữ liệu để
phát hiện gian lận, dự đoán rủi ro tín dụng, quản lý danh mục đầu tư, và cá nhân hóa dịch vụ tài chính
Y tế và dược phẩm: Trong lĩnh vực y tế, khai phá dữ liệu được sử dụng để
phát hiện các xu hướng bệnh tật, dự đoán bệnh lý, phân loại bệnh, và tìm kiếm các phương pháp điều trị hiệu quả
Marketing và quảng cáo: Các doanh nghiệp sử dụng khai phá dữ liệu để
phân tích hành vi tiêu dùng, dự đoán kết quả chiến dịch quảng cáo, và tối ưu hóa chiến lược marketing
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ất lượng
dữ liệu (quality of the data) và từ đó cải thiện chất lượng của kết quả khai phá
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
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 hay làm sạch dữ liệu là quy trình chuẩn bị dữ liệu trước khi phâ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ân tích sau cùng
1.3.3 Tích hợp dữ liệu
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ẵn sàng cho quá trình khai phá dữ liệu
1.3.4 Biến đổi dữ liệu
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 cho quá 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)
Trang 101.3.5 Thu giảm dữ liệu
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 11Chươ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
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:
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
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.1 Các thuật toán phân lớp dữ liệu
Phân lớp với cây quyết định (decision tree)
Phân lớp với Naive Bayesian
Phân lớp với k phần tử gần nhất (k-nearest neighbor)
Phân loại dữ liệu với mạng neurale)
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
Trang 122.3 Phân cụm
2.3.1 Khái niệm
Phân cụm dữ liệu là bài tố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 đĩ
2.3.2 Các thuật tốn phân cụm
- 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 đĩ
- 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 đĩ
- Dựa trên cấp độ (density-based): dựa trên connectivity and density functions
- 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