Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 40

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM


KHOA KINH TẾ


TIỂU LUẬN CUỐI KỲ


-----------
KỸ THUẬT KHAI PHÁ DỮ LIỆU GOM CỤM
(CLUSTERING)

GVHD: LÊ THỊ MINH CHÂU

Môn học: ỨNG DỤNG PHÂN TÍCH DỮ LIỆU LỚN


TRONG KINH DOANH (BIG DATA)

Nhóm SVTH: Nhóm 5

NGUYỄN THỊ NGUYÊN HẰNG 21126296

TRẦN ANH THƯ 21126216

NGUYỄN HUỲNH DIỆU TÂM 21126201

NGUYỄN NGỌC TRÂM 21126223

Tp. Hồ Chí Minh, tháng 12, năm 2023


i
BẢNG PHÂN CÔNG NHIỆM VỤ
HỌC KỲ II NĂM HỌC 2023-2024
Lớp: Ứng dụng phân tích dữ liệu lớn trong kinh doanh (Big Data) tiết 7-9

Tên đề tài: Kỹ thuật khai phá dữ liệu gom cụm (Clustering)

Tỉ lệ %
STT Họ và tên MSSV Nhiệm vụ hoàn Ký tên
thành
- Các công cụ và thư
Nguyễn Thị viện phân tích.
1 21126296 100% Hang
Nguyên Hằng - Các thách thức
- Ứng dụng 2.3
- Các phương pháp
gom cụm phổ biến.
2 Trần Anh Thư 21126216 100% Thu
- Chạy demo.
- Ứng dụng 2.6
- Giới thiệu và sơ lược
Nguyễn Huỳnh về Clustering.
3 21126201 100% Tam
Diệu Tâm - Phụ ví dụ thực tế.
- Ứng dụng 2.5
- Ứng dụng của
Nguyễn Ngọc Clustering.
4 21126223 100% Tram
Trâm - Ví dụ thực tế.
- Ứng dụng 2.4

Ghi chú:
- Tỷ lệ % = 100%: Mức độ phần trăm của từng sinh viên tham gia.

Nhận xét của giáo viên:


................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

ii
................................................................................................................................

MỞ ĐẦU
Về cơ bản, khai phá dữ liệu là về xử lý dữ liệu và nhận biết các mẫu và các xu
hướng trong thông tin. Từ đó, có thể quyết định hoặc đánh giá. Các nguyên tắc khai
phá dữ liệu đã được dùng nhiều năm rồi, nhưng với sự ra đời của liệu lớn, nó lại càng
phổ biến hơn.
Dữ liệu lớn gây ra một sự bùng nổ về sử dụng nhiều kỹ thuật khai phá dữ liệu
hơn. Một phần do kích thước thông tin lớn hơn rất nhiều. Một phần là thông tin có xu
hướng đa dạng và mở rộng hơn về chính bản chất và nội dung của nó. Với các tập
hợp dữ liệu lớn, để nhận được số liệu thống kê tương đối đơn giản và dễ dàng trong
hệ thống vẫn chưa đủ.
Hiện nay hướng kinh doanh có nhu cầu thay đổi cách lấy ra và thống kê dữ liệu
đơn giản sang việc khai phá dữ liệu phức tạp hơn. Vấn đề kinh doanh hướng tới việc
xem xét dữ liệu để giúp xây dựng một mô hình để mô tả các thông tin mà cuối cùng là
tạo ra báo cáo kết quả.
Khai phá dữ liệu không phải là tất cả về các công cụ hay phần mềm cơ sở dữ
liệu. Mà ta có thể thực hiện khai phá dữ liệu bằng các hệ thống cơ sở dữ liệu bình
thường và các công cụ đơn giản, bao gồm việc tạo và viết phần mềm riêng hay sử
dụng các gói phần mềm bán ngoài cửa hàng. Khai phá dữ liệu phức tạp được hưởng
lợi từ kinh nghiệm trong quá khứ và các thuật toán đã định nghĩa với phần mềm và
các gói phần mềm hiện có, với các công cụ nhất định để thu được một mối quan hệ
hoặc uy tín lớn hơn bằng các kỹ thuật khác nhau.
Gần đây các tập hợp dữ liệu rất lớn và việc xử lý dữ liệu theo cụm và quy mô
lớn có thể cho phép khai phá dữ liệu để sắp xếp và lập báo cáo về các nhóm và các
mối tương quan của dữ liệu phức tạp hơn. Bây giờ đã có sẵn rất nhiều công cụ và hệ
thống hoàn toàn mới, gồm các hệ thống lưu trữ và xử lý dữ liệu kết hợp. có thể khai
phá dữ liệu với nhiều tập hợp dữ liệu khác nhau, gồm các cơ sở dữ liệu SQL truyền
thống, dữ liệu văn bản thô, các kho khóa/giá trị và các cơ sở dữ liệu tài liệu (có gom
cụm, như Hadoop, Cassandra, CouchDB và Couchbase Server)

iii
Và Một trong số những kỹ thuật cốt lõi, được sử dụng phổ biến trong khai phá
dữ liệu, mô tả kiểu hoạt động khai phá và hoạt động phục hồi dữ liệu đó là kỹ thuật
gom cụm (Clustering).

MỤC LỤC
MỞ ĐẦU........................................................................................................................ iii
DANH MỤC HÌNH ẢNH..................................................................................................vi
Chương 1: TỔNG QUAN VỀ CLUSTERING.......................................................................1
1.1. Giới thiệu.............................................................................................................1
1.1.2. Định nghĩa clustering.....................................................................................1
1.1.2. Vai trò và tầm quan trọng của clustering trong ứng dụng dữ liệu lớn..........1
1.2. Sơ lược về clustering...........................................................................................2
1.2.1. Nguyên tắc hoạt động...................................................................................2
1.2.2. Các loại Clustering.........................................................................................2
Chương 2: KỸ THUẬT KHAI PHÁ DỮ LIỆU GOM CỤM (CLUSTERING).............................3
2.1. Các phương pháp gom cụm phổ biến..................................................................3
2.1.1. K-means Clustering.......................................................................................3
2.1.2. Hierarchical Clustering..................................................................................4
2.1.3. DBSCAN (density-based spatial clustering of applications with noise)..........4
2.2. Ứng dụng chung..................................................................................................4
2.2.1. Ứng dụng chung của Cluster.........................................................................4
2.2.2. Ứng dụng của ba phương pháp gom cụm.....................................................8
2.3. Ứng dụng phân loại tài liệu..................................................................................9
2.4. Ứng dụng tính phần tram khu vực có màu xanh lá............................................13
2.5. Ứng dụng phân cụm mức sống của người dân các nước trên thế giới..............18
2.6. Ứng dụng phân loại các trạm quan sát thời tiết................................................21
Chương 3: CÁC CÔNG CỤ VÀ THƯ VIỆN DÙNG TRONG PHÂN TÍCH DỮ LIỆU LỚN CHO
CLUSTERING.................................................................................................................26
3.1. R........................................................................................................................26
3.2. Python...............................................................................................................26

iv
3.3. Jupyter...............................................................................................................27
3.3.1. Jupyter........................................................................................................27
3.3.2. Jupyter notebook........................................................................................28
3.3.3. Ví dụ sử dụng công cụ Jupyter trong kỹ thuật khai phá dữ liệu gom cụm...28
3.4. Các công cụ trực quan khác...............................................................................28
3.5. Các thách thức...................................................................................................29
KẾT LUẬN..................................................................................................................... 30
TÀI LIỆU THAM KHẢO..................................................................................................31

v
DANH MỤC HÌNH ẢNH

Hình 1. Mô tả đơn giản các bước hoạt động của K-means............................................3


Hình 2. Kết quả ví dụ phân loại khách hàng sử dụng phương pháp Hierarchical
Clustering....................................................................................................................... 8
Hình 3. Phân tách cấu trúc mô não bằng phương pháp phân vùng dựa trên thuật toán
gom cụm DBSCAN..........................................................................................................9
Hình 4. Khai báo thư viện, công cụ hỗ trợ...................................................................10
Hình 5. Đọc dữ liệu......................................................................................................10
Hình 6. Chuyển văn bản thành dạng không gian vector..............................................11
Hình 7. Xác định cụm tối ưu bằng phương pháp "Elbow Method"..............................12
Hình 8. Công thức SSE..................................................................................................12
Hình 9. Phân cụm.........................................................................................................13
Hình 10. Cụm chủ đề....................................................................................................13
Hình 11. Biển đảo Việt Nam nhìn từ vệ tinh................................................................14
Hình 12. Khai báo thư viện..........................................................................................14
Hình 13. Đọc hình ảnh.................................................................................................14
Hình 14. Lấy thông tin hình ảnh...................................................................................15
Hình 15. Hình ảnh biểu thị dưới dạng biểu đồ.............................................................15
Hình 16. Chuyển đổi hình ảnh thành mảng mới..........................................................15
Hình 17. Hình ảnh hiện thị với k=2...............................................................................17
Hình 18. Hình ảnh hiện thị với k=3...............................................................................18
Hình 19. Hình ảnh hiện thị với k=6...............................................................................18
Hình 20. Tóm tắt tệp dữ liệu........................................................................................20
Hình 21. Kết quả..........................................................................................................20
Hình 22. 5 nước đầu trong 108 nước kém phát triển..................................................21
Hình 23. Bảng sau tạo cột............................................................................................22
Hình 24. Bảng dữ liệu sau xóa cột nhiệt độ trung bình................................................22
Hình 25. Biểu diễn các trạm trên bản đồ.....................................................................23
Hình 26. Bảng dữ liệu phân cụm theo vị trí địa lý........................................................23
vi
Hình 27. Biểu diễn các trạm theo vị trí địa lý...............................................................24
Hình 28. Phân cụm các trạm theo vị trí, nhiệt độ trung bình, tối đa và tối thiểu..........24
Hình 29. Biểu diễn trên bản đồ....................................................................................25
Hình 30. Dữ liệu thông tin khách hàng........................................................................26
Hình 31. Kết quả ví dụ sử dụng công cụ Python...........................................................27

vii
Chương 1: TỔNG QUAN VỀ CLUSTERING
1.1. Giới thiệu
1.1.2. Định nghĩa clustering
Gom cụm dữ liệu là bài toán gom nhóm các đối tượng dữ liệu vào thánh từng
cụm (cluster) sao cho các đối tượng trong cùng một cụm có sự tương đồng theo một
tiêu chí nào đó [1].
1.1.2. Vai trò và tầm quan trọng của clustering trong ứng dụng dữ liệu lớn
1.1.1.2. Vai trò của clustering trong ứng dụng dữ liệu lớn
Clustering đóng một vai trò quan trọng trong ứng dụng dữ liệu lớn vì nó có thể
giúp các nhà phân tích tìm hiểu thêm về dữ liệu và đưa ra quyết định sáng suốt hơn.
Clustering có thể được sử dụng để giải quyết nhiều vấn đề khác nhau trong big data,
bao gồm [2]:
● Tìm hiểu về khách hàng: Clustering có thể được sử dụng để phân loại khách
hàng thành các nhóm dựa trên các đặc điểm chung của họ. Điều này có thể
giúp các doanh nghiệp hiểu rõ hơn về nhu cầu của khách hàng và cung cấp các
sản phẩm hoặc dịch vụ phù hợp hơn.
● Tăng cường hiệu quả hoạt động: Clustering có thể được sử dụng để cải thiện
hiệu quả hoạt động của doanh nghiệp bằng cách giúp họ tổ chức và quản lý dữ
liệu tốt hơn.
● Tăng cường bảo mật: Clustering có thể được sử dụng để phát hiện các mối đe
dọa bảo mật tiềm ẩn.
1.1.2.1. Tầm quan trọng của clustering trong ứng dụng dữ liệu lớn
Clustering là một kỹ thuật mạnh mẽ có thể được sử dụng để giải quyết nhiều
vấn đề khác nhau trong big data. Bằng cách sử dụng clustering, các nhà phân tích có
thể tìm hiểu thêm về dữ liệu của họ và đưa ra quyết định sáng suốt hơn.
Dưới đây là một số lý do tại sao clustering lại quan trọng trong ứng dụng dữ
liệu lớn:
● Clustering có thể giúp các nhà phân tích tìm hiểu thêm về dữ liệu: Clustering có
thể được sử dụng để tìm các mẫu trong dữ liệu, xác định các nhóm khách hàng
hoặc phân loại các sản phẩm. Điều này có thể giúp các nhà phân tích hiểu rõ
1
hơn về dữ liệu và đưa ra quyết định sáng suốt hơn.
● Clustering có thể giúp các doanh nghiệp cải thiện hiệu quả hoạt động:
Clustering có thể được sử dụng để cải thiện hiệu quả hoạt động của doanh
nghiệp bằng cách giúp họ tổ chức và quản lý dữ liệu tốt hơn.
● Clustering có thể giúp các doanh nghiệp tăng cường bảo mật: Clustering có thể
được sử dụng để phát hiện các mối đe dọa bảo mật tiềm ẩn.
1.2. Sơ lược về clustering
1.2.1. Nguyên tắc hoạt động
Clustering là quá trình nhóm dữ liệu thực thi thành các tập con sao cho các dữ
liệu thực thi tương tự được nhóm lại cùng nhau, trong khi các dữ liệu thực thi khác
thuộc về các nhóm khác nhau. Các trường hợp dữ liệu thực thi được tổ chức thành
một biểu diễn hiệu quả đặc trưng cho quần thể được lấy mẫu. [2]
1.2.2. Các loại Clustering
K-means Clustering
Hierarchical Clustering
DBSCAN

2
Chương 2: KỸ THUẬT KHAI PHÁ DỮ LIỆU GOM CỤM (CLUSTERING)
2.1. Các phương pháp gom cụm phổ biến
Hiện tại, có 3 phương pháp gom cụm phổ biến dưới đây:
2.1.1. K-means Clustering
● K-means là phương pháp gom cụm phổ biến.
● K-means clustering là thuật toán gom cụm thuộc Partitioning clustering, bắt
đầu với việc xác định ra số k các cluster sẽ phải phân cho tập dữ liệu, với n số
quan sát/ số object thì k ≤ n, tức mỗi cluster phải chứa ít nhất 1 quan sát hay 1
object.

Hình 1. Mô tả đơn giản các bước hoạt động của K-means.

● Hoạt động bằng cách tối ưu hóa tổng bình phương khoảng cách giữ điểm dữ
liệu và trung tâm cụm gần nhất.
● Ưu điểm:
- Dễ triển khai và hiệu quả với dữ liệu lớn.
- Hoạt động tốt khi cụm có hình dạng hình cầu và có kích thước gần như
nhau.
● Hạn chế:
- Yêu cầu xác định trước số lượng cụm K.
- Nhạy cảm với khởi tạo ban đầu, có thể dẫn đến kết quả khác nhau.

3
2.1.2. Hierarchical Clustering
● Gom cụm phân cấp (hierarchical clustering) là phương pháp gom cụm dữ liệu
bằng cách gom các đối tượng thành các cụm có cấp bậc dựa trên độ tương
đồng của các đối tượng trong dữ liệu.
● Hoạt động bằng cách ghép các cụm riêng lẻ (mỗi điểm dữ liệu) thành các cụm
lớn hơn dựa trên khoảng cách. Và quá trình này tiếp tục cho đến khi có một
duy nhất hoặc số cụm cần thiết.
● Ưu điểm:
- Không cần biết K trước, có thể hiển thị dữ liệu ở nhiều mức độ chi tiết.
- Phù hợp với các cụm có hình dạng và kích thước đa dạng.
● Hạn chế
- Tính toán tốn thời gian và dữ liệu lớn.
- Kết quả phụ thuộc vào phương pháp gom cụm cụ thể.
2.1.3. DBSCAN (density-based spatial clustering of applications with noise)
● Đây là một trong những phương pháp gom cụm phổ biến nhất.
● DBSCAN xác định cụm dựa trên mật độ dữ liệu và phát hiện cụm có hình dạng,
kích thước đa dạng cũng như điểm dữ liệu nhiễu.
● DBSCAN xác định cụm bằng cách xác định các vùng có mật độ cao của dữ liệu
và phân loại các điểm thưa thớt là nhiễu.
● Ưu điểm: Không cần xác định K trước, đáng tin cậy với dữ liệu nhiễu.
● Hạn chế:
- Dự đoán hiệu suất khi mật độ thay đổi.
- Đòi hỏi xác định được các thông số như bán kính và số lượng lân cận.
2.2. Ứng dụng chung
2.2.1. Ứng dụng chung của Cluster
Một số thuật toán gom cụm hoạt động tốt trong các tập dữ liệu nhỏ bao gồm
ít hơn 200 đối tượng dữ liệu; tuy nhiên, một cơ sở dữ liệu khổng lồ có thể bao gồm
hàng triệu đối tượng. Việc gom cụm trên một mẫu của một tập dữ liệu khổng lồ nhất
định có thể dẫn đến kết quả sai lệch. Cần có các thuật toán gom cụm có khả năng mở

4
rộng cao.
 Quản trị cơ sở dữ liệu
Cluster được dùng cho các ứng dụng các ứng dụng hoạt động thường xuyên
trong thời gian dài (Stateful applications) bao gồm các database server như là
Microsoft MySQL Server, File and Print Server, Microsoft Exchange Server,… Tất cả
các node trong cùng một Cluster sẽ dùng chung một nơi lưu trữ dữ liệu để có thể
dùng công nghệ SCSI hoặc Storage Area Network (SAN). Windows 2000 Advance
Server hỗ trợ 2 node, Windows 2000 Datacenter Server được 4 node trong khi đó
Windows Server 2003 Enterprise và Datacenter hỗ trợ cluster lên đến 8 node.
 Công cụ đề xuất
Hệ thống đề xuất là một phương pháp được sử dụng rộng rãi để cung cấp các
đề xuất được cá nhân hóa tự động về sản phẩm, dịch vụ và thông tin trong đó lọc
cộng tác là một trong những hệ thống và kỹ thuật đề xuất nổi tiếng.
Trong phương pháp này, phương pháp gom cụm cung cấp ý tưởng cho những
người dùng có cùng chí hướng. Việc tính toán/ước tính dưới dạng dữ liệu do một số
người dùng cung cấp được tận dụng để cải thiện hiệu suất của các phương pháp lọc
cộng tác. Và điều này có thể được triển khai để hiển thị các đề xuất trong nhiều ứng
dụng khác nhau.
Ví dụ: công cụ đề xuất được sử dụng rộng rãi ở Amazon, Flipkart để giới thiệu
sản phẩm và Youtube để đề xuất các bài hát cùng thể loại.
Mặc dù việc xử lý gom cụm dữ liệu mở rộng phù hợp là bước đầu tiên để thu
hẹp lựa chọn các lân cận có liên quan cơ bản trong thuật toán lọc cộng tác, nhưng
điều đó cũng giúp nâng cao hiệu suất của các công cụ đề xuất phức tạp.
Về cơ bản, mỗi cụm sẽ được gán những ưu tiên cụ thể trên cơ sở lựa chọn của
khách hàng thuộc cụm đó. Và sau đó, trong mỗi cụm, khách hàng sẽ nhận được các
đề xuất được ước tính ở cấp độ cụm.
 Phân khúc thị trường và khách hàng
Quá trình chia thị trường mục tiêu thành các loại nhỏ hơn và được xác định rõ
hơn được gọi là phân khúc thị trường. Điều này phân khúc khách hàng/đối tượng

5
thành các nhóm có đặc điểm tương tự (nhu cầu, vị trí, sở thích hoặc nhân khẩu học),
trong đó việc nhắm mục tiêu và cá nhân hóa, theo đó, là một hoạt động kinh doanh
to lớn.
Chẳng hạn, một doanh nghiệp đang muốn đạt được lợi tức đầu tư tốt nhất thì
cần phải nhắm mục tiêu khách hàng một cách thích hợp. Nếu sai sót sẽ có nguy cơ
cao là không bán được hàng và làm mất lòng tin của khách hàng.
Vì vậy, cách tiếp cận phù hợp là xem xét các đặc điểm cụ thể của mọi người và
chia sẻ các chiến dịch với họ cũng hữu ích trong việc thu hút nhiều người có hành vi
tương tự hơn.
Các thuật toán gom cụm có khả năng nhóm những người có đặc điểm và triển
vọng giống hệt nhau để mua hàng. Ví dụ: khi các nhóm được tạo, bạn có thể tiến
hành chiến dịch thử nghiệm trên từng nhóm bằng cách gửi bản sao tiếp thị và theo
phản hồi, bạn có thể gửi thêm thông điệp mục tiêu (bao gồm thông tin về sản phẩm
và dịch vụ) cho họ trong tương lai.
Trong ứng dụng phân khúc khách hàng, các nhóm khách hàng khác nhau được
tạo ra dựa trên các thuộc tính cụ thể của họ. Trên cơ sở phân tích dựa trên người
dùng, một công ty có thể xác định khách hàng tiềm năng cho sản phẩm hoặc dịch vụ
của họ.
Vì các nhóm khách hàng giống hệt nhau được tạo bằng phương pháp gom cụm
trong lĩnh vực này, nó rất giống với lọc cộng tác trong khi có sự khác biệt rất nhỏ, ở
đây, các đặc điểm bất thường của các đối tượng được triển khai cho mục đích gom
cụm thay vì thông tin xếp hạng/đánh giá.
Phương pháp gom cụm cho phép chúng tôi phân chia khách hàng thành các
cụm khác nhau, tùy thuộc vào việc công ty có thể xem xét các chiến lược mới để áp
dụng cho cơ sở khách hàng của mình.
Ví dụ: gom cụm K-means rất hữu ích cho các nhà tiếp thị trong việc cải thiện cơ
sở khách hàng, làm việc trên các khu vực được nhắm mục tiêu và phân chia khách
hàng trên cơ sở lịch sử mua hàng, sở thích hoặc hoạt động.
Một công ty viễn thông tạo một nhóm người dùng trả trước để hiểu mô

6
hình/hành vi dưới hình thức nạp tiền, gửi SMS và sử dụng Internet, điều này cũng
giúp công ty tạo phân khúc và lập kế hoạch bất kỳ chiến dịch nào cho người dùng
được nhắm mục tiêu (cụ thể nhóm người dùng).
 Phân tích mạng xã hội (SNA)
Đó là quá trình kiểm tra các cấu trúc xã hội định tính và định lượng bằng cách
sử dụng Lý thuyết đồ thị (một nhánh chính của toán học rời rạc) và mạng. Ở đây, việc
lập bản đồ cấu trúc mạng xã hội được sắp xếp theo các nút (tính cách cá nhân, con
người hoặc thực thể khác bên trong mạng) và các cạnh hoặc liên kết (mối quan hệ,
tương tác hoặc giao tiếp) kết nối chúng.
Các phương pháp gom cụm được yêu cầu trong phân tích như vậy để lập bản
đồ và đo lường mối quan hệ cũng như xung đột giữa con người, nhóm, công ty, mạng
máy tính và các thực thể thông tin/kiến thức được kết nối tương tự khác.
Ví dụ: để hiểu một mạng và những người tham gia, cần phải đánh giá vị trí và
nhóm các tác nhân trong mạng, trong đó các tác nhân có thể là cá nhân, nhóm
chuyên môn, phòng ban, tổ chức hoặc bất kỳ đơn vị cấp hệ thống lớn nào.
 Gom cụm kết quả tìm kiếm
Bạn hẳn đã gặp phải các kết quả tương tự thu được khi tìm kiếm thứ gì đó cụ
thể trên Google, những kết quả này là sự kết hợp của các kết quả trùng khớp tương
tự với truy vấn ban đầu của bạn.
Về cơ bản, đây là kết quả của việc gom cụm, nó tạo các nhóm đối tượng tương
tự trong một cụm duy nhất và hiển thị cho bạn, tức là cung cấp kết quả của dữ liệu
được tìm kiếm theo hầu hết các đối tượng có liên quan chặt chẽ nhất được gom cụm
trên dữ liệu cần tìm kiếm.
Tùy thuộc vào các đối tượng/thuộc tính tương tự gần nhất, dữ liệu được gán
cho một cụm duy nhất, mang lại rất nhiều kết quả tương tự cho người dùng. Nói một
cách đơn giản, công cụ tìm kiếm cố gắng nhóm các đối tượng giống hệt nhau trong
một cụm và các đối tượng không giống nhau trong một cụm khác.
 Phân tích dữ liệu sinh học, phân tích hình ảnh y tế và xác định tế bào ung thư
Một trong những phương tiện để kết nối các công cụ phân tích với nội dung

7
sinh học là phân tích dữ liệu sinh học để hiểu sâu hơn và mở rộng về các mối quan hệ
được xác định là có liên quan đến các quan sát thử nghiệm.
Hơn nữa, dữ liệu sinh học được cấu trúc dưới dạng mạng hoặc chuỗi trong đó
các phương pháp gom cụm rất quan trọng để xác định những điểm tương đồng sâu
sắc.
Mặt khác, trong vài năm qua, việc khai thác nghiên cứu về bộ gen người và mở
rộng cơ sở tích lũy các loại dữ liệu biểu hiện gen khác nhau đã dẫn đến việc phân tích
dữ liệu sinh học phát triển theo cấp số nhân.
Gom cụm giúp trích xuất kiến thức hữu ích từ các bộ dữ liệu khổng lồ được thu
thập trong sinh học và các lĩnh vực khoa học đời sống khác như y học hoặc khoa học
thần kinh với mục đích cơ bản là cung cấp dự đoán và mô tả cấu trúc dữ liệu.
Bằng cách sử dụng thuật toán gom cụm, các tập dữ liệu ung thư có thể được
xác định, các tập dữ liệu hỗn hợp liên quan đến cả dữ liệu ung thư và không ung thư
có thể được phân tích bằng thuật toán gom cụm để hiểu các đặc điểm khác nhau có
trong tập dữ liệu, tùy thuộc vào thuật toán tạo ra các cụm kết quả.
2.2.2. Ứng dụng của ba phương pháp gom cụm
Về K-means
 Phân khúc khách hàng trong kinh doanh
 Phân tích gen trong y khoa
 Sử dụng trong các bài toán Image segmentation
 Nén hình ảnh.
 Phát hiện tế bào ung thư.
 Phát hiện bất thường (anomaly detection).
 Ứng dụng khai phá dữ liệu nâng cao dịch vụ thư viện số. [3]
 Ứng dụng các kỹ thuật khai phá dữ liệu vào một bài toán dự báo nhiệt độ cảm
nhận từ độ ẩm và nhiệt độ trong ngày. [14]
 Ứng dụng phân đoạn ảnh. [15]
 Tách vật thể trong ảnh. [16]
Về phương pháp Hierarchical Clustering, ứng dụng trong phân loại khách hàng.
[4]

8
Hình 2. Kết quả ví dụ phân loại khách hàng sử dụng phương pháp Hierarchical
Clustering.
Về phương pháp DBSCAN, ứng dụng phân tách cấu trúc mô não. [5]

9
Hình 3. Phân tách cấu trúc mô não bằng phương pháp phân vùng dựa trên thuật toán
gom cụm DBSCAN.
2.3. Ứng dụng phân loại tài liệu
Nội dung bài toán: Các tài liệu có nội dung tương đồng sẽ được gộp thành một
chủ đề.
Lý do chọn demo: Hiện nay, thông tin trên internet ngày càng nhiều, gây khó
khăn cho người đọc trong việc lựa chọn các chủ đề theo sở thích cá nhân.
Phương pháp: KMeans
Ứng dụng: Ứng dụng Machine Learning để đề xuất các loại sách/phim phù hợp
với nhu cầu người dùng.
Mô tả chi tiết [18]:
Bước 1. Khai báo thư viện, công cụ hỗ trợ phân tích dữ liệu

10

Hình 4. Khai báo thư viện, công cụ hỗ trợ


Khai báo thư viện numpy, pandas, matplotlib.pyplot, matplotlib.cm,
Khai báo các thuật toán và công cụ hỗ trợ phân tích dữ liệu khác như:
TfidfVectorizer từ thư viện scikit-learn, TfidfVectorizer được sử dụng để
chuyển đổi văn bản thành ma trận TF-IDF, biểu diễn của văn bản trong không gian
vector.
PCA từ thư viện scikit-learn và T-SNE (t-distributed Stochastic Neighbor
Embedding) từ thư viện scikit-learn. Cả hai đều được sử dụng để giảm chiều dữ liệu,
giữ lại các thành phần chính quan trọng.
Bước 2: Đọc dữ liệu:

Hình 5. Đọc dữ liệu


Tập dữ liệu gồm 13087 dòng và 6 cột: id: Số thông cáo báo chí, title: Tiêu đề
phát hành, contents: Văn bản phát hành, date: Ngày đăng, topics, components: Cơ
quan, ban ngành (nếu có). Lấy từ 13.087 thông cáo báo chí từ trang web của Bộ Tư
pháp (DOJ) https://www.justice.gov/news.

11
Hình 6. Chuyển văn bản thành dạng không gian vector
Bước 3: Chuyển văn bản thành dạng không gian vector bằng hàm
TfidfVectorizer
Với các tham số:
min_df =5: Loại bỏ các từ xuất hiện ít hơn 5 lần trong tất cả các văn bản
Max_df: Loại bỏ các từ xuất hiện hơn 95% của tất cả các văn bản. (dựa trên
công thức TF-IDF=TF×IDF
max_features: Giữ lại tối đa 8000 từ có tần suất cao nhất.
stop_words: những từ xuất hiện khá nhiều như "is", "of", "that",... nhưng lại rất
ít quan trọng
Sau đó tính toán tần suất của mỗi từ trong tập dữ liệu đầu vào và chuyển đổi dữ
liệu văn bản thành ma trận TF-IDF (transform(data.contents)
Bước 4: Xác định số cụm tối ưu

12
Hàm này sử dụng phương pháp "Elbow Method" để xác định số lượng clusters
tốt nhất cho một thuật toán phân cụm cụ thể, trong trường hợp này là
MiniBatchKMeans theo công thức SSE
Với kích thước mẫu được sử dụng để khởi tạo trung tâm clusters ban đầu
init_size= 1024, số lượng mẫu dữ liệu trong một lần huấn luyện: batch_size=2048
random_state=20 để nhận được cùng một tập dữ liệu huấn luyện. Sau đó biểu diễn sự
thay đổi của SSE theo số lượng clusters. Và dựa vào đồ thị chọn được lượng clusters
tối ưu là 14.
Bước 5: Phân cụm dữ liệu

Hình 8. Công thức SSE

13
Hình 9. Phân cụm
Giảm chiều dữ liệu liệu từ một không gian nhiều chiều sang một không gian
mới ít chiều hơn nhằm tối ưu hóa việc thể hiện sự biến thiên của dữ liệu bằng PCA.
Sau đó chọn ngẫu nhiên một số lượng mẫu dữ liệu nhỏ hơn (300 điểm) để tạo biểu đồ
cuối cùng.
Bước 6: Các cụm chủ đề

Hình 10. Cụm chủ đề


Cuối cùng, in ra các từ khóa hàng đầu dựa trên giá trị trung bình điểm TFIDF
bằng cách nhóm dữ liệu theo nhãn cụm. Sử dụng thư viện Numpy để sắp xếp giá trị
trung bình cho mỗi cụm, và chọn lựa các từ khóa hàng đầu
2.4. Ứng dụng tính phần tram khu vực có màu xanh lá
Lý do: Dựa vào hình ảnh vệ tinh tính phần trăm khu vực có màu xanh lá để ước
tính tỷ lệ đất được bao phủ bởi rừng trong khu vực.

14
Dữ liệu đầu vào: Hình ảnh Đảo Cát Bà (Hải Phòng). Link: https://www.p-
gis.com/2019/11/bien-ao-viet-nam-nhin-tu-ve-tinh.html

Hình 11. Biển đảo Việt Nam nhìn từ vệ tinh


Mô tả chi tiết trên jupyter

Hình 12. Khai báo thư viện


Imread là một hàm trong matplotlib.image được sử dụng để đọc hình ảnh từ
một tệp hình ảnh và trả về một mảng NumPy chứa dữ liệu hình ảnh.

Hình 13. Đọc hình ảnh


Đọc dữ liệu từ tệp tin “forest.jpg” đã lưu trên cùng thư mục

15
Hình 14. Lấy thông tin hình ảnh
Lấy thông tin về kích thước của hình ảnh, phản ánh chiều cao, chiều rộng và số
lượng kênh màu.
Để biến hình ảnh vừa nhập hiện thị trên dạng đồ thị ta sử dụng lệnh sau

Hình 15. Hình ảnh biểu thị dưới dạng biểu đồ

Hình 16. Chuyển đổi hình ảnh thành mảng mới


Chuyển đổi hình ảnh thành một mảng mới với số lượng cột là 3 với 3 là số kênh
màu có trong ảnh, tham số -1 được sử dụng để tự động tính toán số lượng hàng. Và kết
quả đã chuyển thành ma trận với số hàng là 1721600 và số cột là 3.

16
Thực hiện phân cụm k-means clustering

Import lớp KMeans từ module cluster trong thư viện sklearn, trong đó Sklearn
là một thư viện trong Python chuyên về học máy và các công cụ liên quan đến xử lý
dữ liệu.

Tạo một đối tượng KMeans với tham số n_clusters được đặt là 3 có nghĩa là
muốn mô hình phân thành 3 cụm. fit(x)thực hiện quá trình huấn luyện mô hình trên dữ
liệu x để tìm ra các centroids và gán mỗi điểm dữ liệu vào một cụm tương ứng.
Tạo một ảnh được phân đoạn từ mô hình KMeans đã được huấn luyện:
truy cập các centroids tương ứng trong kmeans.cluster_centers_ tạo ra một mảng mới
segmented_image, trong đó mỗi pixel của hình ảnh mới được thay thế bằng giá trị của
centroid tương ứng của cụm mà nó thuộc về.

Kmeans.cluster_centers_: Đây là thuộc tính của đối tượng KMeans và chứa thông
tin về các centroids của các cụm. Mỗi hàng của mảng này đại diện cho một centroid
trong không gian đặc trưng.
Kmeans.labels_: Đây là thuộc tính của đối tượng KMeans và chứa nhãn của cụm
cho mỗi điểm dữ liệu trong tập huấn luyện. Mỗi phần tử của mảng này là một số
nguyên, biểu thị cụm mà điểm dữ liệu tương ứng thuộc về.
Để xem kết quả đã chạy được ta chạy câu lệnh như sau:

Kmeans.cluster_centers_ là một mảng NumPy, trong đó mỗi hàng đại diện cho
một centroid và mỗi cột đại diện cho một chiều trong không gian đặc trưng.

17
Kmeans.labels_ là một mảng NumPy, trong đó mỗi phần tử đại diện cho nhãn
của cụm tương ứng cho một điểm dữ liệu trong tập huấn luyện.

Biểu diễn mới của hình ảnh, trong đó mỗi pixel được thay thế bằng giá trị của
centroid của cụm mà pixel đó thuộc về.

Đưa hình ảnh trở lại hình dạng ban đầu, trở thành ma trận có hình dạng của
khung dữ liệu gốc là (1076, 1600, 3).
Hiển thị hình ảnh sau khi đã được phân cụm bằng mô hình KMeans

Hình 17. Hình ảnh hiện thị với k=2


Kết luận rút ra: Khi dựa vào vào đây ta thấy được 2 màu sắc riêng biệt: màu
xanh lá đậm (màu biểu tượng cho rừng) và màu xanh dương (màu biểu tượng cho các
yếu tố khác) điều này giúp dễ dàng trong việc tính toán tỷ lệ bao phủ của rừng trong
một khu vực.
18
Để hình ảnh hiện thị sát với hình ảnh gốc hơn ta có thể tăng số k

Hình 18. Hình ảnh hiện thị với k=3

Hình 19. Hình ảnh hiện thị với k=6


2.5. Ứng dụng phân cụm mức sống của người dân các nước trên thế giới
Mục tiêu: Phân cụm mức sống của người dân các nước trên thế giới
Tóm tắt: Sử dụng thuật toán Hierarchical Clustering để xây dựng mô hình.
Giải quyết vấn đề:

19
HELP International là một tổ chức phi chính phủ quốc tế cam kết chống đói
nghèo và cung cấp các đặc quyền cơ bản cho người dân của các nước lạc hậu và hỗ trợ
trong thời kỳ thảm họa và thiên tai tự nhiên.
HELP International đã gây quỹ khoảng 10 triệu đô la. Bây giờ, CEO của tổ
chức cần phải quyết định cách sử dụng số tiền này một cách hiệu quả. Vì vậy, CEO
phải đưa ra quyết định để chọn các nước cần cứu trợ nhất. Do đó, công việc của bạn, là
một nhà khoa học dữ liệu, là phân loại các quốc gia sử dụng một số yếu tố xã hội kinh
tế và sức khỏe để xác định sự phát triển tổng thể của quốc gia. Sau đó, bạn cần đề xuất
những quốc gia mà CEO cần tập trung nhiều nhất.
Mô tả tập dữ liệu [19]
Tập dữ liệu bao gồm có 10 cột và 168 dòng, trong đó:
 country: Tên nước
 child_mort: Số trẻ em dưới 5 tuổi tử vong trên mỗi 1000 trẻ được sinh ra sống
 exports: Xuất khẩu hàng hóa và dịch vụ trên mỗi người được biểu thị dưới dạng
phần trăm của GDP bình quân đầu người
 health: Tổng chi phí mà người dân chi tiêu cho sức khỏe được biểu thị dưới
dạng phần trăm của GDP bình quân đầu người
 imports: Nhập khẩu hàng hóa và dịch vụ trên mỗi người được biểu thị dưới
dạng phần trăm của GDP bình quân đầu người
 Income: Thu nhập ròng trên mỗi người
 Inflation: Đo lường tỷ lệ tăng trưởng hàng năm của Tổng sản phẩm quốc nội
(GDP)
 life_expec: Tuổi thọ trung bình theo thống kê, dựa trên dữ liệu tử vong của trẻ
sơ sinh và trẻ nhỏ trong thời điểm hiện tại.
 total_fer: Tổng tỷ suất sinh (TFR), là số con trung bình mà một phụ nữ sẽ sinh
ra trong suốt cuộc đời nếu cô ấy trải qua các tỷ suất sinh theo tuổi hiện tại trong
suốt thời kỳ sinh sản của mình.
 gdpp: GDP bình quân đầu người.

20
Hình 20. Tóm tắt tệp dữ liệu
Với tập dữ liệu không quá lớn, ta có thể sử dụng chiến lược hợp nhất
(Agglomerative) để phân chia cụm các dữ liệu hiệu quả.
Phương pháp: Hierarchical Clustering với chiến lược hợp nhất
(Agglomerative) để phân cụm dữ liệu.
Kết quả:

Hình 21. Kết quả

21
Ở biểu đồ này, chúng ta thấy rõ các nước trên thế giới được chia làm 3 nhóm,
đó là nhóm các nước phát triển (màu đỏ), các nước đang phát triển (màu xanh dương),
và các nước kém phát triển (màu xanh lá). Dựa trên đặc trưng exports (Xuất khẩu hàng
hóa và dịch vụ trên mỗi người được biểu thị dưới dạng phần trăm của GDP bình quân
đầu người) và gdpp (GDP đầu người), ta có thể xác định được những nước đang cần
trợ cấp chính là các nước kém phát triển (xanh lá), là 108 nước (Albania, Algeria,...)

Hình 22. 5 nước đầu trong 108 nước kém phát triển
2.6. Ứng dụng phân loại các trạm quan sát thời tiết
Lý do: Môi trường và thời tiết là một phần quan trọng trong các hoạt động của
con người và ảnh hưởng lớn đến các khía cạnh khác của cuộc sống, kinh tế. Vậy nên
việc tìm hiểu và phân tích về dữ liệu thời tiết là cần thiết.
Mô tả tổng quan: Ứng dụng này tập trung phân loại các trạm quan sát thời tiết
thành các nhóm có sự tương đồng về tọa độ địa lý nhằm mục tiêu cải thiện về phân bố
không gian các trạm thời tiết phục vụ cho dự báo thời tiết, nghiên cứu môi trường và
khí hậu,...
Phương pháp: Sử dụng thuật toán là DBSCAN
Tập dữ liệu: Dữ liệu sử dụng trong ứng dụng là “Environment Canada
Monthly Values for July - 2015” (Nguồn: Governmenter of Canada. Truy cập tại:
https://climat.meteo.gc.ca/climate_data/generate_chart_e.html?
StationID=26892&Month=7&Day=15&Year=2015&timeframe=2&StartYear=1840&
EndYear=2016&type=line&MeasTypeID=maxtemp&time=LST&wbdisable=true.
Data dưới dạng csv: weather-stations20140101-20141231.csv).
Quá trình thực hiện: Chuẩn bị dữ liệu đầu vào, áp dụng DBSCAN để phân
cụm các trạm dựa trên tọa độ địa lý và cuối cùng vẽ biểu đồ để hiển thị kết quả.
Mô tả chi tiết bài toán [20]

22
 Khai báo các thư viện và tải tệp dữ liệu csv sau đó tạo cột ngày, tháng, năm.

Hình 23. Bảng sau tạo cột

 Xóa các hàng không có dữ liệu trong cột nhiệt độ trung bình.

Hình 24. Bảng dữ liệu sau xóa cột nhiệt độ trung bình

 Hiện thị các trạm trên bản đồ Canada.

23

Hình 25. Biểu diễn các trạm trên bản đồ


 Phân cụm các trạm dựa trên vị trí địa lý.

Hình 26. Bảng dữ liệu phân cụm theo vị trí địa lý


 Trực quan hóa các trạm trên vị trí địa lý.

Hình 27. Biểu diễn các trạm theo vị trí địa lý

 Phân cụm các trạm dựa trên vị trí, nhiệt độ trung bình, tối đa và tối thiểu.

24
Hình 28. Phân cụm các trạm theo vị trí, nhiệt độ trung bình, tối đa và tối thiểu
 Trực quan hóa dựa trên vị trí và nhiệt độ.

Hình 29. Biểu diễn trên bản đồ


Kết luận: Có tổng cộng 9 cụm (từ 0 đến 8) dựa trên vị trí và nhiệt độ. Nhờ phân
loại như vậy mà chính phủ của Canada có thể biết được cần thêm các trạm quan sát
thời tiết hoặc bỏ bớt các trạm quan sát để phụ vụ cho nhu cầu của con người.

25
Chương 3: CÁC CÔNG CỤ VÀ THƯ VIỆN DÙNG TRONG PHÂN TÍCH
DỮ LIỆU LỚN CHO CLUSTERING
Khi nói đến phân tích dữ liệu lớn cho clustering, có sẵn một số công cụ và thư
viện khai thác dữ liệu mà bạn có thể sử dụng để thực hiện nhiệm vụ. Những công cụ
và thư viện này được thiết kế để giúp bạn phân tích các tập dữ liệu lớn phổ biến nhất
bao gồm:
3.1. R
R là ngôn ngữ lập trình nguồn mở được sử dụng rộng rãi cho tính toán thống
kê và đồ họa. Nó có một bộ thư viện khổng lồ để khai thác dữ liệu, bao gồm các thuật
toán gom cụm như k-means, gom cụm theo cấp bậc và DBSCAN. Một trong những
bước quan trọng trong phân tích cụm là xác định số lượng cụm thích hợp. Điều này
được thực hiện bằng nhiều phương pháp khác nhau như phương pháp khuỷu tay,
phương pháp elbow hoặc xác định khoảng cách.
3.2. Python
Python là một ngôn ngữ lập trình phổ biến khác được sử dụng rộng rãi trong
khoa học dữ liệu và máy học. Python có một số thư viện có thể sử dụng để khai thác
dữ liệu, bao gồm scikit-learn, NumPy và matplotlib. Các thư viện này cung cấp nhiều
thuật toán gom cụm và công cụ trực quan hóa có thể giúp phân tích dữ liệu của mình.
Có ba kỹ thuật được sử dụng rộng rãi để tạo cụm trong Python: gom cụm K-mean,
mô hình hỗn hợp Gaussian và gom cụm quang phổ.
Đối với các bài toán có nhiều nhất là vài chục dữ liệu đầu vào như xác định các
nhóm người tiêu dùng riêng biệt thì K-means là một lựa chọn tuyệt vời. Đối với các
bài toán phức tạp hơn như phát hiện bất thường, một mô hình chính xác và linh hoạt
hơn như mô hình hỗn hợp Guassian sẽ phù hợp hơn. Cuối cùng, đối với các bài toán
nhiều chiều với hàng nghìn đầu vào, gom cụm quang phổ là lựa chọn tốt nhất.
Ví dụ với dữ liệu khá đơn giản gồm có ID khách hàng, giới tính, độ tuổi, thu
nhập và chi tiêu có thang điểm từ 1 đến 100 như hình 4.

26
Hình 30. Dữ liệu thông tin khách hàng.
Mục tiêu của phương pháp K-means trong Python là tạo ra các 4 nhóm khách
hàng, Trong đó mỗi thành viên trong nhóm giống nhau hơn so với các thành viên của
các nhóm khác.
Kết quả của phương pháp K-mean đã phân thành bốn nhóm nhỏ như hình 5:
Nhóm 1: Khách hàng trẻ với mức chi tiêu trung bình.
Nhóm 2: Khách hàng trẻ với mức chi tiêu cao.
Nhóm 3: Khách hàng trung niên với chi tiêu thấp.
Nhóm 4: Khách hàng người cao tuổi với mức chi tiêu trung bình.

Hình 31. Kết quả ví dụ sử dụng công cụ Python.


3.3. Jupyter
3.3.1. Jupyter
Jupyter là một nền tảng tính toán khoa học mã nguồn mở, với khả năng nổi bật
cho phép tương tác trực tiếp với từng dòng code (interactive), hỗ trợ hơn 40 ngôn
ngữ lập trình, trong đó tập trung vào 3 ngôn ngữ là Julia, Python và R, cái tên Jupyter
bắt nguồn từ cách chơi chữ I Python, You R, We Julia, hay một công thức ngắn gọn
Jupyter = Julia + Python + R. Bên cạnh đó, Jupyter cũng là một công cụ hoàn toàn

27
miễn phí, được tạo ra với mục đích nhắm đến khoa học dữ liệu và giáo dục, giúp mọi
người cùng học lập trình dễ dàng hơn (cụ thể ở đây là Python). Jupyter có tính tương
tác nên có thể sử dụng làm môi trường chạy thử và giảng dạy. [6]
3.3.2. Jupyter notebook
Trước đây là nó có tên là IPython Notebook, đến năm 2014 lại đổi tên thành
Jupyter Notebook. Jupyter hỗ trợ rất nhiều các kernel cho các ngôn ngữ khác nhau,
khoảng trên 40 ngôn ngữ trong đó có Python. Việc đổi tên từ IPython sang Jupyter
cũng là vì mục đích hỗ trợ đa ngôn ngữ.
Phần cơ bản của nó là một ứng dụng chạy trên nền web cho phép chạy Interactive
Python (hay IPython), bạn có thể đưa cả code Python và các thành phần văn bản
phức tạp như hình ảnh, công thức, video, biểu thức,... vào trong cùng một file giúp
cho việc trình bày trở lên dễ hiểu, giống như một file trình chiếu nhưng lại có thể thực
hiện chạy code tương tác trên đó, cốt lõi của việc này chính là Markdown. Các file
"notebook" này có thể được chia sẻ với mọi người và có thể thực hiện lại các công
đoạn một cách nhanh chóng và chính xác như những gì bạn đã làm trong quá trình
tạo ra file.[6]
3.3.3. Ví dụ sử dụng công cụ Jupyter trong kỹ thuật khai phá dữ liệu gom cụm
Dưới đây là ba ví dụ sử dụng phương pháp gom cụm k-means trên công cụ
jupyter.
Bài toán 1: Có 1 tập hợp các điểm trên không gian tọa độ Oxy. Mỗi điểm sẽ có
tọa độ (x, y) xác định. Bài toán cần giải quyết là chia các điểm này thành K cụm khác
nhau phân biệt. [17]
Bài toán 2: Giả sử rằng chúng ta không biết nhãn của các chữ số này, chúng ta
muốn phân nhóm các bức ảnh gần giống nhau về một nhóm. [16]
Bài toán 3: xử lý tách vật thể trong ảnh. Giả sử chúng ta có một bức ảnh và
muốn một thuật toán tự động nhận ra vùng khuôn mặt và tách nó ra. [16]
3.4. Các công cụ trực quan khác
RapidMiner là một công cụ khai thác dữ liệu cung cấp một loạt các thuật toán,
bao gồm k-means, gom cụm theo cấp bậc và DBSCAN. Đặc biệt công cụ có giao diện

28
thân thiện với người dùng giúp dễ dàng thực hiện phân tích cụm.
Orange, Knime là một công cụ khai thác dữ liệu nguồn mở cung cấp nhiều
thuật toán gom cụm và công cụ trực quan hóa. Cả hai đều có giao diện thân thiện với
người dùng, dễ dàng phân tích cụm, ngay cả khi bạn là người mới không có nền tảng
về khoa học dữ liệu.
3.5. Các thách thức
Các thách thức trong Clustering analysis
- Một trong những thách thức lớn nhất là xác định số lượng cụm tối ưu để sử
dụng. Điều này có thể được giải quyết bằng cách sử dụng các kỹ thuật như
phương pháp elbow hoặc silhouette
- Một thách thức khác là khả năng xử lý dữ liệu nhiễu. Điều này có thể được giải
quyết bằng cách sử dụng các kỹ thuật như gom cụm theo cấp bậc hoặc
DBSCAN, có khả năng chống nhiễu tốt hơn.
- Cấu trúc dữ liệu đầu vào: Dữ liệu đầu vào không phải lúc nào cũng chứa các
cụm có thể nhận dạng rõ ràng. Đồng thời các cụm có thể ảnh hướng tới kết
quả khi thực thi các thuật toán.
- Thiếu hụt đặc trưng: Khi dữ liệu không có đầy đủ các đặc trưng. quá trình gom
cụm trở nên khó khăn. Và ảnh hưởng đến tính chính xác của kết quả gom cụm.

29
KẾT LUẬN
Tóm lại, gom cụm là một phần quan trọng trong khai phá dữ liệu. Nó là quá
trình phân nhóm dữ liệu thành các nhóm dựa trên đặc điểm tương tự, giúp tạo ra cấu
trúc và hiểu biết về dữ liệu.
Với ba phương pháp gom cụm phổ biến là K-means Clustering, Hierarchical
Clustering và DBSCAN có ưu điểm và hạn chế riêng. Do đó, Quá trình lựa chọn
phương pháp gom cụm đòi hỏi phân tích dữ liệu, xác định số lượng cụm phù hợp và
lựa chọn phương pháp phù hợp với nhiệm vụ cụ thể.
Có thể thấy, Gom cụm có nhiều ứng dụng quan trọng trong kinh doanh như
Quản trị cơ sở dữ liệu, Phân khúc thị trường và khách hàng, Phân tích dữ liệu sinh
học, phân tích hình ảnh y tế và xác định tế bào ung thư,...
Bên cạnh đó, Gom cụm cũng là một công cụ mạnh mẽ để tạo ra cái nhìn sâu
sắc về dữ liệu, giúp doanh nghiệp hiểu rõ hơn về khách hàng, quản lý tài nguyên và
tối ưu hóa quy trình.
Trong thế giới dữ liệu lớn ngày nay, khả năng khai phá và tận dụng thông tin từ
dữ liệu là một phần quan trọng trong sự thành công của các doanh nghiệp.

30
TÀI LIỆU THAM KHẢO

[1] Nguyễn Thị Hợp (18/02/2020). Hierarchical clustering - Phân cụm dữ liệu. Truy cập
tại: https://viblo.asia/p/hierarchical-clustering-phan-cum-du-lieu-maGK7q2elj2.

[2] Rokach, L., & Maimon, O. (2005). Clustering methods. Data mining and knowledge
discovery handbook, 321-352.

[3] Truy cập ví dụ tại:


https://repository.vnu.edu.vn/bitstream/VNU_123/98628/1/Ban%20bong
%209%20CH%E1%BB%90T%20IN_p892-907.pdf.

[4] Truy cập ví dụ tại: https://github.com/sukruta230901/Machine-Learning-


Clustering_algorithms-LAB.

[5] Nguyễn Thị Bích Diệp, Bùi Thị Hương Thơm, Đỗ Duy Cốp (2017). Thuật toán
DBSCAN trong phân vùng ảnh chụp ct và ứng dụng trong trích xuất đặc trưng não
người. Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san ACMEC, 223-229.

[6] Minh (03/09/2020). Jupyter Notebook - Công Cụ Python Cơ Bản Cho Beginner.
Truy cập tại: https://codelearn.io/sharing/jupyter-notebook-tutorial.

[7] Viettel IDC (06/08/2020). Công nghệ Cluster và ứng dụng trong hoạt động quản trị
cơ sở dữ liệu (Database). Truy cập tại: https://viettelidc.com.vn/tin-tuc/cong-nghe-
cluster-va-ung-dung-trong-hoat-dong-quan-tri-co-so-du-lieu-database.

[8] ITNavi (28/06/2021). Ứng dụng của Clustering là gì trong quản trị cơ sở dữ liệu.
Truy cập tại: https://itnavi.com.vn/blog/clustering-la-gi/.

[9] Ginni (24/11/2021). What are the applications of clustering? Truy cập tại:
https://www.tutorialspoint.com/what-are-the-applications-of-clustering.

[10] Neelam Tyagi (15/02/2021). 5 Clustering Methods and Applications. Truy cập tại:
https://www.analyticssteps.com/blogs/5-clustering-methods-and-applications.

[11] Ester, Martin; Kriegel, Hans-Peter; Sander, Jörg; Xu, Xiaowei (1996). Simoudis,
Evangelos; Han, Jiawei; Fayyad, Usama M. (biên tập). A density-based algorithm for

31
discovering clusters in large spatial databases with noise. Proceedings of the Second
International Conference on Knowledge Discovery and Data Mining (KDD-96).
Association for the Advancement of Artificial Intelligence, 226–231.

[12] Parul Agarwal ,M. Afshar Alam ,Ranjit Biswas (2011). Issues, Challenges and Tools
of Clustering Algorithms. IJCSI International Journal of Computer Science Issues, tập 8,
số 2, 523-528.

[13] Eric J (….). Data Mining Tools for Cluster Analysis: A Comprehensive Guide. Truy
cập tại:
https://datarundown.com/data-mining-cluster-analysis/#Data_Mining_Tools_and_Li
braries.

[14] Trần Hải Vinh (2022). Nghiên cứu ứng dụng kỹ thuật khai phá dữ liệu trong dự
báo một số thông số khí quyển. Luận văn thạc sĩ chuyên ngành hệ thống thông tin,
học viện khoa học và công nghệ.

[15] Vũ Hoàng Anh, Nguyễn Hữu Tài, Nguyễn Đăng Đức Hải (2021). Tìm hiểu về thuật
toán phân loại K-means. Báo cáo bài tập môn khai phá dữ liệu, Trường Đại học
Phenikaa.

[16] Tiep Vu Huu (04/01/2017). K-means Clustering: Simple Applications. Truy cập tại:
https://machinelearningcoban.com/2017/01/04/kmeans2/#5-souce-code.

[17] Nguyễn Văn Hiếu (11/08/2018). Thuật toán K-Means (K-Means clustering) và ví
dụ. Truy cập tại: https://blog.luyencode.net/thuat-toan-phan-cum-k-means/#thuc-
hanh-voi-k-means.

[18] https://www.kaggle.com/code/jbencina/clustering-documents-with-tfidf-and-
kmeans

[19] https://www.kaggle.com/code/ensarerdogan/health-spending-with-hierarchical-
clustering/notebook

[20] https://www.kaggle.com/code/lykin22/weather-station-clustering-using-
dbscan/notebook

32
33

You might also like