Định nghĩa: Phân cụm dữ liệu PCDL là các qui trình tìm cách nhóm các đối tượng đã cho vào các cụm, sao cho các đối tượng trong cùng 1 cụm tương tự nhau và các đối tượng khác cụm thì k
Trang 1THUẬT TOÁN K-MEAN VỚI BÀI TOÁN PHÂN CỤM DỮ LIỆU
Danh sách nhóm:
1.Nguyễn Thị Ngọc Hà
2.Nguyễn Thị Ngọc Quỳnh
3.Trần Thị Hồng Nhung
Trang 2NỘI DUNG
I PHÂN CỤM DỮ LIỆU
II THUẬT TOÁN K-MEAN
III GIỚI THIỆU WEKA VÀ BÀI TOÁN ỨNG DỤNG
Trang 3I.PHÂN CỤM DỮ LIỆU
1 Định nghĩa:
Phân cụm dữ liệu (PCDL) là các qui trình tìm cách
nhóm các đối tượng đã cho vào các cụm, sao cho các đối tượng trong cùng 1 cụm tương tự nhau và các đối tượng khác cụm thì không tương nhau.
PCDL nhằm khám phá cấu trúc của mẫu dữ liệu để
thành lập các nhóm dữ liệu từ tập dữ liệu lớn, nó cho phép người ta đi sâu vào phân tích và nghiên cứu cho từng cụm dữ liệu này nhằm khám phá và tìm kiếm các thông tin tiềm ẩn, hữu ích phục vụ cho việc ra quyết
Trang 4MỤC ĐÍCH
Xác định được bản chất
của việc nhóm các đối
tượng trong 1 tập dữ liệu
không có nhãn.
Phân cụm không dựa trên 1 tiêu chuẩn chung nào, mà dựa vào tiêu chí
mà người dùng cung cấp trong từng trường hợp
Trang 52 ỨNG DỤNG
Xác định các nhóm khách hàng tiềm năng, phân loại và dự đoán hành vi khách hàng.
Xác định các nhóm khách hàng tiềm năng, phân loại và dự đoán hành vi khách hàng.
Phân loại động, thực vật, phân loại genNhận dạng các nhóm công ty có chính sách bảo hiểm
mô tô với chi phí đền bù trung bình cao Nhận ra các vùng đất giống nhau dựa vào CSDL quan sát trên trái đất, phân nhóm nhà…
Nhận ra các vùng đất giống nhau dựa vào CSDL quan sát trên trái đất, phân nhóm nhà… Nhận dạng các nhóm nhà cửa theo loại nhà,
Trang 63.CÁC YÊU CẦU PCDL TRONG KHAI PHÁ DỮ
Khả năng làm việc với dữ liệu có chứa nhiễu ( outliers)
Ít nhạy cảm với thứ tự các bản ghi nhập vào
Trang 7Phân cụm dựa trên mô hình Phân cụm dựa trên lưới Phân cụm dựa trên mật độ Phân cụm phân cấp
Phân cụm phân hoạch
4 PHÂN LOẠI
Trang 8 Cho một cơ sở dữ liệu D chứa n đối tượng, tạo phân
hoạch thành tập có k cụm sao cho:
Mỗi cụm chứa ít nhất một đối tượng
Mỗi đối tượng thuộc về một cụm duy nhất
Cho giá trị k, tìm phân hoạch có k cụm sao cho tối ưu
hoá tiêu chuẩn phân hoạch được chọn.
Các thuật toán tiêu biểu: K-mean, K-mediod
Hạn chế: không điều chỉnh được lỗi.
Phân cụm phân hoạch
Trang 9Phân cụm phân cấp
Là sắp xếp một tập dữ liệu đã cho thành một cấu
trúc có dạng hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy
Phân cấp cụm DL thường được biểu diễn dưới
dạng cây các cụm Trong đó:
Các lá của cây biểu diễn từng đối tượng
Các nút trong biểu diễn các cụm
Một số thuật toán phân cụm phân cấp điển hình
như : CURE, BIRCH
Trang 10Phân cụm phân cấp
Cây phân cụm có thể được xây dưng theo 2 phương
pháp sau:
Phương pháp Bottom up ( từ dưới lên): Thay thế
từng đối tượng trong cụm của nó Trộn theo từng bước hai cụm giống nhau nhất cho đến khi chỉ còn một cụm hay thoả mãn điều kiện thì dừng.
Phương pháp Top- down ( từ trên xuống): Bắt đầu
từ cụm lớn nhất chứa tất cả các đối tượng Chia cụm phân biệt nhất thành các cụm nhỏ hơn và tiếp diễn cho đến khi có n cụm thoả mãn điều kiện dừng.
Trang 11Phân cụm dữ liệu dựa trên mật độ
Phương pháp này nhóm các đối tượng theo hàm mật đ
ộ xác định Theo phương pháp này các điểm có mật
độ cao hơn sẽ ở cùng một cụm
Đặc trưng của phương pháp:
- Phát hiện ra các cụm có hình dạng bất kì.
- Phát hiện nhiễu.
Một số thuật toán PCDL dựa trên mật độ điển hình
như: DBSCAN, OPTICS, DENCLUE, …
Trang 12 Phân cụm dữ liệu dựa trên lưới
+Phương pháp này chủ yếu tập trung áp dụng cho lớp
dữ liệu không gian.
+Một số thuật toán PCDL dựa trên cấu trúc lưới điển hình như: STING, WAVECluster,CLIQUE…
Phân cụm dữ liệu dựa trên mô hình
+Có hai tiếp cận chính: Mô hình thống kê &
Mạng Nơron
Phân cụm dữ liệu có ràng buộc
+Để phân cụm dữ liệu không gian hiệu quả hơn,
các nghiên cứu bổ sungcần được thực hiện để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm.
Trang 13II THUẬT TOÁN K-MEAN
Giới thiệu về thuật toán K-mean.
Trang 141.Giới thiệu về thuật toán K-mean
K-Means là thuật toán thuộc phương pháp phân
hoạch dữ liệu, nó rất quan trọng và được sử dụng phổ biến trong kỹ thuật phân cụm.
Tư tưởng chính của thuật toán :
Tìm cách phân nhóm các đối tượng (objects) đã
cho vào K cụm (K là số các cụm được xác đinh trước, K nguyên dương)
Sao cho tổng bình phương khoảng cách giữa các
đối tượng đến tâm nhóm (centroid ) là nhỏ nhất.
Trang 152 Phần tử trung tâm
Với k phần tử trung tâm (k nhóm) ban đầu được chọn ngẫu
nhiên, sau mỗi lần nhóm các đối tượng vào các nhóm, phần tử trung tâm được tính toán lại
Clusteri = {a1, a2 at} – Nhóm thứ i
i=1 k, k:số clusterj= 1 m, m:số thuộc tính
t - số phần tử hiện có của nhóm thứ i
xsj - thuộc tính thứ j của phần tử s , s=1 t
cij - toạ độ thứ j của phần tử trung tâm nhóm i
Trang 16xis - thuộc tính thứ s của đối tượng ai
x - thuộc tính thứ s của phần tử trung tâm c
Trang 17Thuật toán K-Means thực hiện qua các bước chính sau:
Bước 1: Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster)
Mỗi cụm được đại diện bằng các tâm của cụm
Bước 2: Tính khoảng cách giữa các đối tượng (objects) đến K
tâm (thường dùng khoảng cách Euclidean)
Bước 3: Nhóm các đối tượng vào nhóm gần nhất
Bước 4: Xác định lại tâm mới cho các nhóm
Bước 5: Thực hiện lại bước 2 cho đến khi không có sự thay đổi
nhóm nào của các đối tượng
4 Thuật toán k-mean
Trang 18 Input: Số các cụm k cần gom và cơ sở dữ liệu chứa n đối
tượng
Output: k cụm đã được gom.
Trang 19Ví dụ về thuật toán k-mean, n=10, k=2
Trang 20 Ưu điểm : đơn giản, dễ hiểu và cài đặt
Nhược điểm:
Việc khởi tạo phần tử trung tâm của nhóm ban đầu ảnh hưởng đến sự phân chia đối tượng vào nhóm trong trường hợp dữ liệu không lớn
Số nhóm k luôn phải được xác định trước
Không xác định được rõ ràng vùng của nhóm, cùng 1 đối tượng, nó có thể được đưa vào nhóm này hoặc nhóm khác khi dung lượng dữ liệu thay đổi
Điều kiện khởi tạo có ảnh hưởng lớn đến kết quả Điều kiện khởi tạo khác nhau có thể cho ra kết quả phân vùng nhóm khác nhau
Không xác định được mức độ ảnh hưởng của thuộc tính
5 Ưu, nhược điểm của thuật toán K-mean:
Trang 21III GIỚI THIỆU WEKA VÀ BÀI TOÁN
ỨNG DỤNG
1 Giới thiệu phần mềm WEKA
2 Bài toán ứng dụng phân cụm dữ liệu trong WEKA
Trang 221 Giới thiệu phần mềm WEKA
là một công cụ phần mềm viết bằng Java, phục vụ lĩnh vực máy học và khai phá dữ liệu
• Weka cung cấp nhiều giải thuật khác nhau với nhiều phương
thức cho quá trình xử lý để ước lượng kết quả bằng sơ đồ cho bất kì một dữ liệu nào
Trang 231 Giới thiệu phần mềm WEKA
Trong phần mềm Weka,Explorer có 6 phần:
Preprocess: Tiền xử lý dữ liệu.
Classify: Tạo ra những chương trình để phân loại.
Cluster: Tạo phân cụm cho cơ sở dữ liệu.
Associate: Tạo luật kết hợp cho dữ liệu và đánh giá chúng.
Select attributes: Lựa chọn những thuộc tính liên quan nhất trong
tập dữ liệu
Visualize: nhìn thấy sự khác nhau 2 chiều của dữ liệu và sự tương
Trang 242 Bài toán ứng dụng phân cụm dữ liệu
trong WEKA
Bài toán: Phân tích độ quyết toán trong các cuộc đàm phán
lao động trong ngành công nghiệp Canada sử dụng thuật toán K-mean PCDL trong WEKA
Dữ liệu bao gồm tất cả các thỏa thuận chung đạt được trong
các lĩnh vực kinh doanh và dịch vụ cá nhân tại Canada trong năm 87 và quý I 88
Các dữ liệu (file labor.arff) đã được sử dụng để tìm hiểu
những mô tả của một hợp đồng chấp nhận được và hợp đồng không thể chấp nhận, bao gồm 16 thuộc tính và 57 trường hợp
Trang 251 Dur [1 7] : duration of agreement
2 wage1.wage [2.0 7.0] : wage increase in first year of contract
3 wage2.wage [2.0 7.0] : wage increase in second year of contract
4 wage3.wage [2.0 7.0] : wage increase in third year of contract
5 Cola [none, tcf, tc] : cost of living allowance
6 hours.hrs [35 40] : number of working hours during week
7 Pension [none, ret_allw, empl_contr] : employer contributions to
pension plan
8 stby_pay[2 25] : standby pay
9 shift_diff [1 25] : shift differencial : supplement for work on II
THÔNG TIN THUỘC TÍNH
Trang 26THÔNG TIN THUỘC TÍNH
10 educ_allw.boolean [true false] : education allowance
11 holidays [9 15] : number of statutory holidays
12 vacation [ba, avg, gnr]: number of paid vacation days
13 lngtrm_disabil.boolean [true , false] : employer's help
during employee longterm disability
14 dntl_ins [none, half, full] : employers contribution towards
the dental plan
15 bereavement.boolean [true , false] : employer's financial
contribution towards the covering the costs of bereavement
16 empl_hp [none, half, full]: employer's contribution towards
the health plan
Trang 272 Bài toán ứng dụng phân cụm dữ liệu trong
WEKA
Đưa dữ liệu vào:Trong tab Preprocess : Chọn Open File để
mở file dữ liệu cần phân cụm là labol.arff
Trang 282 Bài toán ứng dụng phân cụm dữ liệu trong
WEKA
Khi bạn mở file labol.arff từ mục open file sẽ hiện ra một cửa sổ sau:
Trang 292 Bài toán ứng dụng phân cụm dữ liệu trong
WEKA
Tiến hành phân cụm dữ liệu: Để tiến hành phân cụm dữ liệu, ta
chọn mục cluster->chọn clusterers-> SimpleK-means
Trang 302 Bài toán ứng dụng phân cụm dữ liệu trong
WEKA
Trong mục cluser mode(lựa chọn
mô hình gom cụm và các tham
số) bao gồm:
1 Use training set
2 Supplied test set
3 Percentage split
4 Classes to clusers evaluation
Ignore attributes: Bỏ qua các
thuộc tính chỉ định khi tiến hành
gom cụm
Chọn như hình bên:
Trang 31Thiết lập các tham số cho thuật toán K-Means như số cụm (trong ví
dụ này K=2), Cách tính khoảng cách (trong ví dụ này dùng khoảng cách Euclidean),…
2 Bài toán ứng dụng phân cụm dữ liệu trong
WEKA
Trang 322 Bài toán ứng dụng phân cụm dữ liệu trong
WEKA
Chọn start để bắt đầu PCDL, Bảng kết quả thu được:
Trang 33Kết quả : phân ra 2 cụm dữ liệu là cụm 0 và cụm 1 như hình
dưới
2 Bài toán ứng dụng phân cụm dữ liệu
trong WEKA
Trang 34LOGO