You are on page 1of 24

TRƯỜ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 TOÁN PHÂN LỚP NAIVE
BAYES ĐỂ CHUẨN ĐOÁN BỆNH VIÊM GAN VÀ NHẬN BIẾT NẤM
ĂN ĐƯỢC

Sinh viên thực hiện : TRẦN QUANG DUY


PHẠM QUANG TRUNG

Giảng viên hướng dẫn : VŨ VĂN ĐỊNH

Ngành : CÔNG NGHỆ THÔNG TIN

Chuyên ngành : CNPM

Lớp : D16CNPM6

Hà Nội, tháng năm 20


MỤC LỤC
Chương 1: Tổng quan 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....................................................................................6
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 (data cleaning)..........................................................................9
1.3.3 Tích hợp dữ liệu (data integration).......................................................................9
1.3.4 Biến đổi dữ liệu (data transformation)..................................................................9
1.3.5 Thu giảm dữ liệu (data reduction).......................................................................10
Chương 2: Khái quát các thuật toán được sử dụng để khai phá dữ liệu........................11
2.1 Phân lớp dữ liệu...........................................................................................................11
2.1.1 Khái niệm...............................................................................................................11
2.1.2 Các thuật toán phân lớp dữ liệu..........................................................................11
2.2 Khai phá, kết hợp........................................................................................................11
2.3 Phân cụm......................................................................................................................11
2.3.1 Khái niệm...............................................................................................................11
2.3.2 Các thuật toán phân cụm.....................................................................................12
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...................................................................................................12
2.4.1 Khái niệm thuật toán phân lớp Naïve Bayes......................................................12
2.4.2 Ưu điểm của thuật toán Naïve Bayes..................................................................13
2.4.3 Nhược điểm của thuật toán Naive Bayes............................................................14
Chương 3 Thử nghiệm, kết quả...........................................................................................15
3.1 Các bước thử nghiệm..................................................................................................15
3.2 Kết quả thử nghiệm.....................................................................................................17
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 Naive
Bayes...............................................................................................................................17
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 Naive Bayes............................................................................................................20
KẾT LUẬN...........................................................................................................................24

2
PHIẾU CHẤM ĐIỂM
Sinh viên thực hiện:
STT Họ và tên Điểm Chữ ký
1 Phạm Quang Trung
2181

2 Trần Quang Duy

2181

Giảng viên chấm điểm:


Họ và tên Chữ ký Ghi chú

Giảng viên 1:

Giảng viên 2:

3
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.

4
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
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 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 đoán và điều trị sớm giúp
bệnh nhân thoát được nhiều căn bệnh hiểm nghèo.

Ứng dụng thuật toán Naï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 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.

1.2Tổ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í.

5
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ài
toá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ính
quan trọng, giảm số chiều (số thuộc tính), biểu diễn bất biến.

- 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á.

6
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)

- 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

1.2.3.1 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

1.2.3.2 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

1.2.3.3 Với data mining, chúng ta có thể phân tích khối lượng lớn dữ
liệu trong thờ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

1.2.3.4 Hỗ trợ ra quyết định tự động

1.2.3.5 Hỗ trợ đưa ra dự báo chính xác

1.2.3.6 Hỗ trợ giảm thiểu chi phí

1.2.3.7 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ông tin; phân tí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á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ành tinh,...

Công nghệ sinh học – tìm ra các gen mới, cây con giống mới…
7
1.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.

8
-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)

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 (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ẵn
sà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 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)

9
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.

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)

10
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
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.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 đó.

11
2.3.2 Các thuật toán phân cụm

f) 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 đó.
g) 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 đó.
h) Dựa trên cấp độ (density-based): dựa trên connectivity and density
functions
i) Dựa trên lưới (grid-based): dựa trên multiple-level granularity structure
j) 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 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.
2.4.1 Khái niệm thuật toán phân lớp Naïve Bayes

Naive Bayes là một thuật toán phân lớp được mô hình hoá dựa trên định
lý Bayes trong xác suất thống kê:

12
trong đó:

• 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 toán Naïve Bayes

Giả định độc lập: hoạt động tốt cho nhiều bài toá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 toán như phân lớp văn bản,
lọc spam,..

13
Cho 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 toán Naive 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.

14
Chươ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

15
B2: Tìm đến file dữ liệu cần chạy thử nghiệm và mở file đó trong ứng dụng
weka

B3: Sau khi mở file chọn mục classity và chọn thuật toán để thử nghiệm

16
B4. Ấn chọn start để chạy file

3.2 Kết quả thử nghiệm


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 Naive
Bayes
Chạy thông tin:

17
Phân loại lớp:

18
Kết quả

19
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 Naive Bayes

Chạy thông tin:

20
Phân loại lớp

21
22
Kết quả

23
KẾT LUẬN

Việc khai thác dữ liệu và áp dụng thuật toán phân lớp Naive Bayes trong việc
chuẩn đoán bệnh viêm gan và nhận biết nấm ăn được đánh giá là một bước tiến
quan trọng trong lĩnh vực y học và khoa học dữ liệu. Kết quả của nghiên cứu
này không chỉ là sự góp phần vào việc hiểu rõ hơn về cách mà thông tin dữ liệu
có thể được sử dụng để dự đoán tình trạng sức khỏe của bệnh nhân, mà còn mở
ra những triển vọng mới trong việc cải thiện quy trình chuẩn đoán và điều trị
bệnh.

Tính chính xác và tin cậy của thuật toán Naive Bayes trong việc phân loại các
trường hợp bệnh viêm gan và nấm ăn được đã được chứng minh thông qua các
kết quả thử nghiệm. Khả năng này mở ra cánh cửa cho việc phát triển các công
cụ hỗ trợ quyết định cho các chuyên gia y tế và bác sĩ, giúp họ xác định và điều
trị các bệnh lý một cách chính xác và hiệu quả hơn.

Tuy nhiên, như mọi nghiên cứu khoa học, có những thách thức cần phải vượt
qua. Việc đảm bảo tính bảo mật và đạo đức trong việc sử dụng dữ liệu cá nhân
của bệnh nhân là một vấn đề quan trọng. Ngoài ra, cần tiếp tục nghiên cứu và
phát triển thuật toán để tăng cường hiệu suất và chính xác của hệ thống, đồng
thời cũng cần thử nghiệm và đánh giá kết quả trên một phạm vi lớn hơn và đa
dạng hơn các tập dữ liệu.

Tóm lại, việc sử dụng dữ liệu và thuật toán trong y học không chỉ là một xu
hướng mà còn là một bước tiến quan trọng trong việc cải thiện chăm sóc sức
khỏe. Qua việc khai phá dữ liệu và áp dụng các phương pháp phân loại thông
minh như Naive Bayes, chúng ta có thể tạo ra những ứng dụng có thực tế và
tiềm năng trong việc đảm bảo sức khỏe và chất lượng cuộc sống cho cộng đồng.

24

You might also like