Sử dụng thuật toán phân cụm k means Để dự Đoán kết quả breast cancer tại bệnh viện hùng vương

77 4 0
Tài liệu đã được kiểm tra trùng lặp
Sử dụng thuật toán phân cụm k means Để dự Đoán kết quả breast cancer tại bệnh viện hùng vương

Đ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

Với sự phát triển không ngừng của Công nghệ thông tin (CNTT) chúng ta đang từng bước bước sang thời đại công nghệ kỹ thuật số. Công nghệ thông tin đã có tác động rất lớn đến nhiều lĩnh vực khác nhau trong đời sống, xã hội, kinh tế - chính trị. Đặc biệt là trong lĩnh vực “Y tế”, ứng dụng CNTT để quản lý hồ sơ bệnh nhân, theo dõi lịch sự bệnh tật, phân tích dữ liệu và đưa ra quyết định điều trị chính xác. Và như chúng ta đã biết, bệnh Breast Cancer (Ung thư vú) là một trong những bệnh ung thư phổ biến nhất ở phụ nữ trên toàn thế giới. Tuy nhiên, nhờ vào sự phát triển của CNTT trong lĩnh vực y tế, việc áp dụng các thuật toán phân tích dữ liệu trong Khai phá dữ liệu (KPDL) để dự đoán kết quả điều trị bệnh Breast Cancer sẽ giúp cho việc chẩn đoán bệnh và điều trị trở nên chính xác hơn, giảm thiểu sai sót và tăng cơ hội chữa khỏi bệnh cho bệnh nhân. Chính vì vậy, nhóm chúng em quyết định chọn đề tài “Sử dụng thuật toán phân cụm K-Means để dự đoán kết quả Breast Cancer tại bệnh viện Hùng Vương”. Thuật toán này có khả năng phân loại dữ liệu thành các cụm khác nhau, từ đó xác định mô hình chuẩn đoán chính xác nhất sự hiện diện của một khối u ác tính trong tập dữ liệu Breast Cancer. Do đó, đề tài này có ý nghĩa đáng kể trong việc ứng dụng CNTT vào lĩnh vực y tế, đồng thời, hứa hẹn mang lại nhiều đóng góp cho việc phòng chống và điều trị bệnh Breast Cancer.

Trang 2

Để hoàn thành đồ án kết thúc môn học Khai phá dữ liệu với đề tài “Sử dụng thuậttoán phân cụm K-means để dự đoán kết quả Breast Cancer tại bệnh viện Hùng Vương”,

chúng em xin chân thành cảm ơn và biết ơn sâu sắc đến Thạc sĩ Thái Thị Ngọc Lý – Giảng viên Bộ môn Khai phá dữ liệu đã tận tình hướng dẫn, chỉ bảo và giúp đỡ chúng em trong quá trình thực hiện bài đồ án này.

Tuy nhiên, do sự hiểu biết cũng như kinh nghiệm của chúng em còn hạn chế Chúng em rất mong sẽ được cô quan tâm và đóng góp ý kiến để chúng em hoàn thiện tốt hơn cho các bài báo cáo, đồ án và nghiên cứu tiếp theo của mình.

Chúng em xin kính chúc Giảng viên phụ trách học phần – Thạc sĩ Thái Thị Ngọc Lý, cùng với giảng viên tham gia chấm điểm đồ án môn học này lời chúc sức khỏe và hạnh phúc nhất.

Chúng em xin chân thành cảm ơn!

Trang 7

Bảng 2.1: Loại hóa chất và đặc trưng của từng chất 9

Bảng 2.2: Khoảng cách của từng cụm tới các mẫu 9

Bảng 2.8: Kết quả phân cụm sao 2 lần lặp 12

Bảng 4.1: Ý nghĩa và giá trị của các trường giá trị 17

Bảng 4.2: Ý nghĩa của các thuật ngữ trong tập giá trị 19

DANH MỤC HÌNH ẢN

Trang 8

Hình 2.2: Qui trình khai phá dữ liệu 5

Hình 3.1: Giao diện Weka 14

Hình 4.1: Tập dữ liệu Breast Cancer 20

Hình 4.2: Thao tác xóa dòng dữ liệu 21

Hình 4.3: Bấm OK thực hiện thay đổi 21

Hình 4.4: Chọn filter “Remove” 22

Hình 4.5: Nhập chỉ mục của thuộc tính “SampleID” 22

Hình 4.6: Chức năng “Ignore attributes” trong cluster mode 23

Hình 4.7: Nút “Save” trên thanh công cụ 24

Hình 4.8: Đặt tên file và lưu dưới dạng csv 24

Hình 4.9: Xử lý dữ liệu trên Excel với chức năng Text to Column 25

Hình 4.10: Chọn “Comma” để tách cột 25

Hình 4.11: Kết quả sau khi tách cột 26

Hình 4.12: Tạo cơ sở dữ liệu trên SQL 26

Hình 4.13: Thực hiện các thao tác để chèn tập tin 27

Hình 4.14: Chọn đường dẫn đến tập tin cần chèn lên SQL 27

Hình 4.15: Kết quả chèn tập tin thành công 28

Hình 4.16: Nhập URL, Username và Password để tiến hành kết nối 28

Hình 4.17: Chọn nút kết nối cơ sở dữ liệu 29

Hình 4.18: Thực hiện câu truy vấn SELECT 29

Trang 9

Hình 4.20: Sử dụng tập dữ liệu kết nối trên SQL 30

Hình 4.21: Chọn thuật toán SimpleKMeans 31

Hình 4.22: Điều chỉnh 2 thông số: distanceStdDevs, numClusters 32

Hình 4.23: Chọn “Use training set” để phân cụm 33

Hình 4.24: Loại bỏ thuộc tính Class 33

Hình 4.31: Lệnh chuyển đổi tập dữ liệu thành khung dữ liệu 37

Hình 4.32: Kết quả chuyển đổi 38

Hình 4.33: Lệnh xóa trường dữ liệu “Class” 38

Hình 4.34: Kết quả thống kê khung dữ liệu của BreastCancer sau khi loại bỏ biến Class 39

Hình 4.35: Áp dụng phân cụm Kmeans với số cụm là 2, số lần lặp là 20 39

Hình 4.36: Đánh giá mô hình dựa trên thuộc tính Class 40

Hình 4.37: Kết quả sau khi đánh giá 40

Hình 4.38: Kết quả phân bố của từng lớp trong từng cụm 41

Hình 4.39: Tỷ lệ và số lượng mẫu phân loại 41

Hình 4.40: Kết quả sau khi áp dụng phân cụm k-means 42

Trang 10

Hình 4.42: Kết quả khi thực hiện lệnh 43

Hình 4.43: Lệnh xem trọng tâm các cụm khi áp dụng phân cụm Kmeans 43

Hình 4.44: Lệnh xác thực chéo kết quả phân cụm với tập dữ liệu gốc 44

Hình 4.45: Kết quả của phép so sánh thông qua ma trận 44

Hình 4.46: Thao tác xem biểu đồ trực quan trên Weka 45

Hình 4.47: Lựa chọn tiêu chí Clump-Thickness và Class 45

Hình 4.48: Lệnh xem sự tương quan giữa thuộc tính Uniformity.of.Cell.Size và

Hình 4.51: Mô hình sự tương quan giữa thuộc tính Clump.Thickness và Mitoses 48

Hình 4.52: Minh họa kết quả hiển thị 100 dòng dữ liệu mẫu 49

Hình 4.53: Lệnh cài đặt package “party” và tải “party” vào phiên làm việc 50

Hình 4.54: Lệnh áp dụng cây quyết định và các lớp được dự đoán 50

Hình 4.55: Thực hiện chọn “KnowledgeFlow” 51

Hình 4.56: Xác định nguồn và định dạng dữ liệu là ArffLoader 51

Hình 4.57: Chọn đường dẫn đến tập tin cần mở 52

Hình 4.58: CrossValidationFlodMaker để đánh giá mô hình 52

Hình 4.59: Nạp dữ liệu từ ArffLoader vào CrossValidationFlodMaker 53

Hình 4.60: Chọn thuật toán SimpleKMeans để xây dựng mô hình 53

Trang 11

Hình 4.62: Nạp dữ liệu bằng testSet cho SimpleKMeans 54

Hình 4.63: Kết quả sau khi nạp dữ liệu 54

Hình 4.64: Điều chỉnh các thông số 55

Hình 4.65: Chọn ClusterPerformanceEvaluator để đánh giá hiệu quả 56

Hình 4.66: Chọn TextViewer để xem kết quả 56

Hình 4.67: Kết quả sau khi Run mô hình 57

Hình 4.68: Chọn “Show results” để xem kết quả đánh giá 57

Hình 4.69: Kết quả trên tập Train 58

Hình 4.70: Kết quả trên tập Test 58

Trang 12

LỜI CẢM ƠN i

NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN ii

DANH MỤC TỪ VIẾT TẮT iii

DANH MỤC THUẬT NGỮ ANH – VIỆT iv

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2

2.1 Kho dữ liệu (Data Warehouse – DW) 2

2.1.1 Khái niệm kho dữ liệu 2

2.1.2 Cấu trúc dữ liệu cho kho dữ liệu 2

2.2 Lược đồ kho dữ liệu (Data Warehouse Schema – DWS) 3

2.2.1 Khái niệm lược đồ kho dữ liệu 3

2.2.2 Các dạng lược đồ dữ liệu đa chiều 3

2.3 Khái quát khai phá dữ liệu 4

2.3.1 Khái niệm 4

2.3.2 Qui trình khai phá dữ liệu 4

2.3.3 Các phương pháp khai phá dữ liệu 5

2.3.4 Các ứng dụng của khai phá dữ liệu 6

2.4 Phương pháp khai phá dữ liệu được sử dụng trong đề tài 6

Trang 13

2.4.2 Giới thiệu về thuật toán K-Means 7

2.4.3 Thuật toán K-Means 7

2.4.4 Ưu và nhược điểm của thuật toán K-Means 8

4.3.2 Xóa bỏ thuộc tính không quan trọng 22

4.3.3 Loại bỏ thuộc tính “Class” (phân lớp) 23

4.3.4 Kết nối cơ sở dữ liệu Weka với SQL 23

4.4 Lập mô hình 30

4.4.1 Lập mô hình trên Weka 30

4.4.2 Lập mô hình trên R 36

4.5 Đánh giá mô hình 39

4.5.1 Đánh giá mô hình trên Weka 39

4.5.2 Đánh giá mô hình trên R 41

Trang 14

4.6.1 Triển khai mô hình trên Weka 44

4.6.2 Triển khai mô hình trên R 47

5.2.1 Hướng mở rộng của đề tài 60

TÀI LIỆU THAM KHẢO 61

Trang 15

CHƯƠNG 1: TỔNG QUAN

1.1 Tổng quan về đề tài

Với sự phát triển không ngừng của Công nghệ thông tin (CNTT) chúng ta đang từng bước bước sang thời đại công nghệ kỹ thuật số Công nghệ thông tin đã có tác động rất lớn đến nhiều lĩnh vực khác nhau trong đời sống, xã hội, kinh tế - chính trị Đặc biệt là trong lĩnh vực “Y tế”, ứng dụng CNTT để quản lý hồ sơ bệnh nhân, theo dõi lịch sự bệnh tật, phân tích dữ liệu và đưa ra quyết định điều trị chính xác.

Và như chúng ta đã biết, bệnh Breast Cancer (Ung thư vú) là một trong những bệnh ung thư phổ biến nhất ở phụ nữ trên toàn thế giới Tuy nhiên, nhờ vào sự phát triển của CNTT trong lĩnh vực y tế, việc áp dụng các thuật toán phân tích dữ liệu trong Khai phá dữ liệu (KPDL) để dự đoán kết quả điều trị bệnh Breast Cancer sẽ giúp cho việc chẩn đoán bệnh và điều trị trở nên chính xác hơn, giảm thiểu sai sót và tăng cơ hội chữa khỏi bệnh cho bệnh nhân

Chính vì vậy, nhóm chúng em quyết định chọn đề tài “Sử dụng thuật toán phâncụm K-Means để dự đoán kết quả Breast Cancer tại bệnh viện Hùng Vương” Thuật

toán này có khả năng phân loại dữ liệu thành các cụm khác nhau, từ đó xác định mô hình chuẩn đoán chính xác nhất sự hiện diện của một khối u ác tính trong tập dữ liệu Breast Cancer Do đó, đề tài này có ý nghĩa đáng kể trong việc ứng dụng CNTT vào lĩnh vực y tế, đồng thời, hứa hẹn mang lại nhiều đóng góp cho việc phòng chống và điều trị bệnh Breast Cancer.

1.2 Phạm vi của đề tài

- Sử dụng tập dữ liệu “breastcancer.arff” có sẳn trên ứng dụng Weka để nghiên cứu về bệnh Breast Cancer tại bệnh viện Hùng Vương

- Áp dụng thuật toán phân cụm K-Means để phân loại dữ liệu và dự đoán kết quả bệnh án của bệnh nhân trên phần mềm Weka và RStudio.

Trang 16

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 Kho dữ liệu (Data Warehouse – DW)

Kho dữ liệu (Data Warehouse) là một hệ thống lưu trữ dữ liệu Nó là một cơ sở dữ liệu lớn, được tích hợp từ nhiều nguồn dữ liệu khác nhau và được tổ chức một cách có hệ thống Kho dữ liệu giúp cho việc truy xuất, xử lý và phân tích dữ liệu trở nên dễ dàng hơn, giúp người sử dụng có thể hiểu và phân tích thông tin một cách nhanh chóng và chính xác

2.1.2.Cấu trúc dữ liệu cho kho dữ liệu

Dữ liệu trong kho dữ liệu được thể hiện dưới dạng đa chiều (Multi Dimension) gọi là khối (cube) Mỗi chiều mô tả một đặc trưng nào đó của dữ liệu.

Hình 2.1: Cấu trúc kho dữ liệu đa chiều

Một số thuật ngữ cơ bản trong mô hình dữ liệu đa chiều:

- Dimension (Chiều dữ kiện): là các đối tượng hoặc thuộc tính mô tả các đặc

tính của các sự việc hay sự kiện trong hệ thống Ví dụ về Dimension có thể là địa điểm, sản phẩm, khách hàng, nhân viên…

Trang 17

- Fact (Dữ kiện): dùng để chỉ các thông tin chi tiết và cụ thể về các sự kiện hoặc

hoạt động được lưu trữ trong một hệ thống Nó bao gồm các giá trị của

Dimension và Measure Điều này có nghĩa là một bảng Fact có thể được xácđịnh từ Dimension và Measure đã cho Ví dụ như một đơn hàng, một giao dịch

tài chính và cung cấp thông tin về các chi tiết của sự kiện đó như ngày thực

hiện… Các bảng Fact thường có kích thước lớn hơn các bảng Dimension.

- Measure (Độ đo): là giá trị số học đại diện cho một thuộc tính đo lường được

lưu trữ trong bảng Fact Các giá trị Measure thường được sử dụng để thực hiện

các tính toán và phân tích dữ liệu Ví dụ như số lượng sản phẩm bán ra, doanh thu, chi phí, lợi nhuận, tỷ lệ giảm giá…

2.2 Lược đồ kho dữ liệu (Data Warehouse Schema – DWS)

Data Warehouse Schema (cấu trúc Data Warehouse) là lược đồ mô tả logic của toàn bộ cơ sở dữ liệu Nó bao gồm tên, mô tả các bản ghi và cách mà các bảng và các mối quan hệ giữa chúng được tổ chức trong kho dữ liệu (Data Warehouse) để hỗ trợ các truy vấn phức tạp và hiệu quả.

- Star Schema: Là một cấu trúc dữ liệu đơn giản nhất, bao gồm một bảng Facts

(thông tin số liệu) và các bảng Dimension (thông tin chiều) Mối quan hệ giữa chúng được thiết lập bằng các khóa ngoại.

- Snowflake Schema: Là một cấu trúc dữ liệu tương tự như Star Schema, nhưng

các bảng Dimension được phân chia thành các bảng con Mỗi bảng con liên kết với một bảng Dimension cha thông qua khóa ngoại.

- Galaxy Schema: Là một cấu trúc dữ liệu phức tạp nhất, bao gồm nhiều bảng

Facts và các bảng Dimension Mỗi bảng Facts được liên kết với nhiều bảng Dimension khác nhau thông qua các khóa ngoại.

Trang 18

2.3 Khái quát khai phá dữ liệu

Khai phá dữ liệu được định nghĩa là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu, kho dữ liệu Cụ thể hơn đó là tiến trình trích lọc, sản sinh những tri thức hoặc những mẫu tiềm ẩn, chưa biết nhưng hữu ích từ các cơ sở dữ liệu lớn Đồng thời là tiến trình khai quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính khái quát, tính qui luật hỗ trợ tích cực cho các tiến trình ra quyết định.

Để dễ hình dung ta có thể sử dụng một ví dụ đơn giản như sau: Khai phá dữ liệu được ví như tìm một cây kim trong đống cỏ khô Trong ví dụ, cây kim là một mảnh nhỏ tri thức hoặc một thông tin có giá trị và đống cỏ khô là một kho cơ sở dữ liệu rộng lớn Như vậy, những thông tin có giá trị tiềm ẩn trong kho cơ sở dữ liệu sẽ được chiết xuất ra và sử dụng một cách hữu ích nhờ khai phá dữ liệu Chức năng khai phá dữ liệu gồm có gộp nhóm phân loại, dự báo, dự đoán và phân tích các liên kết.

Nguồn dữ liệu phục vụ cho KPDL có thể là các CSDL lớn hay các kho dữ liệu có hay không cấu trúc Các tác vụ khai phá dữ liệu có thể được phân thành hai loại: miêu tả và dự báo hoặc các đặc tính chung của dữ liệu trong CSDL hiện có.

Khai phá dữ liệu là một giai đoạn quan trọng trong quá trình khám phá tri thức Về bản chất là giai đoạn duy nhất tìm ra được thông tin mới, thông tin tiềm ẩn có trong cơ sở dữ liệu chủ yếu phục vụ cho mô tả và dự đoán

Mô tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc tính dữ liệu trong kho dữ liệu mà con người có thể hiểu được

Dự đoán là dựa trên những dữ liệu hiện thời để dự đoán những quy luật được phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu trên cơ sở đó chiết xuất ra các

Trang 19

mẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai của các biến quan tâm.

Hình 2.2: Qui trình khai phá dữ liệu

- Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết - Xác định các dữ liệu liên quan: Dùng để xây dựng giải pháp.

- Thu thập và tiền xử lý dữ liệu: Thu thập các dữ liệu liên quan và tiền xử lý chúng sao cho thuật toán khai phá dữ liệu có thể hiểu được Đây là một quá trình rất khó khăn, có thể gặp phải rất nhiều các vướng mắc như: dữ liệu phải được sao ra nhiều bản (nếu được chiết xuất vào các tệp), quản lý tập các dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay đổi)

- Thuật toán khai phá dữ liệu: Lựa chọn thuật toán khai phá dữ liệu và thực hiện việc khai phá dữ liệu để tìm được các mẫu có ý nghĩa, các mẫu này được biểu diễn dưới dạng luật kết hợp, cây quyết định tương ứng với ý nghĩa của nó.

Với hai mục đích khai phá dữ liệu là Mô tả và Dự đoán, người ta thường sử dụng các phương pháp sau cho khai phá dữ liệu: Luật kết hợp (Association rules), Phân lớp (Classfication), Hồi qui (Regression), Trực quan hóa (Visualiztion), Phân cụm (Clustering), Tổng hợp (Summarization)…

Trang 20

Có nhiều phương pháp khai phá dữ liệu được nghiên cứu ở trên, trong đó có ba phương pháp được các nhà nghiên cứu sử dụng nhiều nhất đó là: Luật kết hợp, Phân lớp dữ liệu và Phân cụm dữ liệu.

Khai phá dữ liệu là một lĩnh vực mới phát triển những thu hút đựợc khá nhiều nhà nghiên cứu nhờ vào những ứng dụng thực tiễn của nó Sau đây là một số lĩnh vực ứng dụng thực tế điển hình của khai phá dữ liệu:

- Phân tích dữ liệu và hỗ trợ ra quyết định.

- Phân lớp văn bản, tóm tắt văn bản, phân lớp các trang Web và phân cụm ảnh màu.

- Chuẩn đoán triệu chứng, phương pháp trong điều trị y học.

- Tìm kiếm, đối sánh các hệ Gene và thông tin di truyền trong sinh học.

- Phân tích tình hình tài chính, thị trường, dự báo gía cổ phiếu trong tài chính, thị trường và chứng khoán.

- Phân tích dữ liệu marketing, khách hàng

- Điều khiển và lập lịch trình - Bảo hiểm - Giáo dục…

2.4 Phương pháp khai phá dữ liệu được sử dụng trong đề tài

Phương pháp phân cụm là một kỹ thuật trong khai phá dữ liệu, nhằm tìm cách phân loại các đối tượng trong một tập dữ liệu thành các nhóm (cụm) dựa trên sự tương đồng giữa chúng Các đối tượng trong cùng một nhóm phải có những đặc trưng chung

và khác biệt so với các nhóm khác Phân cụm dữ liệu là một ví dụ của phương pháphọc không giám sát (Unsupervised).

Có nhiều phương pháp phân cụm khác nhau, trong đó thuật toán phân cụm K-Means là một trong những phương pháp phổ biến nhất.

Trang 21

2.4.2.Giới thiệu về thuật toán K-Means

Phương pháp K-Means phân hoạch các đối tượng vào các cụm dựa trên khoảng cách của các đối tượng đó đến trọng tâm của các cụm Một đối tượng được phân vào một cụm nếu khoảng cách từ đối tượng đó đến cụm đang xét là nhỏ nhất Sau đó các trọng tâm được cập nhật, quá trình lặp đi lặp lại cho đến khi không có sự thay đổi về trọng tâm.

Trong thuật toán phân cụm K-Means, n đối tượng được phân cụm thành k cụm hoặc phân vùng trên cơ sở các thuộc tính, trong đó k < n và k là một số nguyên dương Việc nhóm các đối tượng được thực hiện bằng cách giảm thiểu tổng bình phương khoảng cách, nghĩa là khoảng cách Euclide giữa dữ liệu và trọng tâm cụm tương ứng.

Hoạt động của thuật toán K-Means bao gồm 5 bước:

Bước 1: Chọn ngẫu nhiên k điểm làm tâm cụm {Ci} i = 1, 2…k

k trọng tâm (hoặc cụm) được bắt đầu và sau đó k mẫu huấn luyện đầu tiên trong số n mẫu dữ liệu được lấy dưới dạng cụm một phần tử.

Bước 2: Tính toán khoảng cách giữa các tâm cụm và từng mẫu

Với mọi k, tính khoảng cách giữa nó với các trọng tâm của các cụm Gán nó vào cụm có trọng tâm gần nó nhất theo phép đo khoảng cách.

Một số phép đo khoảng cách:

Trang 22

- Euclidean distance:

Euclidean dist((x, y), (a, b)) = √(x−a)²+( y −b)²

- Manhattan distance (L1-distance):

Manhattan dist((x, y), (a, b)) = | x – a | + | y – b |

- Chebyshev distance:

Chebyshev dist((r1, f1), (r2, f2)) = max (|r2-r1|, |f2-f1|)

Bước 3: Nhóm các tâm cụm vào nhóm gần nhất.

Bước 4: Cập nhật lại tâm cụm bằng trung bình cộng các quan sát.Bước 5: Điều kiện dừng.

Lặp lại bước 2,3 và 4 cho đến khi không có sự thay đổi giữa các điểm tâm cụm giống với các điểm tâm cụm lần lặp trước.

- Tương đối nhanh Độ phức tạp của thuật toán là O(tkn), trong đó: + n: Số đối tượng trong không gian dữ liệu.

+ k: Số cụm cần phân hoạch.

+ t: Số lần lặp (t thường khá nhỏ so với n) - Thường kết thúc ở điểm tối ưu cục bộ.

- K – Means phù hợp với các cụm có dạng hình cầu.

- Không đảm bảo đạt được độ tối ưu toàn cục và kết quả đầu ra phụ thuộc nhiều vào việc chọn k điểm khởi đầu

- Cần phải xác định trước số cụm.

- Khó xác định số cụm thực sự mà không gian dữ liệu có Do đó có thể phải thử với các giá trị k khác nhau.

Trang 23

- Khó phát hiện các loại cụm có hình dạng phức tạp khác nhau và nhất là các dạng cụm không lồi.

- Không thể xử lý nhiễu và mẫu cá biệt - Chỉ có thể áp dụng khi tính được trọng tâm.

Giả sử ta có 4 loại hóa chất A, B, C, D mỗi loại được biểu diễn bởi 2 đặc trưng X và Y như sau Mục đích của ta là nhóm các hóa chất đã cho vào 2 nhóm (k=2) dựa vào các đặc trưng của chúng

Bảng 2.1: Loại hóa chất và đặc trưng của từng chất

Bước 1: Đề bài cho sẳn, chúng ta cần nhóm các hóa chất đã cho vào 2 nhóm (k=2).

Ta chọn ngẫu nhiên k tâm cụm:

- Tâm cụm 1 (C1) chọn loại hóa chất A(1,1) - Tâm cụm 2 (C2) chọn loại hóa chất B(2,1).

Bước 2: Tính khoảng cách của từng cụm tới các mẫu

Bảng 2.2: Khoảng cách của từng cụm tới các mẫu

Trang 24

Bước 4: Cập nhật lại tâm cụm bằng trung bình cộng các quan sát

Cụm C1 chỉ có 1 loại hóa chất A nên tâm cụm 1 không đổi, C1 (1,1) Tâm cụm 2 được tính như sau:

C2 = (2+4+5¿¿¿3 ,1+ 3+4

3 )=(113 , 8

3)=(3.67, 2.67)

Bước 5: Lặp lại bước 2 (lặp lần 1)

Bảng 2.4: Khoảng cách của từng cụm tới các mẫu

Trang 25

Bước 5: Lặp lại bước 2 (lặp lần 2).

Bảng 2.6: Khoảng cách của từng cụm tới các mẫu

Trang 26

Tâm cụm 2 được tính như sau: C2 = (4+5¿¿¿2 ,3+4

2 )=(92, 7

Bước 5: Ta thấy tâm cụm (lặp lần 2) = tâm cụm (lặp lần 1), nên thuật toán dừngvà kết quả phân cụm như sau:

Bảng 2.8: Kết quả phân cụm sao 2 lần lặp

Trang 27

CHƯƠNG 3: PHẦM MỀM KHAI PHÁ DỮ LIỆU MÃNGUỒN MỞ

3.1 WEKA

WEKA - Waikato Environment for Knowledge Analysis là phần mềm khai phá dữ liệu, thuộc dự án nghiên cứu của đại học Waikato, New Zealand Là một phần mềm mã nguồn mở miễn phí khai phá dữ liệu, được xây dựng bằng ngôn ngữ lập trình Java, theo kiến trúc hướng đối tượng, được tổ chức thành thư viện phục vụ cho lĩnh vực học máy và khai phá dữ liệu.

Weka cung cấp các thuật toán học tập có thể dễ dàng áp dụng cho các bộ dữ liệu (dataset) Nó cũng bao gồm một loạt các công cụ để chuyển đổi các bộ dữ liệu như các thuật toán để phân loại và lấy mẫu mà không cần viết bất kỳ mã chương trình nào.

Weka chứa một bộ sưu tập các công cụ trực quan và thuật toán để phân tích dữ liệu cũng như các mô hình dự đoán, cùng với các giao diện đồ họa để dễ dàng truy cập các chức năng này.

Lịch sử hình thành:

+ 1993 – Đại học Waikato, New Zealand khởi động dự án, xây dựng phiên bản đầu tiên của WEKA.

+ 1997 – Quyết định xây dựng lại Weka từ đầu bằng Java, có cài đặt các thuật toán mô hình hóa.

+ 2005 – Weka nhận giải thưởng SIGKDD Data Mining and Knowledge Discovery Service Award.

Trang 28

Hình 3.3: Giao diện Weka

Ứng dụng chính của Weka bao gồm:

+ Explorer: cho phép sử dụng các tính năng của Weka để khai phá dữ liệu.

+ Experimenter: cho phép tiến hành các thí nghiệm và thực hiện các bài kiểm tra thống kê giữa các mô hình học máy.

+ KnowledgeFlow: môi trường cho phép tương tác đồ họa để thiết kế các thành phần của một thí nghiệm.

+ SimpleCLI: giao diện dòng lệnh.

- Hỗ trợ kết nối thông tin: Weka có các ứng dụng con ArffViewer có tính năng giúp trình diễn nội dung của các tập dữ liệu có định dạng * ARFF thành bảng tài liệu và SqlViewer cho phép liên kết được với cơ sở tài liệu (MySQL, PostGre,…) và còn hỗ trợ truy vấn để lấy thông tin.

- Khảo sát cơ sở dữ liệu: Đây chính là tính năng giúp thực nghiệm được những trách nhiệm khai thác tài liệu như: phân lớp, gom nhóm hệ thống các tài liệu, tiền xử lý tài liệu và khai thác luật tích hợp.

Trang 29

- Thực nghiệm mô hình: Thực nghiệm mô hình được biết đến là ứng dụng con giúp cung cấp phương tiện có thể kiểm chứng, đánh giá các mô hình học từ đó có thể so sánh với nhau để đưa ra được các đánh giá tổng quan.

- Biểu đồ trực qua: Weka tương hỗ giúp người dùng biểu diễn được trực quan tài liệu bằng đa dạng các dạng đồ thị khác nhau thông qua nhiều biểu đồ thông dụng: cây, đồ thị, biểu đồ vùng, biểu đồ trục,…

3.2 RStudio

R là một công cụ rất mạnh cho học máy, thống kê và phân tích dữ liệu Nó là một ngôn ngữ lập trình miễn phí mã nguồn mở, sở dĩ nó được đặt tên là R dựa trên chữ cái đầu tiên trong tên của hai tác giả R (Robert Gentleman và Ross Ihaka).

R được phát triển tốt, đơn giản và hiệu quả, bao gồm các điều kiện, vòng lặp, hàm đệ quy do người dùng xác định và các phương tiện nhập và xuất Ngôn ngữ này được sử dụng phổ biến trong cộng đồng khoa học dữ liệu và có thể được sử dụng cho nhiều mục đích khác nhau như phân tích dữ liệu, đồ họa, vi mô mô hình, và nghiên cứu thị trường tài chính, và nhiều lĩnh vực khác.

 R có cơ sở lưu trữ và xử lý dữ liệu hiệu quả.

 R cung cấp một bộ toán tử để tính toán trên mảng, danh sách, vectơ và ma trận  R cung cấp một bộ sưu tập lớn, mạch lạc và tích hợp các công cụ để phân loại,

phân cụm, phân tích chuỗi thời gian, lập mô hình tuyến tính và phi tuyến tính  R cung cấp các phương tiện đồ họa để phân tích và hiển thị dữ liệu trực tiếp trên

màn hình máy tính hoặc để in ra giấy.

Trang 30

CHƯƠNG 4: KHAI PHÁ DỮ LIỆU

4.1 Xác định vấn đề

Bệnh Breast Cancer là một dạng ung thư phổ biến ở phụ nữ Bệnh xảy ra khi các tế bào trong tuyến vú bất thường phát triển và chia sẻ quá nhanh, tạo thành khối u ác tính Nếu phát hiện sớm và được điều trị kịp thời, tỷ lệ sống sót của bệnh nhân Breast

Cancer là rất cao Tuy nhiên, vấn đề đặt ra là làm thế nào để xác định được loại khốiu để có thể đưa ra quyết định điều trị phù hợp?

Đây là một thử thách lớn đối với ngành y Vì vậy, các nhà nghiên cứu đã tiến hành nhiều nghiên cứu để tìm ra những yếu tố quan trọng có thể giúp phân loại khối u lành tính hay ác tính.

Trong đề này chúng em tập trung vào việc phân tích các yếu tố ảnh hưởng sự phân loại khối u ung thư của bệnh nhân Breast Cancer sau khi điều trị tại bệnh viện Hùng Vương bằng cách sử dụng thuật toán phân cụm K-Means để phân loại các bệnh nhân thành các nhóm dựa trên các đặc trưng của bệnh, ví dụ như độ dày của tế bào, kích cỡ, độ tương đồng của các tế bào, độ bám ở rìa và số lần phân chia tế bào.

Từ việc phân loại các bệnh nhân thành các nhóm, chúng em hy vọng sẽ có thể đưa ra những dự đoán về khả năng phân loại khối u (lành tính/ác tính) Những dự đoán này có thể hỗ trợ cho các chuyên gia y tế trong việc lên kế hoạch điều trị cho bệnh nhân, nhằm tìm ra những phương pháp phòng chống và điều trị mới hiệu quả hơn.

4.2 Hiểu dữ liệu

Tập dữ liệu “breastcancer.arff” (Wisconsin Breast Cancer Database) là tập dữ liệu

nghiên cứu chẩn đoán loại khối u của bệnh ung thư vú của 648 bệnh nhân (tương đương 648 dòng dữ liệu) qua các năm từ 1989 đến 1990 của tiến sỹ Wolberg

Tập dữ liệu nghiên cứu gồm 11 trường dữ liệu ghi lại các thông số cần thiết củacác mẫu, trong đó có 1 trường dữ liệu cho biết loại khối u của từng mẫu.

Trang 31

Bảng 4.9: Ý nghĩa và giá trị của các trường giá trị

2 Clump-Thickness Độ dày của cụm tế bào u (khối u) 1, 2, 3 ,4, 5, 6, 7, 8, 9, 10

3 Uniformity-of-Cell-Size Độ đồng nhất về kích thước của các tế bào Với giá trị càng cao cho thấy sự không đồng nhất trong kích thước của các tế bào (giá trị càng cao dễ cho ra khối u ác tính).

1, 2, 3 ,4, 5, 6, 7, 8, 9, 10

4 Uniformity-of-Cell-Shape Độ đồng nhất về hình dạng của các tế bào Báo hiệu cho việc các tế bào ung thư đã bắt đầu phát triển và phân chia không kiểm soát Với giá trị càng cao thì mức độ đồng nhất càng tốt.

1, 2, 3 ,4, 5, 6, 7, 8, 9, 10

5 Marginal-Adhesion Độ dính bám của các tế bào ung thư với tế bào khác Khi độ dính bám giảm, các tế bào ung thư có

Trang 32

6 Single-Epithelial-Cell-Size Kích thước của tế bào biểu mô nhạt của khu vực nhân tế bào dưới kính hiển vi, từ đó đánh giá mức độ khác biệt trong kích cỡ và hình dạng của nhân tế bào của bệnh nhân và các nhân tế bào bình thường.

1, 2, 3 ,4, 5, 6, 7, 8, 9, 10

9 Normal-Nucleoli Nhân nhỏ bình thường Dùng để đánh giá mức độ bình thường của nhân bộ phận tế bào Với giá trị càng cao, thì tình trạng của tế bào ung thư càng nghiêm trọng.

1, 2, 3 ,4, 5, 6, 7, 8, 9, 10

10 Mitoses Số lần phân chia tế bào Được sử dụng để đánh giá độ phát triển của khối u và được tính bằng cách đếm số lượng tế bào chia đôi trong một mẫu Với giá trị của thuộc tính này càng cao, tức là tế

1, 2, 3 ,4, 5, 6, 7, 8, 9, 10

Trang 33

bào phân chia tăng nhiều lần hơn, khối u càng có khả năng là ác tính hơn.

Giải thích các thuật ngữ trong tập giá trị:

Bảng 4.10: Ý nghĩa của các thuật ngữ trong tập giá trị

Trang 34

Hình 4.4: Tập dữ liệu Breast Cancer

Quan sát tập dữ liệu “breast-cancer.arff” ta thấy rằng mẫu dữ liệu vẫn còn rấtnhiều lỗi, lỗi ở đây chủ yếu nằm ở thuộc tính “Bare-Nuclei” là không xác định được

giá trị dẫn đến bị để trống (gồm 15 lỗi).

Vấn đề tiếp theo, trong tập dữ liệu này có thuộc tính “SampleID”, thuộc tính này

giúp xác định 1 bản ghi duy nhất bởi một ID Do thuộc tính này không mang lại giá trị hoặc góp phần vào kết quả dự đoán, do đó ta cần loại bỏ khỏi tập dữ liệu.

Vấn đề cuối cùng, tập dữ liệu có thuộc tính “Class” Thuật toán K-Means là một

thuật toán unsupervised learning (học không giám sát), nghĩa là nó không sử dụng thông tin về thuộc tính Class để học và phân loại dữ liệu Vì thế, ta cần xóa thuộc tính

4.3.1.Xử lý giá trị bị lỗi

Do đã xác định được 15 lỗi, vì thế chúng ta cần có một bước đó là tiền xử lý dữ liệu Có 2 cách để xử lý lỗi này là:

Trang 35

- Thay thế các giá trị lỗi bằng một giá trị nào đó (có thể sử dụng bộ lọc

- Xóa bỏ các mẫu bị lỗi khỏi tập dữ liệu.

Ở tập dữ liệu này, số dòng dữ liệu (mẫu) khá nhiều, có 648 dòng Vì vậy, chúng

em chọn cách 2 đó là xóa bỏ các mẫu bị lỗi khỏi tập dữ liệu

Để xử lý dữ liệu ta thược hiện các bước như sau:

Bước 1: Mở tập dữ liệu “breastcancer.arff” trên ứng dụng Weka.Bước 2: Vào nút “Edit” trên thanh công cụ.

Bước 3: Thực hiện xóa thủ công các mẫu dữ liệu bị lỗi như sau: nhấp chuột phải

vào mẫu dữ liệu bị lỗi Ú chọn “Delete selected instance” Thực hiện đến khi không còn mẫu dữ liệu lỗi.

Hình 4.5: Thao tác xóa dòng dữ liệu

Bước 4: Sau khi thực hiện xóa mẫu cho 15 lỗi đã xác định, chúng ta bấm chọn nút

“OK” để thực hiện thay đổi.

Trang 36

Hình 4.6: Bấm OK thực hiện thay đổi

g Lúc này tập dữ liệu mới của chúng em còn 633 mẫu.

Bước 1: Ở màn hình Explorer, ta bấm chọn nút “Choose” Ú tìm đến unsupervised

Ú attribute Ú Remove.

Hình 4.7: Chọn filter “Remove”

Bước 2: Nhấp vào hộp văn bản ngay bên phải nút "Choose".

Bước 3: Nhập giá trị 1 vào “attributeIndices” là chỉ mục của thuộc tính

“SampleID” và set các giá trị còn lại là “False” Sau đó nhấn “OK”.

Trang 37

Hình 4.8: Nhập chỉ mục của thuộc tính “SampleID”

Bước 4: Bấm nút “Apply” để thực hiện thay đổi.

Thuộc tính “Class” sẽ không loại bỏ trực tiếp mà sẽ được loại bỏ trong quá trình

phân cụm bằng cách sử dụng tính năng “Ignore attributes” trong phân cụm.

Hình 4.9: Chức năng “Ignore attributes” trong cluster mode

Cuối cùng, ở màn hình “Explorer”, trên thanh công cụ ta bấm chọn nút “Save” để

lưu tập dữ liệu lại (đặt tên file là “breastcancer-daxulydulieu.arff”)

Lúc này, tập dữ liệu của chúng ta có 633 mẫu (dòng) và 10 trường dữ liệu.

Ngoài việc sử dụng các tệp tin trên máy, Weka còn cung cấp tính năng kết nối SQL để truy vấn và trích xuất dữ liệu từ các cơ sở dữ liệu quan hệ Điều này cho phép

Trang 38

ta sử dụng dữ liệu trong các cơ sở dữ liệu của mình để huấn luyện và kiểm thử các mô hình học máy trong Weka.

Sau khi đã tiền xử lý dữ liệu ta có thể thực hiện như sau để kết nối cơ sở dữ liệu Weka với SQL Hoặc có thể kết nói dữ liệu trước rồi tiền xử lý dữ liệu sau.

Để truy xuất dữ liệu từ SQL ta làm như sau:

Bước 1: Do chúng ta đã tiền xử lý tập dữ liệu với đuôi arff nên việc đầu tiênchúng ta sẽ chuyển thành đuôi .csv Khởi động Weka và mở file “breastcancer-daxulydulieu.arff” g vào Save.

Lưu ý: ta cũng có thể sử dụng tập dữ liệu với đuôi arff để đổ dữ liệu lên SQL, tuy

nhiên ở các bước (bước 8) chèn tập dữ liệu lên ta phải nhập lại tên cột, vì nó không biết được cột đó tên gì nên sẽ mặc định là column 1, column 2,… Việc nhập lại tên cột có thể nhập sai, không chính xác tên.

Ngày đăng: 04/05/2024, 19:12

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan