1. Trang chủ
  2. » Luận Văn - Báo Cáo

HỆ HỖ TRỢ QUYẾT ĐỊNH( Ứng dụng thuật toán Naive Bayes trong giải quyết bài toán chuẩn đoán bệnh tiểu đường )

40 5 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Thuật Toán Naive Bayes Trong Giải Quyết Bài Toán Chuẩn Đoán Bệnh Tiểu Đường
Trường học Trường Đại Học Công Nghiệp Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo thực nghiệm
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 40
Dung lượng 914,57 KB

Cấu trúc

  • CHƯƠNG I: LÝ THUYẾT HỆ HỖ TRỢ RA QUYẾT ĐỊNH (5)
    • 1.1. Ra quyết định (5)
    • 1.2. Hệ hỗ trợ ra quyết định (6)
    • 1.3. Quá trình ra quyết định của hệ hỗ trợ ra quyết định (7)
    • 1.4. Kiến trúc chung hệ hỗ trợ ra quyết định (9)
    • 1.5. Mô hình ra quyết định (10)
    • 1.6. Mục đích xây dựng hệ hỗ trợ ra quyết định (11)
    • 1.7. Tính cần thiết của hệ hỗ trợ ra quyết định (12)
    • 1.8. Phạm vi ứng dụng của hệ hỗ trợ ra quyết định (12)
    • 1.9. Môi trường ra quyết định (13)
    • 1.10. Các yếu tố ảnh hưởng đến ra quyết định (14)
  • CHƯƠNG II: ỨNG DỤNG THUẬT TOÁN NAIVE BAYES TRONG GIẢI QUYẾT BÀI TOÁN CHUẨN ĐOÁN BỆNH TIỂU ĐƯỜNG (16)
    • 2.1. Tổng quan về Naive Bayes (16)
      • 2.1.1. Thuật toán Naive Bayes (16)
      • 2.1.2. Hoạt động của Naive Bayes (22)
      • 2.1.3. Đặc điểm của Naive Bayes (23)
      • 2.1.4. Ưu và nhược điểm của Naive Bayes (23)
      • 2.1.5. Ứng dụng của thuật toán phân loại Naive Bayes (24)
      • 2.1.6. Các loại mơ hình của Nạve Bayes (25)
    • 2.2. Tổng quan về đề tài (26)
      • 2.2.1. Tính cấp thiết việc xây dựng đề tài (26)
      • 2.2.2. Mục đích (27)
      • 2.2.3. Ý nghĩa khoa học (28)
      • 2.2.4. Ý nghĩa thực tiễn (28)
    • 2.3. Phân tích bài toán (28)
      • 2.3.1. Tạo bảng csdl dạng CSV (28)
      • 2.3.2. Xử lý dữ liệu (29)
    • 3.1. Chương trình mã code (32)
    • 3.2. Chạy và hiển thị kết quả (33)
  • KẾT LUẬN (39)
    • 4.1. Những kỹ năng học được trong quá trình thực hiện đề tài (39)
    • 4.2. Bài học kinh nghiệm (39)
    • 4.3. Hướng phát triển (39)
  • TÀI LIỆU THAM KHẢO (40)

Nội dung

Trong những năm gần đây, cùng với chức năng khai thác có tính chất tác nghiệp, việc khai thác các cơ sở dữ liệu phục cụ các yêu cầu trợ giúp quyết định ngày càng có ý nghĩa và quan trọng và là nhu cầu to lớn trong mọi lĩnh vực hoạt động kinh doanh, quản lý kinh tế cũng như nghiên cứu khoa học, thống kê tình hình phát triển các hội, dân số… Dữ liệu được lưu trữ và thu nhập ngày càng nhiều nhưng người ra quyết định lại cần những thông tin dưới dạng “tri thức” rút ra từ những nguồn dữ liệu đó hơn là chính những dữ liệu đó cho việc ra quyết định.

LÝ THUYẾT HỆ HỖ TRỢ RA QUYẾT ĐỊNH

Ra quyết định

Quyết định là quá trình lựa chọn có ý thức giữa nhiều phương án, nhằm tìm ra phương án tối ưu nhất để đạt được kết quả mong muốn trong các điều kiện ràng buộc đã được xác định.

- Quyết định có thể là nhận thức ở dạng mô tả

- Quyết định có thể là nhận thức ở dạng quá trình

- Quyết định có thể là một hoạt động giàu ý thức

- Quyết định có thể là những thay đổi trạng thái kiến thức

Tại sao phải hỗ trợ ra quyết định?

- Nhu cầu hỗ trợ ra quyết định:

 Ra quyết định luôn cần xử lý kiến thức;

 Kiến thức là nguyên liệu và thành phẩm của ra quyết định, cần được sở hữu hoặc tích lũy bởi người ra quyết định.

- Giới hạn về nhận thức: trí nhớ con người là có hạn trong khi con người có vô vàn các mối quan hệ cần phải nhớ ra quyết định.

Để đảm bảo thành công cho dự án, việc lập kế hoạch sử dụng kinh phí một cách hợp lý là điều cần thiết, bởi vì mọi dự án đều phải đối mặt với giới hạn về kinh tế.

Một dự án cần được thực hiện trong một khoảng thời gian nhất định, do đó, việc lập kế hoạch và phân công công việc hợp lý là rất quan trọng để đảm bảo tiến độ và chất lượng hoàn thành.

- Áp lực cạnh tranh: kế hoạch và chiến lược thực hiện dự án hợp lý, chính xác luôn tạo nên thế mạnh cho doanh nghiệp trong cuộc cạnh tranh.

Bản chất của hỗ trợ ra quyết định:

- Quyết định có cấu trúc đến phi cấu trúc;

- Cung cấp thông tin, tri thức;

- Thể hiện qua tương tác người – máy;

- Thể hiện qua mô phỏng

Hệ hỗ trợ ra quyết định

Vào thập niên 1970, Scott Morton đã giới thiệu khái niệm hệ hỗ trợ ra quyết định (DSS), định nghĩa DSS là hệ thống máy tính tương tác, hỗ trợ các nhà ra quyết định trong việc sử dụng dữ liệu và mô hình để giải quyết các vấn đề phi cấu trúc.

Hệ thống hỗ trợ quyết định (DSS) kết hợp trí tuệ con người với sức mạnh tính toán của máy tính nhằm nâng cao chất lượng quyết định Những hệ thống này được thiết kế để hỗ trợ người ra quyết định trong việc giải quyết các vấn đề nửa cấu trúc (Keen và Scott Morton, 1978).

DSS, hay Hệ thống Hỗ trợ Quyết định, là tập hợp các quy trình dựa trên mô hình nhằm xử lý dữ liệu và hỗ trợ quá trình ra quyết định của con người, giúp các nhà quản lý đưa ra những quyết định chính xác hơn (Little, 1970).

Nhu cầu về DSS: Những năm 1980, 1990 điều tra các công ty lớn cho thấy:

- Kinh tế thiếu ổn định

- Khó theo dõi vận hành của doanh nghiệp

- Bộ phận IT quá bận, không giải quyết được các yêu cầu quản lý

- Cần phân tích lợi nhuận, hiệu quả và thông tin chính xác, mới, kịp thời

- Giảm giá phí hoạt động

- Xu hướng tính toán của người dùng

1.2.2 Vai trò hệ hỗ trợ ra quyết định

Lý do sử dụng DSS:

- Cải thiện tốc độ tính toán;

- Tăng năng suất của cá nhân liên đới;

- Cải tiến kỹ thuật trong việc lưu trữ, tìm kiếm, trao đổi dữ liệu trong và ngoài tổ chức theo hướng nhanh và kinh tế;

- Nâng cao chất lượng của các quyết định đưa ra;

- Tăng cường năng lực cạnh tranh của tổ chức;

- Khắc phục khả năng hạn chế của con người trong việc xử lý và lưu chứa thông tin.

Các hỗ trợ từ DSS:

- Cung cấp thông tin trạng thái và dl thô

- Khả năng phân tích tổng quát

- Mô hình biểu diễn (cân đối tài chính), mô hình nhân quả (dự báo, chuẩn đoán)

- Đề nghị giải pháp, đánh giá

Quá trình ra quyết định của hệ hỗ trợ ra quyết định

Có thể phân ra 4 loại quyết định sau:

- Quyết định có cấu trúc (Structured Decision): các quyết định mà người ra quyết định biết chắc chắn đúng.

Quyết định không có cấu trúc (Nonstructured Decision) là những quyết định mà người ra quyết định nhận thức rằng có nhiều câu trả lời gần đúng, nhưng không có phương pháp nào để xác định câu trả lời chính xác nhất.

- Quyết định đệ quy (Recurring Decision): các quyết định lặp đi, lặp lại

- Quyết định không đệ quy (Nonrecurring Decision): các quyết định không xảy ra thường xuyên.

1.3.2 Các giai đoạn của quá trình ra quyết định

Theo Simon, các giai đoạn của quá trình ra quyết định gồm các pha:

- Tìm hiểu - bài toán dẫn đến quyết định;

- Thiết kế - phân tích và xây dựng các diễn trình hành động;

- Chọn lựa - chọn một diễn trình trong tập diễn trình;

- Thực hiện - thực hiện các quyết định để có được kết quả.

Kiến trúc chung hệ hỗ trợ ra quyết định

Quản trị dữ liệu là quá trình quản lý các cơ sở dữ liệu (CSDL) chứa thông tin liên quan đến một tình huống cụ thể Phần mềm quản trị cơ sở dữ liệu đóng vai trò quan trọng trong việc quản lý và khai thác dữ liệu hiệu quả.

- Quản trị mô hình: cho phép khai thác và quản lý các mô hình định lượng (xử lý) khác nhau, cung cấp khả năng phân tích cho hệ thống.

- Quản trị đối thoại: cung cấp giao diện cho người dùng để liên lạc và ra lệnh cho Hệ hỗ trợ quyết định.

- Quản trị tri thức: hoạt động như 1 thành phần độc lập, hoặc có thể trợ giúp cho bất kỳ 1 hệ thống nào trong 3 hệ thống nói trên.

Mô hình ra quyết định

Mô hình ra quyết định là một lĩnh vực khoa học quản trị, tập trung vào việc tìm kiếm phương pháp tối ưu trong việc sử dụng nguồn lực hạn chế để đạt được mục tiêu của cá nhân hoặc doanh nghiệp Do đó, mô hình ra quyết định thường được hiểu là quá trình tối ưu hóa.

Mô hình ra quyết định thường chỉ tập trung vào hai giai đoạn đầu của quá trình, bao gồm các tình huống quản lý và việc đưa ra quyết định Tuy nhiên, các bước thực hiện quyết định và đo lường kết quả sau khi ra quyết định lại không được đề cập đến.

Triết lý ra quyết định phụ thuộc vào nhiều yếu tố như môi trường xung quanh, nền tảng kiến thức, kinh nghiệm và trạng thái tâm lý của mỗi người Mỗi cách tiếp cận đối với các vấn đề khác nhau sẽ được hình thành từ sự tương tác giữa những yếu tố này, tạo nên sự đa dạng trong quá trình ra quyết định.

Có nhiều mô hình ra quyết định, nổi bật nhất là:

- Mô hình tỷ lệ: xem ra quyết định là một quá trình có cấu trúc, rút gọn bài toán thành lập các tham số đo được.

- Mô hình tổ chức: quan tâm nhiều đến các chính sách, định hướng tiếp theo, quan tâm nhiều tới việc định tính.

- Mô hình chính trị: kết quả của liên kết nhóm, thể hiện các khả năng cá nhân.

Mục đích xây dựng hệ hỗ trợ ra quyết định

Mục đích chính của hệ thống hỗ trợ quyết định (DSS) là cung cấp thông tin dễ hiểu cho khách hàng DSS rất hữu ích vì có khả năng lập trình để tạo ra nhiều loại báo cáo dựa trên các thông số kỹ thuật do người dùng cung cấp.

Hệ thống DSS hỗ trợ hiệu quả trong quá trình ra quyết định, mang lại nhiều lợi ích vượt trội Nó cung cấp cho người dùng thông tin hữu ích một cách linh hoạt, giúp tối ưu hóa các hoạt động quyết định.

Cung cấp công cụ hỗ trợ phát triển và cải thiện mô hình nhận thức về nhân và quả cho người ra quyết định thông qua việc cung cấp dữ liệu nhanh chóng, chính xác và áp dụng các mô hình toán học hiệu quả.

Tính cần thiết của hệ hỗ trợ ra quyết định

- Nghiên cứu và hoạch định tiếp thị: Chính sách giá cho kháchhàng, dự báo sản phẩm tiêu thụ…

- Hoạch định chiến lược và vận hành: Theo dõi, phân tích và báo cáo về xu hướng thị trường…

- Hỗ trợ bán hàng: Chi tiết và tổng hợp tình hình bán hàng, so sánh và phân tích xu hướng bán hàng…

Phạm vi ứng dụng của hệ hỗ trợ ra quyết định

- Ở các quyết định hàng ngày.

- Các quyết định có tính chiến thuật:chọn 1 phương sách thích hợp để đáp ứng 1 mục tiêu nào đó như chuẩn bị ngân sách, quản lý tài chính.

- Các quyết định có tính chiến lược:quyết định chính sách dài hạn, đầu tư dài hạn, tổ chức lại cơ quan, chiến lược tiếp thị.

- Tài chính: mua trang thiết bị, phần mềm.

- Hiệu quả và rủi ro: giảm rủi ro, không phải là hoàn vốn

Các loại bài toán áp dụng:

- Có nhiều phương án chọn hơn, hàm đánh giá đơn giản.

- Phức tạp: đa chỉ tiêu.

- Rất phức tạp: vượt quá khả năng xử lý của con người.

- Thân thiện với người sử dụng về giao diện.

- Tính cập nhật thường xuyên cập nhật trong môi trường biến động.

- Độ chi tiết đảm bảo yêu cầu người sử dụng.

- Tần suất sử dụng cao, tính thuận tiện: mềm dẻo, thiết kế tốt

Môi trường ra quyết định

Các yếu tố tác động : trực tiếp dễ nhìn ra, dễ lượng hoá, dễ nhìn, dễ hiểu, dễ cấu trúc hoá.

Các yếu tố về tổ chức tác động đến mọi bài toán quyết định:

- Chính sách: luật, mệnh lệnh, quan hệ, vay, trả.

- Cấu trúc tổ chức: cách quản lý, cách điều hành, quy chế.

- Uy tín của tổ chức có thể lượng hoá.

- Con người trong tổ chức: hành vi văn hoá, thái độ nhân cách.

Các yếu tố ngoại cảnh:

- Pháp luật: chính sách có thể thay đổi còn pháp luật khó thay đổi.

- Sự chấp nhận của khách hàng.

Các yếu tố thông tin:

- Độ bảo mật của thông tin.

- Độ tin cậy của thông tin: sự chính xác, mức độ cập nhật của thông tin.

- Các giải pháp thông tin tổng hợp, đa dạng, tỉ mỉ chi tiết.

- Giá cả của thông tin: thu nhập, truyền, xử lý.

Các mục tiêu về quản lý:

- Sự vận hành: kinh tế, hiệu quả, chất lượng, an toàn.

- Định lượng hay định tính.

- Mức độ rõ ràng của môi trường ra quyết định: rõ, ẩn hay mờ.

Phân loại môi trưởng ra quyết định:

- Môi trường truy nhập được và không truy nhập được.

- Môi trường tất định, không tất định.

- Môi trường chắc chắn, không chắc chắn.

Các yếu tố ảnh hưởng đến ra quyết định

Trực tiếp, dễ nhìn thấy, dễ hiểu như là:

- Hạn chế về tài nguyên (ràng buộc ngân sách, khả năng phát triển sản xuất, )

- Điều kiện vật lý (các tham số đo, các khoảng cách liên hệ, )

Các tham số chức năng ảnh hưởng đến hiệu quả bao gồm tỷ lệ sản xuất, độ tin cậy của nhà cung cấp, chất lượng sản phẩm, tay nghề nhân công, tỷ lệ sai hỏng và các chỉ số kinh tế Những yếu tố này đóng vai trò quan trọng trong việc tối ưu hóa quy trình sản xuất và nâng cao năng suất.

Các yếu tố tổ chức:

- Chính sách: các luật mệnh lệnh, các quan hệ, sự vay trả, sự định hướng thực hiện.

- Cấu trúc: vị trí địa lý, cách quản lý, nghiên cứu – phát triển, cách điều hành (tập trung, phân cấp, ma trận).

Hình ảnh uy tín bao gồm uy tín xã hội, uy tín kinh doanh và uy tín nội bộ Uy tín xã hội phản ánh sự tin tưởng từ cộng đồng, trong khi uy tín kinh doanh liên quan đến sự hài lòng của khách hàng và khả năng tài chính của doanh nghiệp Cuối cùng, uy tín nội bộ đảm bảo sự nhất quán và không mâu thuẫn trong tổ chức, tạo ra môi trường làm việc tích cực và hiệu quả.

- Con người: điều kiện xã hội, ý thức chấp hành, hành vi văn hóa, thái độ, nhân cách.

Các yếu tố ngoại cảnh:

- Pháp luật, các quy định cần tuân thủ (thời gian sản xuất, môi trường sản xuất, luật chất thải, giới hạn giá cả, xuất khẩu, )

- Kinh tế: sự đầu tư tài chính, giá cả, thuế.

- Môi trường: thời tiết, yếu tố địa lý, thiên tai.

- Thị trường: sự cạnh tranh, phát triển công nghệ mới.

- Đòi hỏi của khách hàng, nhu cầu của khách hàng.

- Khả năng thông tin: độ bảo mật, khả năng truyền thông, phương tiện lưu trữ, nguồn, kênh thông tin (bên trong, bên ngoài).

- Độ tin cậy: sự chính xác, cập nhật, chuẩn mực.

- Giải pháp: thông tin tỉ mỉ, tổng hợp, đa dạng.

- Giá cả: cho thu thập, chuẩn bị, kiểm tra, bảo hành thông tin, cả về thời gian tính và đòi hỏi phần cứng.

ỨNG DỤNG THUẬT TOÁN NAIVE BAYES TRONG GIẢI QUYẾT BÀI TOÁN CHUẨN ĐOÁN BỆNH TIỂU ĐƯỜNG

Tổng quan về Naive Bayes

Naive Bayes Classification (NBC) là một thuật toán dựa trên định lý Bayes trong lý thuyết xác suất, được sử dụng để phân loại và đưa ra phán đoán từ dữ liệu quan sát và thống kê Thuật toán này rất phổ biến trong lĩnh vực Machine Learning, nhờ vào khả năng đưa ra dự đoán chính xác dựa trên tập dữ liệu đã thu thập, đồng thời có cấu trúc dễ hiểu và độ chính xác cao.

Nó thuộc vào nhóm Supervised Machine Learning Algorithms (thuật toán học có hướng dẫn), tức là máy học từ các ví dụ từ các mẫu dữ liệu đã có.

2.1.1.1 Định luật Bayes Định luật Bayes được phát biểu như sau: Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên A khi biết sự kiện liên quan B đã xảy ra Xác suất này được ký hiệu là P(A|B), và đọc là “xác suất của A nếu có B” Đại lượng này được gọi xác suất có điều kiện hay xác suất hậu nghiệm vì nó được rút ra từ giá trị được cho của B hoặc phụ thuộc vào giá trị đó.

Theo định lí Bayes, xác suất xảy ra A khi biết B sẽ phụ thuộc vào 3 yếu tố:

Xác suất xảy ra của sự kiện A, không phụ thuộc vào sự kiện B, được ký hiệu là P(A) và được gọi là xác suất biên duyên hay xác suất tiên nghiệm Khái niệm này mang tính "tiên nghiệm" vì nó không xem xét bất kỳ thông tin nào liên quan đến sự kiện B.

Xác suất xảy ra của sự kiện B, ký hiệu là P(B), thể hiện xác suất của B mà không phụ thuộc vào sự kiện A Đại lượng này còn được gọi là hằng số chuẩn hóa (normalising constant), vì giá trị của nó luôn không thay đổi, bất kể sự kiện A là gì.

Xác suất xảy ra B khi biết A xảy ra được ký hiệu là P(B|A), đọc là “xác suất của B nếu có A” Đại lượng này thể hiện khả năng xảy ra của B dựa trên thông tin rằng A đã xảy ra Cần lưu ý không nhầm lẫn giữa khả năng xảy ra và các khái niệm khác liên quan.

B khi biết A và xác suất xảy ra A khi biết B.

2.1.1.2 Thuật tốn phân lớp Nạve Bayes a Định lý bayes:

Công thức Bayes tổng quát

Trong đó ta gọi A là một chứng cứ (evidence) (trong bài toán phân lớp

A sẽ là một phần tử dữ liệu), B là một giả thiết nào để cho A thuộc về một lớp

Trong bài toán phân lớp, mục tiêu là xác định xác suất P(B|A), tức là xác suất giả thuyết B đúng khi có chứng cứ A thuộc lớp C, với điều kiện đã biết các thông tin mô tả A P(B|A) được gọi là xác suất hậu nghiệm của B dựa trên thông tin từ A.

Giả sử chúng ta có một tập dữ liệu khách hàng với các thuộc tính như tuổi và thu nhập Ví dụ, một khách hàng X có tuổi 25 và thu nhập 2000$ Nếu H là giả thiết rằng khách hàng này sẽ mua máy tính, thì P(H|X) thể hiện xác suất mà khách hàng X sẽ mua máy tính, dựa trên thông tin về tuổi và thu nhập của họ.

P(H) là xác suất tiền nghiệm, tức là xác suất của sự kiện H mà không cần thông tin về các yếu tố khác, như tuổi hay thu nhập của khách hàng Điều này có nghĩa là P(H) không bị ảnh hưởng bởi yếu tố X Ngược lại, P(X|H) đại diện cho xác suất của X khi biết H, được gọi là xác suất hậu nghiệm (likelihood).

Xác suất người dùng X, với độ tuổi 25 và thu nhập 2000 đô la, sẽ mua máy tính được tính toán dựa trên điều kiện rằng người đó đã có ý định mua Cuối cùng, P(X) đại diện cho xác suất tiền nghiệm của X, cho thấy khả năng một cá nhân trong tập dữ liệu có độ tuổi 25 và thu nhập 2000 đô la.

Posterior = Likelihood * Prior / Evidence b Phân lớp Naive Bayes

Bộ phân lớp Naive bayes hay bộ phân lớp Bayes (simple byes classifier) hoạt động như sau:

Gọi D là tập dữ liệu huấn luyện, trong đó mỗi phần tử dữ liệu X được biểu diễn bằng một vector chứa n giá trị thuộc tính A1, A2, ,An = {x1,x2, ,xn}

Giả sử có m lớp C1, C2, , Cm Khi có một phần tử dữ liệu X, bộ phân lớp sẽ gán nhãn cho X vào lớp có xác suất hậu nghiệm lớn nhất Cụ thể, bộ phân lớp Bayes sẽ dự đoán rằng X thuộc về lớp Ci nếu và chỉ nếu xác suất này đạt giá trị tối đa.

Theo định lý Bayes, để xác định lớp có xác suất cao nhất, ta cần so sánh P(Ci|X) với P(Cj|X) (1

Do đó ta xét đoán rằng, bệnh nhân là không ung thư.

Cơ sở dữ liệu khách hàng:

ID Tuổi Thu nhập Sính viên Đánh giá tín dụng Mua máy tính

1 youth high no fair no

2 youth high no excellent no

3 middle high no fair yes

4 senior medium no fair yes

5 senior low yes fair yes

6 senior low yes excellent no

7 middle low yes excellent yes

8 youth medum no fair yes

9 youth low yes fair yes

10 senior medium yes fair yes

11 youth medium yes excellent yes

12 middle medium no excellent yes

ID Tuổi Thu nhập Sính viên Đánh giá tín dụng Mua máy tính

13 middle high yes fair yes

14 senior medium no excellent no

Giả sử ta có một khách hàng mới X có các thuộc tính

X = (age = youth, income = medium, student = yes, credit_rating = fair)

Bây giờ cần xác định xem khách hàng X có thuộc lớp Cyes (mua máy tính) hay không, ta tính toán như sau:

Các xác suất thành phần:

Kết quả cho thấy P(X | Cyes)P(Cyes) đạt giá trị cao nhất, vì vậy thuật toán Bayes kết luận rằng khách hàng X có khả năng sẽ mua máy tính Để khắc phục vấn đề xác suất điều kiện bằng zero, cần áp dụng các phương pháp thích hợp nhằm đảm bảo tính chính xác trong dự đoán.

Tổng quan về đề tài

Trong những năm gần đây, tỷ lệ người mắc bệnh tiểu đường tăng nhanh chóng, vì vậy việc hiểu biết về khái niệm, nguyên nhân và triệu chứng của bệnh là rất cần thiết để phòng ngừa và điều trị hiệu quả Sự phát triển công nghệ thông tin đóng vai trò quan trọng trong việc thúc đẩy nền kinh tế, đặc biệt là trong việc phát triển các ứng dụng chẩn đoán y học, nhằm nâng cao chất lượng chăm sóc sức khỏe.

Sinh viên ngành công nghệ thông tin đã quyết tâm tìm hiểu cách thức hoạt động của ứng dụng chẩn đoán, nhận thấy Naive Bayes là thuật toán hữu ích trong chẩn đoán y học Dưới sự hướng dẫn của giảng viên Trần Thanh Hùng, nhóm đã chọn đề tài: “Ứng dụng thuật toán Naive Bayes trong giải quyết bài toán chẩn đoán bệnh tiểu đường”.

Trong quá trình tìm hiểu và xây dựng, nhóm không thể tránh khỏi một số sai sót Chúng tôi rất mong nhận được ý kiến đóng góp từ thầy và mọi người Xin chân thành cảm ơn!

2.2.1 Tính cấp thiết việc xây dựng đề tài

Theo thống kê của Tổ chức Y tế Thế giới (WHO) năm 2019, bệnh đái tháo đường đang ảnh hưởng đến 732 triệu người trên toàn cầu Nếu không có sự nâng cao nhận thức và can thiệp kịp thời, bệnh đái tháo đường có thể trở thành một trong bảy nguyên nhân hàng đầu gây tử vong vào năm 2030.

Năm 1980, 108 triệu người trên thế giới mắc bệnh tiểu đường Đến năm

Theo Tổ chức Y tế Thế giới (WHO) vào năm 2020, số người mắc bệnh tiểu đường đã tăng từ 108 triệu vào năm 1980 lên 422 triệu vào năm 2014 Dự báo của Liên đoàn Đái tháo đường Quốc tế (IDF) cho thấy khoảng 700 triệu người trưởng thành trên toàn cầu sẽ mắc bệnh tiểu đường vào năm 2045.

Trung Quốc có số tài khoản tiểu đường cao nhất trên toàn thế giới, với

Theo Bản đồ Đái tháo đường IDF năm 2019, toàn cầu có 116 triệu người mắc bệnh tiểu đường, trong đó Trung Quốc đứng đầu với 116 triệu ca, tiếp theo là Ấn Độ với 77 triệu và Hoa Kỳ với 31 triệu người mắc bệnh.

Tỷ lệ mắc bệnh tiểu đường tại Việt Nam đã tăng gấp 4 lần so với năm 1980, với 3.7 triệu ca tử vong hàng năm và 50% dân số chưa được chẩn đoán Bộ Y tế Việt Nam đang chú trọng đến chương trình quốc gia phòng chống bệnh tiểu đường, trong đó việc xây dựng hệ thống chẩn đoán sớm và phát hiện nguy cơ dịch bệnh là ưu tiên hàng đầu Đề tài này áp dụng công nghệ thông tin để phát triển phương pháp chẩn đoán bệnh dựa trên bộ dữ liệu thu thập từ bệnh nhân tiểu đường.

Với sự tiến bộ của công nghệ, con người đã phát triển nhiều công cụ hữu ích cho cuộc sống và ngành Y học Các máy móc sử dụng thuật toán giúp nâng cao độ chính xác trong việc chẩn đoán bệnh, từ đó đưa ra phương pháp điều trị phù hợp Chúng tôi đã chọn đề tài “Ứng dụng thuật toán Naive Bayes trong chẩn đoán bệnh tiểu đường” nhằm tạo ra một công cụ chẩn đoán hiệu quả hơn, chính xác hơn, phục vụ tốt cho các hoạt động y tế.

2.2.2 Mục đích Đề tài tập chung vào nghiên cứu kỹ thuật phân lớp trong khai phá dữ liệu(cụ thể là nghiên cứu thuật toán Naive bayes) để áp dụng vào việc phân tích cơ sở dữ liệu bệnh tiểu đường Luận văn thu nhập dữ liệu bệnh tiểu đường của tất cả bệnh nhân(không phân biệt tuổi, giới tính) đến khám vào điều trị tại bệnh viện Sau khi phân tích đặc điểm của dữ liệu thu thập được và lựa chọn giải thuật phù hợp với dữ liệu, việc xây dựng và đánh giá chất lượng, độ hiệu quả của hệ thống chẩn đoán cũng là mục đích của đề tài Sử dụng phương pháp và nghiên cứu hồi cứu với sự hỗ trợ chuyên môn của các bác sĩ chuyên khoa, đề tài tiến hành nghiên cứu trên cơ sở thuật toán phân lớp trong khai phá dữ liệu.

2.2.3 Ý nghĩa khoa học Đóng góp một vai trò vô cùng lớn đối với giới Y khoa và cũng như với Khoa học Với sự trợ giúp của máy tính, đề tài đóng góp một biện pháp thực hiện hỗ trợ các cán bộ y tế chẩn đoán bệnh cho bệnh nhân Kết quả, Kinh nghiệm thu được khi thực hiện đề tài này sẽ giúp các cán bộ y tế phát hiện sớm bệnh cho bệnh nhân, đồng thời mong muốn những người đang công tác trong lĩnh vực y khoa và Khoa học máy tính ngồi lại với nhau để tìm ra những giải pháp tốt hơn trong vấn đề chẩn đoán và điều trị bệnh bằng cách kết hợp giữa 2 lĩnh vực y học và khoa học máy tính.

Bệnh đái tháo đường tiến triển âm thầm nhưng cực kỳ nguy hiểm, với tỷ lệ tử vong cao Việc chẩn đoán và phát hiện bệnh đòi hỏi cán bộ y tế phải có chuyên môn vững và trang thiết bị y tế hiện đại để đảm bảo độ chính xác Chẩn đoán sai có thể dẫn đến điều trị không đúng và không phát hiện kịp thời bệnh cho bệnh nhân Do đó, áp dụng thuật toán trong chẩn đoán giúp tăng cường độ chính xác, làm cho quy trình trở nên hiệu quả và dễ dàng hơn.

Phân tích bài toán

2.3.1 Tạo bảng csdl dạng CSV

Tập dữ liệu này chứa thông tin của 768 tình nguyện viên, bao gồm cả những người mắc bệnh tiểu đường và những người không mắc bệnh Các thuộc tính trong tập dữ liệu này rất đa dạng và phong phú.

+ Số lần mang thai + Nồng độ đường trong máu + Huyết áp (mm Hg)

+ Độ dày nếp da cơ tam đầu (mm) + Insulin huyết thanh 2 giờ (mu U/ml) + Chỉ số khối cơ thể ((Cân nặng tính bằng Kg/ Chiều cao tính bằng m) ^ 2 )

+ Chức năng phả hệ bệnh tiểu đường + Độ tuổi

- Với mỗi tình nguyện viên, dữ liệu bao gồm kể trên và tình trạng bệnh tức Class 1 hoặc không bị bệnh tức Class 0.

- Dữ liệu được đưa vào để training dưới dạng file CSV:

Pandas là một thư viện Python mạnh mẽ, cung cấp cấu trúc dữ liệu linh hoạt và nhanh chóng, giúp người dùng làm việc hiệu quả với dữ liệu có cấu trúc và chuỗi thời gian Tên gọi của thư viện bắt nguồn từ "panel

Pandas hướng đến việc trở thành khối căn bản cho phân tích dữ liệu thực tế trong Python, đồng thời là công cụ mã nguồn mở mạnh mẽ và linh hoạt nhất trong các ngôn ngữ lập trình Những ưu điểm của pandas bao gồm khả năng xử lý dữ liệu hiệu quả, hỗ trợ nhiều định dạng dữ liệu khác nhau và cung cấp các công cụ phân tích mạnh mẽ, giúp người dùng dễ dàng thao tác và phân tích dữ liệu.

Xử lý dữ liệu mất mát, biểu thị dưới dạng NaN, trở nên dễ dàng trong cả dữ liệu dấu phẩy động và dấu phẩy tĩnh Người dùng có thể tùy chọn cách xử lý, bao gồm việc bỏ qua dữ liệu hoặc chuyển đổi chúng thành giá trị 0.

- Khả năng thay đổi kích thước: các cột có thể được chèn và xóa khỏi DataFrame và các đối tượng chiều cao hơn

Căn chỉnh dữ liệu tự động và rõ ràng giúp người dùng dễ dàng tổ chức các đối tượng với bộ nhãn cụ thể, hoặc có thể để Series, DataFrame tự động thực hiện việc căn chỉnh trong các phép toán.

Chức năng group by rất mạnh mẽ và linh hoạt, cho phép thực hiện các hoạt động kết hợp và phân tách trên các tập dữ liệu, bao gồm cả dữ liệu tổng hợp và chuyển đổi.

Easily convert ragged and differently-indexed data from various Python and NumPy data structures into DataFrame objects.

- Cắt lát (slicing) thông minh dựa trên nhãn, lập chỉ mục ưa thích (fancy indexing) và tập hợp lại (subsetting) các tập dữ liệu lớn

- Gộp (merging) và nối (joining) các tập dữ liệu trực quan

- Linh hoạt trong định hình lại (reshaping) và xoay (pivoting) các tập dữ liệu

- Dán nhãn phân cấp (hierarchical) của các trục (có thể có nhiều nhãn trên mỗi đánh dấu)

Các công cụ IO mạnh mẽ cho phép tải dữ liệu từ các tệp phẳng như ƯSV và delimited, tệp Excel, cũng như từ cơ sở dữ liệu Ngoài ra, chúng còn hỗ trợ lưu và tải dữ liệu từ định dạng HDF5 với tốc độ cực nhanh.

Chức năng theo chuỗi thời gian bao gồm việc tạo phạm vi ngày, chuyển đổi tần số, thống kê cửa sổ di chuyển, cũng như thực hiện dịch chuyển ngày và độ trễ Những tính năng này giúp phân tích dữ liệu theo thời gian một cách hiệu quả và chính xác.

- Tích hợp tốt với các thư viện khác của python như SciPy, Matplotlib, Plotly,…

+ Import thư viện: import pandas as pd

+ Đọc file csv: df = pd.read_csv(r"diabetes.csv")

+ Tạo data frame: pd.DataFrame({"Actual_Outcome":y_testNB,"Predicted_Outcome":y_predNB})

CHƯƠNG III: XÂY DỰNG CHƯƠNG TRÌNH

Chương trình mã code

import numpy as np import pandas as pd import matplotlib.pyplot as plt

To analyze the diabetes dataset, we first import necessary libraries including seaborn, sklearn, and statsmodels We then import the dataset using pandas and prepare it for analysis by selecting relevant features such as 'Pregnancies', 'Glucose', 'BloodPressure', and 'DiabetesPedigreeFunction' The dataset is split into training and testing sets to train a Gaussian Naive Bayes classifier, which predicts the outcome based on the given features The performance of the model is evaluated using a classification report, providing insights into its accuracy and reliability in predicting diabetes outcomes.

The Naive Bayes model's performance was evaluated using various metrics, including the classification report and ROC curve analysis The predicted outcomes were compiled into a DataFrame for detailed reporting The model's predicted probabilities were used to calculate the false positive rate (FPR) and true positive rate (TPR), leading to an area under the curve (AUC) score that indicates its effectiveness The ROC curve was plotted to visualize the model's sensitivity and specificity, showcasing the AUC score in the legend Additionally, precision-recall metrics were computed, with the average precision score (APS) providing further insight into the model's performance Overall, these analyses highlight the Naive Bayes model's capabilities in classification tasks.

" + str(apsNB), color="orange") plt.title("Precision-Recall Curve -Naive Bayes") plt.xlabel("Precision") plt.ylabel("Recall") plt.legend(loc=4) plt.axhline(y=0.5, color="red", lw=2) plt.show()

Chạy và hiển thị kết quả

- Mã code: from google.colab import files uploaded = files.upload()

To upload a database file to Google Colab for data retrieval, you need to import the files library Use the function files.upload() to facilitate the file upload process.

Import thư viện và đọc lấy dữ liệu:

- Mã code: import numpy as np import pandas as pd import matplotlib.pyplot as plt

This article demonstrates how to analyze diabetes data using Python libraries such as Seaborn and Scikit-learn The process begins with importing necessary libraries, including metrics for evaluation, StandardScaler for data normalization, and Gaussian Naive Bayes for classification The dataset, "diabetes.csv," is loaded into a DataFrame, allowing for initial exploration with the `head()` function to view the first few entries The Seaborn library is configured for enhanced visualizations, setting the style to a dark grid suitable for data presentation This setup lays the foundation for further analysis and model evaluation in the context of diabetes prediction.

- Giải thích: Đọc dữ liệu trong file (định dạng csv) sử dụng hàm: pd.read_csv (“tenfile”)

Hiển thị dữ liệu sử dụng hàm: df.head()

Tính toán và hiển thị kết quả thực tế, dự tính:

To begin, import the necessary library from Google Colab by using the command `from google.colab import drive`, and then mount your Google Drive with `drive.mount('/content/drive')` Next, select the relevant features for your dataset by defining `x` as `df[['Pregnancies', 'Glucose', 'BloodPressure', 'DiabetesPedigreeFunction']]` and the target variable `y` as `df.iloc[:, -1]` Split the dataset into training and testing sets using `train_test_split`, specifying a test size of 20% and setting a random state for reproducibility Standardize the features by applying `StandardScaler`, transforming both the training and testing data with `x_trainNB = scalerNB.fit_transform(x_trainNB)` and `x_testNB = scalerNB.transform(x_testNB)`.

NB.fit(x_trainNB,y_trainNB) y_predNB = NB.predict(x_testNB) pd.DataFrame({"Actual_Outcome":y_testNB, "Predicted_Outcom e":y_predNB})

Tính hiển thị kết quả, độ chính xác, tỷ lệ trung bình:

- Mã code: reportNB = pd.DataFrame(classification_report(y_testNB, y_ predNB, output_dict=True)).transpose() reportNB

Hiển thị biểu đồ độ chính xác:

To evaluate the performance of the Naive Bayes classifier, we can utilize the precision-recall curve and calculate the average precision score By importing the necessary functions from the sklearn.metrics library, we can generate the precision-recall values using the `precision_recall_curve` function with the test labels and predicted values The average precision score is then computed with the `average_precision_score` function We visualize the results by plotting the precision-recall curve, labeling it with the average precision score, and setting the figure size for clarity The plot includes a title, axis labels, and a reference line at y=0.5 to indicate a baseline for recall This graphical representation helps in assessing the trade-off between precision and recall for the Naive Bayes model.

Tính và hiện biểu đồ thể hiện độ chính xác:

The code snippet demonstrates how to evaluate the performance of a Naive Bayes classifier using the ROC curve It begins by predicting probabilities with `NB.predict_proba(x_testNB)`, focusing on the positive class The false positive rate (fprNB) and true positive rate (tprNB) are calculated using `metrics.roc_curve()`, while the area under the curve (AUC) is determined with `metrics.roc_auc_score()` A plot is created with a figure size of 10x10, displaying the ROC curve for the Naive Bayes model in orange, alongside a reference line in red The x-axis is labeled "Specificity" and the y-axis "Sensitivity," with the plot title as "Validation ROC Curve - Naive Bayes." Finally, the legend is positioned at the bottom right, and the plot is displayed.

Ngày đăng: 21/12/2023, 17:16

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w