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

Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp

33 29 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

Định dạng
Số trang 33
Dung lượng 1,61 MB

Cấu trúc

  • MỤC LỤC

  • Lời nói đầu

  • CHƯƠNG 1 Tổng quan về Khai phá dữ liệu

    • 1.1 Khái niệm cơ bản:

    • 1.2 Một số kỹ thuật Khai phá dữ liệu

      • 1.2.1 Kỹ thuật khai phá luật kết hợp

      • 1.2.2 Kỹ thuật phân lớp

      • 1.2.3 Kỹ thuật phân cụm

  • CHƯƠNG 2 Dữ liệu đầu vào của tập dữ liệu dự báo nguy cơ bệnh tiểu đường giai đoạn đầu (nguồn UCI)

  • CHƯƠNG 3 Khai phá luật kết hợp cho tập dữ liệu dự báo nguy cơ bệnh tiểu đường giai đoạn đầu

    • 3.1.1 Khái niệm

    • 3.1.2 Phương pháp khai phá tập mục phổ biến(Apriori)

    • 3.1.3 Tiền xử lý dữ liệu

    • 3.1.4 Khai phá dữ liệu

    • 3.1.5 Biểu diễn tri thức

    • 3.1.6 Nhận xét và đánh giá

  • CHƯƠNG 4 Phân lớp cho tập dữ liệu dự báo nguy cơ bệnh tiểu đường giai đoạn đầu

    • 4.1 Khái niệm

    • 4.2 Phân lớp bằng cây quyết định

      • 4.2.1 Thuật toán xây dựng cây quyết định

    • Generate_decision_tree (D, attribute_list)

    • 4.3 Thuật toán NaïveBayes

      • 4.3.1 Định lý Bayes

    • Posterior = Likelihood * Prior / Evidence

      • 4.3.2 Phân lớp Naive Bayes

    • P(X|Ci) = P(x1|Ci)...P(xn|Ci)

    • 4.4 Tiền xử lý dữ liệu cho thuật toán phân lớp

    • 4.5 Khai phá dữ liệu

      • 4.5.1 Naive Bayes Classifier

      • 4.5.2 Thuật toán J48 - cây quyết định

    • 4.6 Biểu diễn tri thức

      • 4.6.1 Phát hiện tri thức sau khi dùng thuật toán Naïve Bayes

      • 4.6.2 Phát hiện tri thức sau khi dùng thuật toán cây quyết định J48

    • 4.7 Đánh giá mô hình bằng phương pháp Hold-out:

  • Kết luận

  • TÀI LIỆU THAM KHẢO

Nội dung

BÁO CÁO HỌC PHẦN KHAI PHÁ DỮ LIỆU ĐỀ TÀI: KHAI PHÁ DỮ LIỆU DỰ BÁO NGUY CƠ TIỂU ĐƯỜNG GIAI ĐOẠN ĐẦU BẰNG THUẬT TOÁN LUẬT KẾT HỢP VÀ PHÂN LỚP GIẢNG VIÊN HƯỚNG DẪN: TS. TRẦN MẠNH TUẤN Hà Nội, tháng 7 năm 2021 PHIẾU CHẤM ĐIỂM Sinh viên thực hiện: Họ và tên Công việc thực hiện Tìm hiểu phương pháp khai phá tập mục phổ biến (Apriori) và Đánh giá mô hình bằng phương pháp Hold-out Phân lớp bằng thuật toán NaïveBayes Khai phá luật kết hợp bằng thuật toán Apriori Phân lớp bằng thuật toán J48 Giảng viên chấm: Họ và tên Chữ ký Ghi chú MỤC LỤC Lời nói đầu 1 CHƯƠNG 1 Tổng quan về Khai phá dữ liệu 2 1.1 Khái niệm cơ bản: 2 1.2 Một số kỹ thuật Khai phá dữ liệu 4 1.2.1 Kỹ thuật khai phá luật kết hợp 4 1.2.2 Kỹ thuật phân lớp 4 1.2.3 Kỹ thuật phân cụm 4 CHƯƠNG 2 Dữ liệu đầu vào của tập dữ liệu dự báo nguy cơ bệnh tiểu đường giai đoạn đầu (nguồn UCI) 5 CHƯƠNG 3 Khai phá luật kết hợp cho tập dữ liệu dự báo nguy cơ bệnh tiểu đường giai đoạn đầu 6 3.1.1 Khái niệm 6 3.1.2 Phương pháp khai phá tập mục phổ biến(Apriori) 6 3.1.3 Tiền xử lý dữ liệu 7 3.1.4 Khai phá dữ liệu 10 3.1.5 Biểu diễn tri thức 13 3.1.6 Nhận xét và đánh giá 15 CHƯƠNG 4 Phân lớp cho tập dữ liệu dự báo nguy cơ bệnh tiểu đường giai đoạn đầu 16 4.1 Khái niệm 16 4.2 Phân lớp bằng cây quyết định 16 4.2.1 Thuật toán xây dựng cây quyết định 17 4.3 Thuật toán NaïveBayes 18 4.3.1 Định lý Bayes 18 4.3.2 Phân lớp Naive Bayes 19 4.4 Tiền xử lý dữ liệu cho thuật toán phân lớp 20 4.5 Khai phá dữ liệu 21 4.5.1 Naive Bayes Classifier 21 4.5.2 Thuật toán J48 - cây quyết định 24 4.6 Biểu diễn tri thức 26 4.6.1 Phát hiện tri thức sau khi dùng thuật toán Naïve Bayes 26 4.6.2 Phát hiện tri thức sau khi dùng thuật toán cây quyết định J48 26 4.7 Đánh giá mô hình bằng phương pháp Hold-out: 26 Kết luận 28 TÀI LIỆU THAM KHẢO 29 Lời nói đầu Trong thời buổi hiện đại ngày nay, công nghệ thông tin cũng như những ứng dụng của nó không ngừng phát triển, lượng thông tin và cơ sở dữ liệu được thu thập và lưu trữ cũng tích lũy ngày một nhiều lên. Con người cũng vì thế mà cần có thông tin với tốc độ nhanh nhất để đưa ra quyết định dựa trên lượng dữ liệu khổng lồ đã có. Các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế, vì thế, một khuynh hướng kỹ thuật mới là Kỹ thuật phát hiện tri thức và khai phá dữ liệu nhanh chóng được phát triển. Khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới. Ở Việt Nam, kỹ thuật này đang được nghiên cứu và dần đưa vào ứng dụng. Khai phá dữ liệu là một bước trong quy trình phất hiện tri thức. Hiện nay, mọi người không ngừng tìm tòi các kỹ thuật để thực hiện khai phá dữ liệu một cách nhanh nhất và có được kết quả tốt nhất. Trong bài tập lớn này, chúng em tìm hiểu và trình bày về một kỹ thuật trong khai phá dữ liệu để phân lớp dữ liệu cũng như tổng quan về khai phá dữ liệu, với đề tài “ dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp”. Trong quá trình làm bài tập lớn này, chúng em xin gửi lời cảm ơn đến thầy giáo Nguyễn Huy Đức. Thầy đã rất tận tình hướng dẫn chi tiết cho chúng em, những kiến thức thầy cung cấp rất hữu ích. Chúng em rất mong nhận được những góp ý từ thầy. Chúng em xin chân thành cảm ơn!

Tổng quan về Khai phá dữ liệu 2

Khái niệm cơ bản: 2

Khai phá dữ liệu là quá trình tìm kiếm và xác định các mẫu tiềm ẩn có giá trị, mới lạ và dễ hiểu trong các tập dữ liệu lớn.

Khai phá tri thức từ CSDL ( Knowledge Discovery in Database) Khai phá tri thức từ CSDL gồm 5 bước:

● B5: Diễn giải và đánh giá

Khai phá dữ liệu là bước quan trọng trong quá trình khai thác tri thức từ cơ sở dữ liệu, ứng dụng rộng rãi trong nhiều lĩnh vực như thống kê, trí tuệ nhân tạo, và cơ sở dữ liệu Nó sử dụng các phương pháp thống kê để mô hình hóa dữ liệu, phát hiện mẫu và luật Các công cụ như ngân hàng dữ liệu và phân tích trực tuyến (OLAP) có mối liên hệ chặt chẽ với khai phá dữ liệu, cho phép phát hiện tri thức trong các tập dữ liệu lớn Khai phá dữ liệu có nhiều ứng dụng thực tiễn, từ phân tích thị trường đến dự đoán xu hướng.

Bảo hiểm, tài chính và thị trường chứng khoán bao gồm việc phân tích tình hình tài chính và dự báo giá cổ phiếu, cùng với danh mục vốn, lãi suất, và dữ liệu thẻ tín dụng để phát hiện gian lận Trong lĩnh vực y học, thông tin về chẩn đoán bệnh được lưu trữ trong hệ thống quản lý bệnh viện, phân tích mối liên hệ giữa triệu chứng, chẩn đoán và phương pháp điều trị Ngành sản xuất và chế biến tập trung vào quy trình và phương pháp xử lý sự cố Text mining và Web mining được áp dụng để phân lớp văn bản và tóm tắt nội dung Trong khoa học, việc quan sát thiên văn và phân tích dữ liệu gene giúp tìm kiếm mối liên hệ giữa gene và các bệnh di truyền Cuối cùng, trong mạng viễn thông, phân tích cuộc gọi và giám sát chất lượng dịch vụ là rất quan trọng Quy trình khai phá dữ liệu thường tuân theo các bước cụ thể để phát hiện tri thức.

Bước đầu tiên trong quá trình phân tích dữ liệu là hình thành và xác định bài toán, bao gồm việc tìm hiểu lĩnh vực ứng dụng để từ đó xác định các nhiệm vụ cần hoàn thành Giai đoạn này rất quan trọng vì nó giúp rút ra tri thức hữu ích và lựa chọn phương pháp khai phá dữ liệu phù hợp với mục đích ứng dụng cũng như bản chất của dữ liệu.

Bước thứ hai trong quy trình phát hiện tri thức là thu thập và tiền xử lý dữ liệu, bao gồm việc làm sạch dữ liệu để loại bỏ nhiễu, xử lý các thiếu sót để làm giàu dữ liệu, cũng như biến đổi và rút gọn dữ liệu khi cần thiết Đây là giai đoạn thường tốn nhiều thời gian nhất, do dữ liệu được lấy từ nhiều nguồn khác nhau và không đồng nhất, dễ gây ra nhầm lẫn Sau khi hoàn tất, dữ liệu sẽ trở nên nhất quán, đầy đủ, được rút gọn và rời rạc hóa.

Bước thứ ba trong quy trình khai phá dữ liệu là rút ra tri thức từ các mẫu và mô hình ẩn trong dữ liệu Giai đoạn này rất quan trọng, bao gồm việc xác định chức năng, nhiệm vụ và mục đích của khai phá dữ liệu, cũng như lựa chọn phương pháp phù hợp Các bài toán khai phá dữ liệu thường chia thành hai loại chính: bài toán mô tả, nhằm đưa ra những tính chất chung của dữ liệu, và bài toán dự báo, bao gồm việc phát hiện các suy diễn dựa trên dữ liệu hiện có Việc lựa chọn phương pháp khai phá dữ liệu sẽ phụ thuộc vào loại bài toán đã xác định.

Bước thứ tư trong quy trình phát hiện tri thức là sử dụng và hiểu rõ những tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán Quy trình này có thể được lặp lại nhiều lần, và kết quả thu được có thể được lấy trung bình từ tất cả các lần thực hiện Những kết quả từ quá trình phát hiện tri thức có thể được ứng dụng trong nhiều lĩnh vực khác nhau, vì chúng có thể tạo ra các dự đoán hữu ích.

Một số kỹ thuật Khai phá dữ liệu 4

1.2.1 Kỹ thuật khai phá luật kết hợp

Trong khai phá dữ liệu, luật kết hợp được sử dụng để phát hiện mối quan hệ giữa các đối tượng trong tập dữ liệu lớn Thuật toán Apriori là công cụ phổ biến nhất cho việc khai phá luật kết hợp, đặc biệt trong dữ liệu giao dịch, giúp xác định các luật khẳng định nhị phân Ngoài Apriori, còn có các thuật toán khác như FP-growth và Partition cũng được áp dụng trong quá trình này.

Trong kỹ thuật phân lớp gồm có các thuật toán:

Phân lớp dữ liệu sử dụng cây quyết định, như giải thuật ID3 và J48, cho phép xác định phân lớp của dữ liệu thông qua việc xây dựng cây quyết định Bên cạnh đó, phương pháp phân lớp dựa trên xác suất, như Nạve Bayesian, giả định rằng các thuộc tính độc lập với nhau và áp dụng định lý Bayes để đưa ra quyết định chính xác hơn.

Phân lớp dữ liệu có thể được thực hiện thông qua hai phương pháp chính Đầu tiên, thuật toán K-láng giềng phân loại dữ liệu bằng cách gán nó vào lớp của k đối tượng gần nhất Thứ hai, phương pháp phân lớp bằng SVM (Support Vector Machine) tìm kiếm một siêu phẳng tối ưu để tách biệt các lớp dữ liệu trong không gian nhiều chiều, giúp cải thiện độ chính xác trong việc phân loại.

Phân cụm dữ liệu là phương pháp phân loại các đối tượng dữ liệu thành các nhóm sao cho các đối tượng trong cùng một cụm có sự tương đồng cao hơn so với các đối tượng ở các cụm khác Một số phương pháp phân cụm cơ bản bao gồm k-means, phân cụm hierarchial và DBSCAN.

● Phân cụm bằng phương pháp K-mean: tìm ra tâm của các cụm mà khoảng cách của tâm đó đến các đối tượng, dữ liệu khác là ngắn.

Phân cụm trên đồ thị là một trong những kỹ thuật cơ bản và đơn giản trong khai phá dữ liệu mà chúng tôi đã tìm hiểu Ngoài ra, còn rất nhiều kỹ thuật khác trong lĩnh vực này.

Dữ liệu đầu vào của tập dữ liệu dự báo nguy cơ bệnh tiểu đường giai đoạn đầu (nguồn UCI) 5

The dataset utilized for data mining is the diabetes risk prediction dataset, known as diabetes_data_upload.csv, which is available at [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/machine-learning-databases/00529/diabetes_data_upload.csv).

Bảng 2.1 Liệt kê các thuộc tính và các giá trị của từng thuộc tính trong tập dữ liệu

Thuộc tinh Giá trị Kiểu

Age (tuổi) 16 tuổi đến 90 tuổi Numeric

Sex (giới tinh) Male (nam giới) Female (nữ giới) Nominal

Polyuria (đa niệu/đi tiểu nhiều) Yes (có) No (không) Nominal Polydipsia (Thường xuyên khát nước) Yes (có) No (không) Nominal

Sudden weight loss (giảm cân đột ngột) Yes (có) No (không) Nominal

Weakness (Thể trạng yếu) Yes (có) No (không) Nominal

Polyphagia (Ăn quá nhiều) Yes (có) No (không) Nominal

Genital thrush (Tưa miệng) Yes (có) No (không) Nominal

Visual blurring (Mờ thị giác) Yes (có) No (không) Nominal

Itching (Ngứa) Yes (có) No (không) Nominal

Irritability (Dễ cáu gắt) Yes (có) No (không) Nominal

Delayed healing (Lâu lành vết thương) Yes (có) No (không) Nominal

Partial paresis (Liệt một phần) Yes (có) No (không) Nominal

Muscle stiness (Cứng cơ) Yes (có) No (không) Nominal

Alopecia (Rụng lông tóc) Yes (có) No (không) Nominal

Obesity (Béo phì) Yes (có) No (không) Nominal

Class (Phân loại) Positive (dương tinh)

Khai phá luật kết hợp cho tập dữ liệu dự báo nguy cơ bệnh tiểu đường giai đoạn đầu 6

Khái niệm 6

Khai phá luật kết hợp là quá trình tìm kiếm các mẫu có tần suất cao và các mối liên hệ giữa các tập hợp đối tượng trong cơ sở dữ liệu giao dịch, cơ sở dữ liệu quan hệ hoặc các kho thông tin khác Mục tiêu của nó là xác định tất cả các tập phổ biến trong dữ liệu để phát hiện các quy luật và xu hướng tiềm ẩn.

Phương pháp khai phá tập mục phổ biến(Apriori) 6

Thuật toán Apriori, được R Agrawal và R Srikant giới thiệu vào năm 1994, nhằm khai thác tập mục phổ biến nhị phân thông qua việc tìm kiếm theo mức Thuật toán này bắt đầu bằng cách xác định tập mục thường xuyên có độ dài 1 bằng cách đếm sự xuất hiện của từng phần tử trong toàn bộ dữ liệu, với giá trị phải lớn hơn hoặc bằng độ hỗ trợ tối thiểu (minsup) Kết quả này được ký hiệu là L1, từ đó tìm ra L2 là tập mục thường xuyên có độ dài 2 Quá trình này lặp lại cho đến khi không còn tập mục thường xuyên có độ dài k nào thỏa mãn điều kiện minsup Mỗi lần tìm kiếm tập mục thường xuyên Lk đều yêu cầu duyệt toàn bộ dữ liệu Cuối cùng, từ các tập mục thường xuyên, ta có thể sinh ra các luật kết hợp mạnh bằng cách tìm các luật trong tập mục thỏa mãn ngưỡng minconf, trong đó độ hỗ trợ của một luật X → Y được tính bằng tỷ lệ phần trăm giao dịch chứa cả X và Y.

= P(X ∪ Y) Độ tin cậy của luật X → Y là tỉ lệ % các giao dịch trong T chứa cả X và Y trên tổng số các giao dịch trong T chỉ chứa X.

1 Duyệt toàn bộ CSDL giao dịch để tinh giá trị hỗ trợ là phẩn tử của tập phổ biến tiềm năng C 1 của 1-itemset, so sánh với minsup, để có được 1-itemset( L 1)

2 L 1 nối(phép join) L 1 để sinh ra 2-itemset là tập phổ biến tiềm năng Loại bỏ các tập mục không phải là tập phổ biến thu được 2-itemset C 2

3 Duyệt toàn bộ CSDL giao dịch để tinh giá trị hỗ trợ của mỗi ứng viên 2-itemset, so sánh từng phần tử với minsup để thư được tập mục thường xuyên 2-itemset( L 2 )

4.Lặp lại từ bước 2 cho đến khi tập ứng cử tiềm năng C = ∅

5.Với mỗi mục phổ biến I, sinh tất cả các tập con s không rỗng của I

6 Với mỗi tập con s không rỗng của I, sinh ra các luật s => (I-s) nếu độ tin cậy

Tiền xử lý dữ liệu 7

Để áp dụng thuật toán Apriori cho bộ dữ liệu dự báo nguy cơ tiểu đường, cần chuyển đổi thuộc tính Age từ kiểu dữ liệu số (Numeric) sang kiểu dữ liệu phân loại (Nominal) Phương pháp này là cần thiết vì thuật toán Apriori không xử lý được dữ liệu số Thuộc tính Age trong bộ dữ liệu có giá trị nhỏ nhất là 16 và giá trị lớn nhất là 90.

Hình 3.1 Tập dữ liệu về bệnh tiểu đường trước khi được tiền xử lý

In this section, we utilize Weka software with the weka.filters.unsupervised.Discretize filter to discretize the Age attribute in our dataset.

Hình 3.3 Rời rạc hóa dữ liệu của thuộc tính tuổi trên phần mềm Weka

Nhóm sử dụng phương pháp chia giá trị của thuộc tinh Age theo khoảng rộng và chia thành 3 bins.

Hình 3.4 Thuộc tính tuổi sau khi được tiền xử lý chia thành 3 bins

Kết quả cho thấy thuộc tính Age đã được chuyển đổi thành 3 giá trị khác nhau và kiểu dữ liệu Numeric đã được chuyển sang kiểu Nominal.

Giá trị đầu tiên (-inf-40.7] đại diện cho những người có độ tuổi nhỏ hơn hoặc bằng 40.7, trong khi giá trị thứ hai (-40.7-65.3] thể hiện những người có độ tuổi từ 40.7 đến 65.3.

Giá trị thứ 3 là (65.3-inf): thể hiện những người có độ tuổi lớn hơn 65.3.

Khai phá dữ liệu 10

Hình 3.5 Sử dụng thuật toán Apriori

Chúng ta chọn Associate và sau đó lựa chọn thuật toán weka.associations.Apriori để khai phá dữ liệu luật kết hợp bằng thuật toán Apriori.

Trong thiết lập các thông số cho thuật toán Apriori, lowerBoundMinSupport được đặt là 0.3, có nghĩa là thuật toán chỉ xem xét những tập phổ biến có độ hỗ trợ từ 0.3 trở lên MetricType được xác định là Confidence với minMetric là 0.9, cho thấy chỉ những luật có độ tin cậy từ 0.9 trở lên mới được đưa vào Cuối cùng, numRules quy định rằng thuật toán sẽ chỉ xuất tối đa 20 luật có độ hỗ trợ cao nhất, đáp ứng yêu cầu của lowerBoundMinSupport.

Sau khi chạy thuật toán Apriori với thông số đã cài đặt trên chúng ta nhận được kết quả với những thông số sau:

Hình 3.7 Kết quả sau khi chạy thuật toán Apriori – luật kết hợp

Generated sets of large itemsets:

Size of set of large itemsets L(1): 29

Size of set of large itemsets L(2): 117

Size of set of large itemsets L(3): 73

Size of set of large itemsets L(4): 4

1 Polyuria=Yes Polydipsia=Yes 193 ==> Class=Positive 193 lift:(1.63) lev: (0.14) [74] conv:(74.23)

2 Polyuria=Yes Alopecia=No 187 ==> Class=Positive 187 lift:(1.63) lev:(0.14)

3 Polydipsia=Yes 233 ==> Class=Positive 225 lift:(1.57) lev:(0.16) [81] conv:(9.96)

4 Polyuria=Yes Obesity=No 202 ==> Class=Positive 195 lift:(1.57) lev: (0.14) [70] conv:(9.71)

5 Polydipsia=Yes Alopecia=No 191 ==> Class=Positive 184 lift:(1.57) lev: (0.13) [66] conv:(9.18)

6 Class=Negative 200 ==> Polydipsia=No 192 lift:(1.74) lev:(0.16) [81] conv:(9.96)

7 Polyuria=Yes 258 ==> Class=Positive 243 lift:(1.53) lev:(0.16) [84] conv:(6.2)

8 Sudden weight loss=No Genital thrush=No Irritability=No 203 ==> Obesity=No 191

9 Polyuria=No Polydipsia=No Obesity=No 199 ==> Irritability=No 187 lift:(1.24) lev:(0.07) [36] conv:(3.71)

10 Sudden weight loss=No Muscle stiffness=No 203 ==> Obesity=No 190 Obesity=No 228 lift: (1.12) lev:(0.05) [24] conv:(2.3)

12 Class=Negative 200 ==> Polyuria=No 185 lift:(1.84) lev:(0.16) [84] conv:(6.2)

13 Polyuria=No Irritability=No Obesity=No 203 ==> Polydipsia=No 187 lift:(1.67) lev:(0.14) [74] conv:(5.35)

14 Polyuria=No Polydipsia=No Irritability=No 203 ==> Obesity=No 187 lift:(1.11) lev:(0.04) [18] conv:(2.02)

15 Class=Negative 200 ==> Irritability=No 184 lift:(1.21) lev:(0.06) [32] conv:(2.85)

16 Polyuria=No Polydipsia=No 222 ==> Irritability=No 203 lift:(1.21) lev:(0.07) [34] conv:(2.69)

17 Itching=No Delayed healing=No 203 ==> Genital thrush=No 185 lift: (1.17) lev:(0.05) [27] conv:(2.38)

18 Polydipsia=No Irritability=No 240 ==> Obesity=No 217 lift:(1.09) lev: (0.03) [17] conv:(1.69)

19 Polyuria=No Irritability=No 225 ==> Polydipsia=No 203 lift:(1.63) lev: (0.15) [78] conv:(4.38)

20 Polyuria=No Irritability=No 225 ==> Obesity=No 203 lift:(1.09) lev:(0.03) [16] conv:(1.66)

Biểu diễn tri thức 13

1 Polyuria=Yes Polydipsia=Yes 193 ==> Class=Positive 193 lift:(1.63) lev: (0.14) [74] conv:(74.23)

→ Người có triệu chứng đi tiểu nhiều và thường xuyên thấy khát nước sẽ có nguy cơ mắc bệnh tiểu đường.

2 Polyuria=Yes Alopecia=No 187 ==> Class=Positive 187 lift:(1.63) lev: (0.14) [71] conv:(71.92)

→ Người có triệu chứng đi tiểu nhiều và không có triệu chứng rụng lông tóc nhiều sẽ có nguy cơ mắc bệnh tiểu đường.

3 Polydipsia=Yes 233 ==> Class=Positive 225 lift:(1.57) lev:(0.16) [81] conv:(9.96)

→ Người có triệu chứng thường xuyên thấy khát nước sẽ có nguy cơ mắc bệnh tiểu đường.

4 Polyuria=Yes Obesity=No 202 ==> Class=Positive 195 lift:(1.57) lev: (0.14) [70] conv:(9.71)

→ Người có triệu chứng đi tiểu nhiều và không mắc bệnh béo phì sẽ có nguy cơ mắc bệnh tiểu đường.

5 Polydipsia=Yes Alopecia=No 191 ==> Class=Positive 184 lift:(1.57) lev: (0.13) [66] conv:(9.18)

→ Người có triệu chứng thường xuyên thấy khát nước và không sẽ có triệu chứng rụng lông tóc nhiều sẽ có nguy cơ mắc bệnh tiểu đường.

6 Class=Negative 200 ==> Polydipsia=No 192 lift:(1.74) lev:(0.16) [81] conv:(9.96)

→ Người không mắc bệnh tiểu đường sẽ không có triệu chứng thường xuyên thấy khát nước.

7 Polyuria=Yes 258 ==> Class=Positive 243 lift:(1.53) lev:(0.16) [84] conv:(6.2)

→ Người có triệu chứng đi tiểu nhiều sẽ có nguy cơ mắc bệnh tiểu đường.

8 Sudden weight loss=No Genital thrush=No Irritability=No 203 ==> Obesity=No 191

Người không có dấu hiệu giảm cân đột ngột, không bị triệu chứng tưa miệng và không dễ cáu gắt sẽ không có nguy cơ mắc bệnh béo phì.

9 Polyuria=No Polydipsia=No Obesity=No 199 ==> Irritability=No 187 lift:(1.24) lev:(0.07) [36] conv:(3.71)

Người không có triệu chứng tiểu nhiều, không thường xuyên cảm thấy khát và không mắc bệnh béo phì thường không gặp tình trạng dễ cáu gắt.

10 Sudden weight loss=No Muscle stiffness=No 203 ==> Obesity=No 190 Obesity=No 228 lift: (1.12) lev:(0.05) [24] conv:(2.3)

→ Người không có dấu hiệu cân nặng giảm đột ngột và không có tình trạng dễ cáu gắt sẽ không có nguy cơ mắc bệnh béo phì.

12 Class=Negative 200 ==> Polyuria=No 185 lift:(1.84) lev:(0.16) [84] conv:(6.2)

→ Người không mắc bệnh tiểu đường sẽ không có triệu chứng đi tiểu nhiều lần.

13 Polyuria=No Irritability=No Obesity=No 203 ==> Polydipsia=No 187 lift:(1.67) lev:(0.14) [74] conv:(5.35)

Người không có triệu chứng tiểu nhiều, không dễ cáu gắt và không mắc bệnh béo phì thường không cảm thấy khát nước một cách thường xuyên.

14 Polyuria=No Polydipsia=No Irritability=No 203 ==> Obesity=No 187 lift:(1.11) lev:(0.04) [18] conv:(2.02)

Người không có triệu chứng tiểu nhiều, không thường xuyên cảm thấy khát nước và không dễ cáu gắt sẽ không có nguy cơ mắc bệnh béo phì.

15 Class=Negative 200 ==> Irritability=No 184 lift:(1.21) lev:(0.06) [32] conv:(2.85)

→ Người không mắc bệnh tiểu đường sẽ không có tình trạng dễ cáu gắt.

16 Polyuria=No Polydipsia=No 222 ==> Irritability=No 203 lift:(1.21) lev: (0.07) [34] conv:(2.69)

→ Người không có triệu chứng đi tiểu nhiều và không có triệu chứng thường xuyên thấy khát nước sẽ không có tình trạng dễ cáu gắt.

17 Itching=No Delayed healing=No 203 ==> Genital thrush=No 185 lift:(1.17) lev:(0.05) [27] conv:(2.38)

→ Người không có triệu chứng ngứa ngáy thường xuyên và không có triệu chứng lâu lành vết thương sẽ không mắc bệnh tưa miệng.

18 Polydipsia=No Irritability=No 240 ==> Obesity=No 217 lift:(1.09) lev: (0.03) [17] conv:(1.69)

→ Người không có triệu chứng thường xuyên thấy khát nước và không có tình trạng dễ cáu gắt sẽ không mắc bệnh béo phì.

19 Polyuria=No Irritability=No 225 ==> Polydipsia=No 203 lift:(1.63) lev: (0.15) [78] conv:(4.38)

→ Người không có triệu chứng đi tiểu nhiều và không có tình trạng dễ cáu gắt sẽ không có triệu chứng thường xuyên thấy khát nước.

20 Polyuria=No Irritability=No 225 ==> Obesity=No 203 lift:(1.09) lev: (0.03) [16] conv:(1.66)

→ Người không có triệu chứng đi tiểu nhiều và không có tình trạng dễ cáu gắt sẽ không có nguy cơ mắc bệnh béo phì.

Nhận xét và đánh giá 15

Kết quả từ việc áp dụng thuật toán Apriori trong khai phá luật kết hợp cho thấy mối liên hệ chặt chẽ giữa các triệu chứng như tiểu nhiều, khát nước thường xuyên, dễ cáu gắt và bệnh béo phì với bệnh tiểu đường giai đoạn đầu.

Thuật toán Apriori trong khai phá dữ liệu về bệnh nhân có những hạn chế nhất định, đặc biệt trong ngành y học, nơi yêu cầu độ chính xác cao trong chẩn đoán bệnh Để đạt được điều này, cần một tập dữ liệu lớn với mẫu đa dạng, nhưng thuật toán Apriori gặp khó khăn khi xử lý lượng dữ liệu lớn, điều này ảnh hưởng đến hiệu quả của quá trình khai thác thông tin.

Việc chọn độ hỗ trợ tối thiểu và độ đo lường tối thiểu (sử dụng độ tin cậy) là rất quan trọng để khám phá tri thức chính xác và không bỏ sót thông tin quan trọng Tuy nhiên, đây là một nhiệm vụ không dễ dàng, đòi hỏi sự cân nhắc kỹ lưỡng để lựa chọn được các thông số phù hợp.

Phân lớp cho tập dữ liệu dự báo nguy cơ bệnh tiểu đường giai đoạn đầu 16

Khái niệm 16

Phân lớp (Classification/Categorization) là quá trình xây dựng các mô hình dự báo để mô tả hoặc phát hiện các lớp hoặc khái niệm cho các dự báo tiếp theo Các phương pháp điển hình bao gồm cây quyết định, luật phân lớp và mạng neuron Nội dung chính của phân lớp là học một hàm ánh xạ dữ liệu vào một trong những lớp đã biết.

Bài toán phân lớp nhằm dự đoán các nhãn rời rạc của dữ liệu đầu vào thông qua hai bước chính Bước đầu tiên, thuật toán phân tích tập dữ liệu đã gán nhãn để tìm mô hình phù hợp, được gọi là bước học (learning step) với dữ liệu gán nhãn là dữ liệu huấn luyện (training data) Dữ liệu huấn luyện bao gồm các phần tử dữ liệu có gán nhãn, hay còn gọi là bản ghi (tuple) Bước thứ hai là kiểm tra hiệu năng của mô hình, sử dụng tập dữ liệu kiểm thử (testing set) để đo độ chính xác và tránh hiện tượng quá phù hợp (overfit).

Phân lớp bằng cây quyết định 16

Giải thuật học dựa trên cây quyết định cần thực hiện bước rời rạc hóa khi làm việc với tập dữ liệu có thuộc tính giá trị liên tục Các giải thuật phân lớp như ID3, CART và C4.5 sử dụng phương pháp ăn tham để xây dựng cây từ trên xuống, không quay lui Trong quá trình này, tập dữ liệu huấn luyện được chia thành các tập nhỏ hơn thông qua cơ chế chia để trị.

Cây quyết định là một công cụ quan trọng trong việc phân tích dữ liệu Để nạp dữ liệu từ file mô tả vào Weka, bạn cần bổ sung thông tin về các thuộc tính trong file mô tả vào tập dữ liệu và sau đó chuyển đổi định dạng file thành *.csv.

The input data for predicting the early risk of diabetes can be accessed through the following link: [Diabetes Data](https://archive.ics.uci.edu/ml/machine-learning-databases/00529/diabetes_data_upload.csv).

Dữ liệu mô tả dấu hiệu của bệnh nhân tiểu đường mới bao gồm 520 mẫu và 17 thuộc tính, tất cả đều có kiểu số Sự phân bố của dữ liệu giữa các phân lớp khá cân bằng, không có phân lớp nào chiếm ưu thế Để xử lý các giá trị thiếu, chúng ta sử dụng bộ lọc > không giám sát > thuộc tính > Thay thế giá trị thiếu.

4.2.1 Thuật toán xây dựng cây quyết định Đầu vào: Tập D chứa dữ liệu huấn luyện

Attribute_list chứa danh sách các thuộc tính ứng cử Đầu ra: Cây quyết định

Generate_decision_tree (D, attribute_list)

1 Tạo một nút gốc N cho cây quyết định

2 If toàn bộ dữ liệu trong D đều thuộc lớp C, return nút N là nút lá có nhãn C

3 If attribute_list là rỗng, return nút N với nhãn là lớp xuất hiện nhiều nhất trong D

4 Splitting_attribute = attribute_selection_method ( D, attribute_list ) tìm thuộc tính phân chia tốt nhất

5 Gán cho nút N nhãn là splitting_attribute

6 Attribute_list  attribute_list \ {splitting_attribute} (loại bỏ thuộc tính splitting_attribute khỏi attribute_list)

7 For each giá trị j của thuộc tính splitting_attribute

1 Gọi Dj là tập chứa các phần tử dữ liệu mà thuộc tính splitting_attribute có giá trị j

2 If Dj là rỗng thì thêm một nút lá Nj cho nút N có nhãn là nhãn phổ biến nhất xuất hiện trong D

3 Else gắn cây trả về bởi Generate_decision_tree (Dj, attribute_list) vào nút N

Thuật tốn NạveBayes 18

● Gọi A, B là hai biến cố

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

0 và {B 1 , B 2 , , B n } là một hệ đầy đủ các biến cố:

Tổng xác suất của hệ bằng 1:

Từng đôi một xung khắc: n

Trong bài toán phân lớp, A được xem là chứng cứ (evidence) và là một phần tử dữ liệu, trong khi B là giả thiết cho rằng A thuộc về một lớp C nào đó Mục tiêu của bài toán là xác định xác suất P(B|A), tức là xác suất để giả thiết B đúng khi có chứng cứ A thuộc lớp C, với điều kiện đã biết thông tin mô tả A P(B|A) chính là xác suất hậu nghiệm (posterior probability) của B dựa trên điều kiện A.

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

1 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}

2 Giả sử có m lớp C1, C2, , Cm Cho một phần tử dữ liệu X, bộ phân lớp sẽ gán nhãn cho X là 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 X thuộc vào lớp Ci nếu và chỉ nếu:

Giá trị này sẽ tính dựa trên định lý Bayes.

3 Để tìm xác suất lớn nhất, ta nhận thấy các giá trị P(X) là giống nhau với mọi lớp nên không cần tính Do đó ta chỉ cần tìm giá trị lớn nhất của P(X|C i) * P(Ci) Chú ý rằng P(Ci) được ước lượng bằng |Di|/|D|, trong đó Di là tập các phần tử dữ liệu thuộc lớp Ci Nếu xác suất tiền nghiệm P(Ci) cũng không xác n định được thì ta coi chúng bằng nhau P(C1) = P(C2) = = P(Cm), khi đó ta chỉ cần tìm giá trị P(X|Ci) lớn nhất.

4 Khi số lượng các thuộc tính mô tả dữ liệu là lớn thì chi phí tính toàn P(X|Ci) là rất lớn, dó đó có thể giảm độ phức tạp của thuật toán Naive Bayes giả thiết các thuộc tính độc lập nhau Khi đó ta có thể tính:

Tiền xử lý dữ liệu cho thuật toán phân lớp 20

Tập dữ liệu này bao gồm 17 thuộc tính, trong đó có 16 thuộc tính rời rạc với các giá trị có hoặc không, dương tính hoặc âm tính Đặc biệt, thuộc tính Age (tuổi) là dữ liệu liên tục, dao động từ 16 đến 90 tuổi.

Chúng ta cần rời rạc hóa dữ liệu thuộc tính tuổi bằng phương pháp bins, phân chia độ tuổi từ 16 đến 90 thành ba nhóm: trẻ (dưới 40 tuổi), trung niên (từ 40 đến 65 tuổi) và già (trên 65 tuổi).

Hình 4.1 Thuộc tính Age trước khi rời rạc hóa dữ liệu (độ tuổi min = 16 và max = 90)

Hình 4.2 Thuộc tính Age (tuổi) sau khi được rời rạc hóa dữ liệu thành 3 bins.

Khai phá dữ liệu 21

Sau khi đã làm xong bước tiền xử lý dữ liệu, ta lần lượt chạy các giải thuật J48 và NaiveBayes trên phần mềm Weka để khai phá dữ liệu.

Bảng 4.1 Kết quả phân lớp sau khi chạy thuật toán NaiveBayes

Class (lớp) Positive (dương tinh) Negative (âm tinh)

● Sudden weight loss (sút cân đột ngột)

● Genital thrush (mọc mụn ở miệng)

● Delayed healing (vết thương lâu lành)

● Partial paresis (chứng liệt một phần)

● Muscle stiffness (co cứng cơ bắp)

Hình 4.3 Độ chính xác khi sử dụng thuật toán NaiveBaye

4.5.2 Thuật toán J48 - cây quyết định

Kết quả phân lớp sau khi sử dụng thuật toán J48 cây quyết định

Hình 4.4 Cây quyết định sau khi chạy thuật toán J48

Hình 4.5 Độ chính xác khi sử dụng thuật toán cây quyết định J48

Biểu diễn tri thức 26

4.6.1 Phát hiện tri thức sau khi dùng thuật tốn Nạve Bayes

Nhìn vào bảng 4.2 kết quả phân lớp sau khi chạy thuật toán NaiveBayes chúng ta có thể phát hiện được các tri thức như sau:

● Nếu xét về độ tuổi thì độ tuổi trên 65 tuổi có tỷ lệ mắc tiểu đường cao nhất 68%

● Nếu xét về giới tính thì nữ giới có tỷ lệ mắc tiểu đường cao hơn nam giới

● Nếu người nào có Polyuria thì tỷ lệ cao là mắc tiểu đường

4.6.2 Phát hiện tri thức sau khi dùng thuật toán cây quyết định J48

Sau khi nhìn vào cây quyết định được sinh ra từ thuật toán J48 ta có thể phát hiện ra được các tri thức như sau:

● Nếu người nào mà có đa niệu và có Polydipsia thì sẽ mắc tiểu đường

● Nếu người nào không có đa niệu nhưng có Polydipsia kèm theo cáu gắt thì chuẩn đoán mắc tiểu đường

● Nếu người nào mà không có đa niệu không có Polydipsia giới tính nữ không hói đầu mà có mắt mờ thì chuẩn đoán mắc tiểu đường

Đánh giá mô hình bằng phương pháp Hold-out: 26

Chúng ta sẽ chia dữ liệu thành 2 phần: 50% để xây dựng mô hình phân lớp (train), 50% để kiểm tra (test).

Bảng 4.2 Đánh giá thuật tốn Nạve Bayes và Bảng quyết định (J48)

Classifier Precision Recall F-measure Confusion matrix

20 180 | b = Negative J48 decision tree 0,969 0,969 0,969 a b  classified as

Mô hình Naive Bayes và J48 không đạt được kết quả phân lớp hoàn toàn chính xác Qua cây quyết định, chúng ta có thể xác định liệu một người có phải là bệnh nhân tiểu đường mới hoặc có nguy cơ trở thành bệnh nhân tiểu đường bằng cách đánh giá các triệu chứng và áp dụng các mẹo hữu ích để kiểm soát các yếu tố nguy cơ.

Về đặc điểm đa phần những người Polyuria ( Đa niệu) là Yes thường mắc bệnh theo chiều hướng tích cực.

Sự bùng nổ thông tin và ứng dụng công nghệ thông tin trong mọi lĩnh vực đã tạo ra nhu cầu cao về xử lý dữ liệu lớn để cung cấp thông tin hữu ích một cách tự động, nhanh chóng và chính xác Việc khai phá dữ liệu trở thành kỹ thuật thiết yếu trong quá trình này, không chỉ trong lĩnh vực công nghệ thông tin mà còn trong nhiều lĩnh vực khác, bao gồm y tế.

Trong lĩnh vực y tế, khai thác dữ liệu cung cấp tri thức quý giá về bệnh tật Mặc dù còn một số hạn chế như lựa chọn thuật toán phù hợp, yêu cầu lượng lớn dữ liệu bệnh nhân và tốc độ xử lý máy tính, nhưng kỹ thuật này đã hỗ trợ đáng kể trong việc chẩn đoán bệnh, giúp bác sĩ nâng cao độ chính xác và rút ngắn thời gian chẩn đoán cho bệnh nhân.

Ngày đăng: 22/10/2021, 13:28

HÌNH ẢNH LIÊN QUAN

Bảng 2.1 Liệt kê các thuộc tính và các giá trị của từng thuộc tính trong tập dữ liệu - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Bảng 2.1 Liệt kê các thuộc tính và các giá trị của từng thuộc tính trong tập dữ liệu (Trang 8)
Hình 3.1 Tập dữ liệu về bệnh tiểu đường trước khi được tiền xử lý - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Hình 3.1 Tập dữ liệu về bệnh tiểu đường trước khi được tiền xử lý (Trang 10)
Hình 3.2 Tiền xử lý dữ liệu trên phần mềm Weka - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Hình 3.2 Tiền xử lý dữ liệu trên phần mềm Weka (Trang 11)
Hình 3.3 Rời rạc hĩa dữ liệu của thuộc tính tuổi trên phần mềm Weka - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Hình 3.3 Rời rạc hĩa dữ liệu của thuộc tính tuổi trên phần mềm Weka (Trang 11)
Hình 3.4 Thuộc tính tuổi sau khi được tiền xử lý chia thành 3 bins - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Hình 3.4 Thuộc tính tuổi sau khi được tiền xử lý chia thành 3 bins (Trang 12)
Hình 3.5 Sử dụng thuật tốn Apriori - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Hình 3.5 Sử dụng thuật tốn Apriori (Trang 13)
Hình 3.6 Thiết lập các thơng số minSup và minConf - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Hình 3.6 Thiết lập các thơng số minSup và minConf (Trang 13)
Hình 3.7 Kết quả sau khi chạy thuật tốn Apriori – luật kết hợp - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Hình 3.7 Kết quả sau khi chạy thuật tốn Apriori – luật kết hợp (Trang 14)
Hình 4.1 Thuộc tính Age trước khi rời rạc hĩa dữ liệu (độ tuổi min = 16 và max = 90) - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Hình 4.1 Thuộc tính Age trước khi rời rạc hĩa dữ liệu (độ tuổi min = 16 và max = 90) (Trang 24)
Hình 4.2 Thuộc tính Age (tuổi) sau khi được rời rạc hĩa dữ liệu thành 3 bins. - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Hình 4.2 Thuộc tính Age (tuổi) sau khi được rời rạc hĩa dữ liệu thành 3 bins (Trang 25)
Bảng 4.1 Kết quả phân lớp sau khi chạy thuật tốn NaiveBayes - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Bảng 4.1 Kết quả phân lớp sau khi chạy thuật tốn NaiveBayes (Trang 25)
Hình 4.3 Độ chính xác khi sử dụng thuật tốn NaiveBaye - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Hình 4.3 Độ chính xác khi sử dụng thuật tốn NaiveBaye (Trang 27)
Hình 4.4 Cây quyết định sau khi chạy thuật tốn J48 - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Hình 4.4 Cây quyết định sau khi chạy thuật tốn J48 (Trang 29)
Hình 4.5 Độ chính xác khi sử dụng thuật tốn cây quyết định J48 - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
Hình 4.5 Độ chính xác khi sử dụng thuật tốn cây quyết định J48 (Trang 29)
4.7 Đánh giá mơ hình bằng phương pháp Hold-out: - Dự báo nguy cơ tiểu đường giai đoạn đầu (UCI) bằng thuật toán phân lớp và luật kết hợp
4.7 Đánh giá mơ hình bằng phương pháp Hold-out: (Trang 30)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w