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

Báo cáo chuyên Đề học phần khai phá dữ liệu Đề tài ứng dụng thuật toán phân cụm kmeans clustering Để chuẩn Đoán bệnh tiểu Đường

20 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 Phân Cụm Kmeans Clustering Để Chuẩn Đoán Bệnh Tiểu Đường
Tác giả Đỗ Kiên Quyết, Đỗ Khắc Tú, Vương Đức Huy
Người hướng dẫn Vũ Văn Định
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo chuyên đề
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 20
Dung lượng 1,8 MB

Nội dung

DANH MỤC HÌNH ẢNHHình 2.1; Bài toán với 3 clusters...3 Hình 2.2: Mô hình dữ liệu được phân cụm...4 Hình 3.1: Nhập dữ liệu vào weka Hình 3.2: Đầu ra phân lớp của các thuộc tính Hình 3.3:

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN KHAI PHÁ DỮ LIỆU

ĐỀ TÀI:

ỨNG DỤNG THUẬT TOÁN PHÂN CỤM KMEANS CLUSTERING ĐỂ

CHUẨN ĐOÁN BỆNH TIỂU ĐƯỜNG

Sinh viên thực hiện : ĐỖ KIÊN QUYẾT

ĐỖ KHẮC TÚ VƯƠNG ĐỨC HUY Giảng viên hướng dẫn : VŨ VĂN ĐỊNH

Chuyên ngành : CÔNG NGHỆ PHẦN MỀM

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

Trang 2

PHIẾU CHẤM ĐIỂM

Sinh viên thực hiện:

ĐỖ KIÊN QUYẾT

ĐỖ KHẮC TÚ

VƯƠNG ĐỨC HUY

Giảng viên chấm:

Giảng viên chấm 1 :

Giảng viên chấm 2 :

Trang 3

MỤC LỤC

TRANG

CHƯƠNG 1: GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU 1

1.1 Khai phá dữ liệu là gì 1

1.2 Quy trình khai phá dữ liệu 1

1.2.1 Nghiên cứu lĩnh vực 1

1.2.2 Tạo tập tin dữ liệu đầu vào 1

1.2.3 Tiền xử lý, làm sạch, mã hóa 1

1.2.4 Rút gọn chiều 1

1.2.5 Chọn tác vụ khai thác dữ liệu 2

1.2.6 Chọn các thuật giải Khai thác dữ liệu 2

1.2.7 Khai thác dữ liệu: Tìm kiếm tri thức 2

1.2.8 Đánh giá mẫu tìm được 2

1.2.9 Biểu diễn tri thức 2

CHƯƠNG 2: THUẬT TOÁN K-MEANS CLUSTERING TRONG BÀI TOÁN PHÂN CỤM 3

2.1.Tổng quan về thuật toán K-Means Clustering 3

2.2 Thuật toán K-Means Clustering: 4

2.2.1 Mô hình toán học: 4

2.2.2 Độ chính xác của thuật toán: 5

2.2.3 Nghiệm của thuật toán K-Means Clustering: 6

2.2.4 Tóm tắt thuật toán: 6

CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN K-MEANS CLUSTERING 7

Trang 4

3.1 Xây dựng mô hình băng Weka 7

3.2 Đầu ra phân lớp của các thuộc tính 8

3.3 Đầu ra phân lớp bằng thuộc tính class 11

TÀI LIỆU THAM KHẢO 14

Trang 5

DANH MỤC HÌNH ẢNH

Hình 2.1; Bài toán với 3 clusters 3 Hình 2.2: Mô hình dữ liệu được phân cụm 4 Hình 3.1: Nhập dữ liệu vào weka

Hình 3.2: Đầu ra phân lớp của các thuộc tính

Hình 3.3: Đầu ra phân lớp bằng thuộc tính class

LỜI MỞ ĐẦU

Ngày nay Công nghệ thông tin đang ngày càng phát triển và trở thành một phần tất yếu của cuộc sống con người Công nghệ thông tin đang càng ngày càng được ứng dụng nhiều vào tất cả các lĩnh vực từ y học, kinh doanh đến cả giáo dục, và

nó góp phần không nhỏ vào sự phát triển của tất các các lĩnh vực đó, đặc biệt là lĩnh vực kinh doanh

Đất nước ta đang ngày càng phát triển, đang cố gắng hòa nhập và rút ngắn khoảng cách với thế giới, việc nước ta trở thành thành viên của WTO đã được các nhà kinh doanh chú ý đến và đầu tư ngày càng nhiều vào Việt Nam Vì vậy để không bị quá lạc hậu, để đáp ứng yêu cầu tất yếu của các nhà đầu tư vào Việt Nam

và để các nhà kinh doanh trong nước có đủ sức cạnh tranh với nước ngoài thì bắt buộc phải đầu tư cho Công nghệ thông tin mà ở đây chính xác là các phần mềm tin học vào nhiều lĩnh vực giúp nâng cao tính hiệu quả và chính xác của công việc, ngoài ra còn tiết kiệm thời gian và giảm bớt mệt nhọc cho con người

Trang 6

Em đã chọn đề tài “ỨNG DỤNG THUẬT TOÁN PHÂN CỤM KMEANS CLUSTERING ĐỂ CHUẨN ĐOÁN BỆNH TIỂU ĐƯỜNG” Trong lĩnh vực

thương mại điện tử, việc đánh giá sản phẩm có thuộc quản điểm nào là một trong những vấn đề người dùng quan tâm nhiều nhất

Trang 7

CHƯƠNG 1: GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU

1.1 Khai phá dữ liệu là gì

Data mining – khai phá dữ liệu, là một tập hợp, một hệ thống các phương pháp tính toán, thuật toán được áp dụng cho các cơ sở dữ liệu lớn và phức tạp mục đích loại bỏ các chi tiết ngẫu nhiên, chi tiết ngoại lệ, khám phá các mẫu, mô hình, quy luật tiềm ẩn, các thông tin có giá trị trong bộ dữ liệu Data mining là thành quả công nghệ tiên tiến ngày nay, là quá trình khám phá các kiến thức vô giá bằng cách phân tích khối lượng lớn dữ liệu đồng thời lưu trữ chúng ở nhiều cơ sở dữ liệu khác nhau”

1.2 Quy trình khai phá dữ liệu

1.2.1 Nghiên cứu lĩnh vực

Ta cần nghiên cứu lĩnh vực cần sử dụng Data mining để xác định được những tri thức ta cần chắt lọc, từ đó định hướng để tránh tốn thời gian cho những tri thức không cần thiết

1.2.2 Tạo tập tin dữ liệu đầu vào

Ta xây dựng tập tin để lưu trữ các dữ liệu đầu vào để máy tính có thể lưu trữ

và xử lý

1.2.3 Tiền xử lý, làm sạch, mã hóa

Ở bước này ta tiến hành bỏ bớt những dữ liệu rườm rà, không cần thiết, tinh chỉnh lại cấu trúc của dữ liệu và mã hóa chúng để tiện cho quá trình xử lý

1.2.4 Rút gọn chiều

Thông thường một tập dữ liệu có chiều khá lớn sẽ sinh ra một lượng dữ liệu khổng lồ, ví dụ với n chiều ta sẽ có 2^n tổ hợp Do đó, đây là một bước quan trọng giúp giảm đáng kể hao tổn về tài nguyên trong quá trình xử lý tri thức Thông

Trang 8

thường ta sẽ dùng Rough set(http://en.wikipedia.org/wiki/Rough_set) để giảm số chiều

1.2.5 Chọn tác vụ khai thác dữ liệu

Để đạt được mục đích ta cần, ta cần chọn được tác vụ khai thác dữ liệu sao cho phù hợp Thông thường có các tác vụ sau:

* Đặc trưng (feature)

* Phân biệt (discrimination)

* Kết hợp (association)

* Phân lớp (classification)

* Gom cụm (clusterity)

* Xu thế (trend analysis)

* Phân tích độ lệch

* Phân tích hiếm

1.2.6 Chọn các thuật giải Khai thác dữ liệu

1.2.7 Khai thác dữ liệu: Tìm kiếm tri thức

Sau khi tiến hành các bước trên thì đây là bước chính của cả quá trình, ta sẽ tiến hành khai thác và tìm kiếm tri thức

1.2.8 Đánh giá mẫu tìm được

Ta cần đánh giá lại xem trong các tri thức tìm được, ta sẽ sử đụng được những tri thức nào, những tri thức nào dư thừa, không cần thiết

1.2.9 Biểu diễn tri thức

Ta biểu diễn tri thức vừa thu thập được dưới dạng ngôn ngữ tự nhiên và hình thức sao cho người dùng có thể hiểu được những tri thức đó

Trang 9

CHƯƠNG 2: THUẬT TOÁN K-MEANS CLUSTERING TRONG BÀI

TOÁN PHÂN CỤM 2.1.Tổng quan về thuật toán K-Means Clustering

Với thuật toán K-Means Clustering, chúng ta không biết nhãn (label) của từng điểm dữ liệu Mục đích là làm thể nào để phân dữ liệu thành các cụm (cluster) khác nhau sao cho dữ liệu trong cùng một cụm có tính chất giống nhau Ý tưởng đơn giản nhất về cluster (cụm) là tập hợp các điểm ở gần nhau trong một không gian nào đó (không gian này có thể có rất nhiều chiều trong trường hợp thông tin về một điểm dữ liệu là rất lớn) Hình bên dưới là một ví dụ về 3 cụm dữ liệu (từ giờ tôi sẽ viết gọn là cluster)

Trang 10

Hình 2.1: Bài toán với 3 clusters

Giả sử mỗi cluster có một điểm đại diện (center) màu vàng Và những điểm xung quanh mỗi center thuộc vào cùng nhóm với center đó Một cách đơn giản nhất, xét một điểm bất kỳ, ta xét xem điểm đó gần với center nào nhất thì nó thuộc

về cùng nhóm với center đó

2.2 Thuật toán K-Means Clustering:

2.2.1 Mô hình toán học:

Ta gọi điểm tại vị trí trung bình của tất cả các điểm dữ liệu trong một cụm

trung tâm cụm Như vậy, nếu có K cụm thì sẽ có K trung tâm cụm và mỗi trung tâm cụm sẽ nằm gần các điểm dữ liệu trong cụm tương ứng hơn các trung tâm cụm khác Trong hình dưới đây, K = 3 và ta có 3 trung tâm cụm là các điểm màu vàng

Hình 2.2: Mô hình dữ liệu được phân cụm

Trang 11

Để phân cụm dữ liệu bằng K-Means Clustering, trước hết ta chọn K là số cụm để phân chia và chọn ngẫu nhiên K trong số m dữ liệu ban đầu làm trung tâm

cụm μ1, μ2, …, μK Sau đó, với điểm dữ liệu x(i) ta sẽ gán nó cho cụm c(i) là cụm

có trung tâm cụm gần nó nhất

Khi tất cả các điểm dữ liệu đã được gán về các cụm, bước tiếp theo là tính toán lại

vị trí các trung tâm cụm bằng trung bình tọa độ các điểm dữ liệu trong cụm đó

với k1, k2, …, kn là chỉ số các dữ liệu thuộc cụm thứ k Các bước trên được lặp lại cho tới khi vị trí các trung tâm cụm không đổi sau một bước lặp nào đó

2.2.2 Độ chính xác của thuật toán:

Hàm mất mát của thuật toán K-Means Clustering đặc trưng cho độ chính xác của nó sẽ càng lớn khi khoảng cách từ mỗi điểm dữ liệu tới trung tâm cụm càng lớn

Trang 12

2.2.3 Nghiệm của thuật toán K-Means Clustering:

Trong các bước của thuật toán, thực chất bước gán các điểm dữ liệu về trung tâm cụm gần nhất và bước thay đổi trung tâm cụm về vị trí trung bình của các điểm dữ liệu trong cụm đều nhằm mục đích giảm hàm mất mát Thuật toán kết thúc khi vị trí các trung tâm cụm không đổi sau một bước lặp nào đó Khi đó hàm mất mát đạt giá trị nhỏ nhất

Khi K càng nhỏ so với m, thuật toán càng dễ đi đến kết quả chưa phải tối ưu Điều này phụ thuộc vào cách chọn K trung tâm cụm ban đầu

Để khắc phục điều này, ta cần lặp lại thuật toán nhiều lần và chọn phương

án có giá trị hàm mất mát nhỏ nhất

2.2.4 Tóm tắt thuật toán:

Đầu vào: Dữ liệu XX và số lượng cluster cần tìm KK.

Đầu ra: Các center MM và label vector cho từng điểm dữ liệu YY.

1 Chọn KK điểm bất kỳ làm các center ban đầu

2 Phân mỗi điểm dữ liệu vào cluster có center gần nó nhất

3 Nếu việc gán dữ liệu vào từng cluster ở bước 2 không thay đổi so với vòng lặp trước nó thì ta dừng thuật toán

4 Cập nhật center cho từng cluster bằng cách lấy trung bình cộng của tất các các điểm dữ liệu đã được gán vào cluster đó sau bước 2

5 Quay lại bước 2

Trang 13

CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN K-MEANS CLUSTERING 3.1 Xây dựng mô hình băng Weka

Hình 3.1: Nhập dữ liệu vào Weka

Trang 14

3.2 Đầu ra phân lớp của các thuộc tính

Hình 3.2: Đầu ra phân lớp của các thuộc tính

=== Thông tin chạy ===

Cơ chế: Scheme: weka.clusterers.SimpleKMeans init 0 maxcandidates 100

-periodic-pruning 10000 -min-density 2.0 -t1 -1.25 -t2 -1.0 -N 2 -A

"weka.core.EuclideanDistance -R first-last" -I 500 -num-slots 1 -S 10

Mối quan hệ: pima_diabetes-weka.filters.unsupervised.attribute.Remove-R9 Trường hợp: 768

Thuộc tính: 8

Preg: mang thai

Plas: bằng phẳng

Pres: trước

Trang 15

Skin: da

insu

mass: khối

pedi: bàn đạp

age: tuổi

Chế độ kiểm tra: đánh giá trên dữ liệu đào tạo

=== Mô hình phân cụm (tập huấn luyện đầy đủ) ===

kMeans

======

Số lần lặp: 7

Trong cụm tổng các lỗi bình phương: 121.2579017999101

Điểm xuất phát ban đầu (ngẫu nhiên):

Cụm 0: 1,126,56,29,152,28,7,0,801,21

Cụm 1: 8,95,72,0,0,36,8,0,485,57

Các giá trị bị thiếu trên toàn cầu được thay thế bằng giá trị trung bình/chế độ

Trang 16

Thời gian để xây dựng mô hình (dữ liệu huấn luyện đầy đủ): 0,01 giây

=== Mô hình và đánh giá trên tập huấn luyện ===

Phiên bản nhóm:

Trang 17

3.3 Đầu ra phân lớp bằng thuộc tính class

Hình 3.3: Đầu ra phân lớp bằng thuộc tính class

=== Thông tin chạy ===

Cơ chế: Scheme: weka.clusterers.SimpleKMeans init 0 maxcandidates 100

-periodic-pruning 10000 -min-density 2.0 -t1 -1.25 -t2 -1.0 -N 2 -A

"weka.core.EuclideanDistance -R first-last" -I 500 -num-slots 1 -S 10

Mối quan hệ: pima_diabetes-weka.filters.unsupervised.attribute.Remove-R9 Trường hợp: 768

Thuộc tính: 9

Preg: mang thai

Plas: bằng phẳng

Pres: trước

Skin: da

Trang 18

insu

mass: khối

pedi: bàn đạp

age: tuổi

Ignored: class

Chế độ kiểm tra: Đánh giá từ lớp đến cụm trên dữ liệu huấn luyện

======

Số lần lặp: 7

Trong cụm tổng các lỗi bình phương: 121.2579017999101

Điểm xuất phát ban đầu (ngẫu nhiên):

Cụm 0: 1,126,56,29,152,28,7,0,801,21

Cụm 1: 8,95,72,0,0,36,8,0,485,57

Các giá trị bị thiếu trên toàn cầu được thay thế bằng giá trị trung bình/chế độ

Trang 19

Thời gian để xây dựng mô hình (dữ liệu huấn luyện đầy đủ): 0 giây

=== Mô hình và đánh giá trên tập huấn luyện ===

Phiên bản nhóm

0 515 ( 67%)

1 253 ( 33%)

Thuộc tính: class

Các lớp thành cụm:

0 1 <- gán cho cụm

380 120 | đã kiểm tra_âm tính

135 133 | đã kiểm tra _dương tính

Cụm 0 <- đã kiểm tra_âm tính

Cụm 1 < đã kiểm tra _dương tính

Trang 20

TÀI LIỆU THAM KHẢO

1 https://machinelearningcoban.com/2017/01/01/kmeans/

2 http://uet.vnu.edu.vn/~thuyhq/Student_Thesis/K44_Do_Thi_Dieu_Ngoc_Thesis.pdf

Ngày đăng: 22/01/2025, 15:13

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

TÀI LIỆU LIÊN QUAN