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

Báo cáo cuối kỳ môn khai thác dữ liệu khám phá tri thức

47 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 đề DBSCAN
Tác giả Lâm Quốc Huy, Lê Nguyễn Tấn Thi, Ngô Quang Thuận, Nguyễn Lê Quốc Trung, Huỳnh Anh Tuấn
Người hướng dẫn PhD. Hoàng Anh
Trường học Trường Đại Học Tôn Đức Thắng
Chuyên ngành Khai Thác Dữ Liệu Khám Phá Tri Thức
Thể loại Báo cáo cuối kỳ
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 47
Dung lượng 5,08 MB

Nội dung

Nó xác định cáccụm dựa trên sự gần nhau của các điểm dữ liệu, và cụm được định nghĩa bởiviệc có ít nhất một số lượng tối thiểu các điểm nằm trong khoảng cách cố địnhtừ một điểm tham chiế

Trang 1

TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CUỐI KỲ

MÔN KHAI THÁC DỮ LIỆU KHÁM PHÁ TRI THỨC

Lớp : 20050301 Khoá : 24

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2023

Trang 2

TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CUỐI KỲ

MÔN KHAI THÁC DỮ LIỆU KHÁM PHÁ TRI THỨC

Lớp : 20050301 Khoá : 24

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2023

Trang 3

LỜI CẢM ƠN

Em là Lâm Quốc Huy thay mặt mọi người viết lên những dòng tri ân này Những lờinói cao đẹp xin gửi đến Thầy đã giúp đỡ chúng em nói riêng và khoa CNTT nói chung trongsuốt quá trình học tập và làm bài, Thầy đã giúp đỡ rất nhiều trong công tác định hình về gócnhìn thực tế của bài báo cáo về đề tài Những khía cạnh và công việc thực tế mà có lẽ chúng

em sẽ không nêu ra được nếu không có đầy đủ sự trải nghiệm và thấu hiểu quy trình vận hànhcủa Thầy Đồng thời, chúng em cũng muốn gửi lời cảm ơn chân thành đến tập thể khoaCNTT và toàn thể cán bộ công nhân viên chức trường Đại Học Tôn Đức Thắng Những sựcống hiến đóng góp thầm lặng của những con người anh hùng không tên, bỏ đi lợi ích củamình góp phần tạo nên giá trị to lớn của cả một thể hoàn chỉnh Xin chân thành cảm ơn tất cả

Trang 4

ĐỒ ÁN ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

Tôi xin cam đoan đây là sản phẩm đồ án của riêng tôi và được sự hướng dẫn của

PhD.Hoàng Anh Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa

công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ choviệc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi

rõ trong phần tài liệu tham khảo

Ngoài ra, trong đồ án còn sử dụng một số nhận xét, đánh giá cũng như số liệu của cáctác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc

Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung đồ án của mình Trường đại học Tôn Đức Thắng không liên quan đến những vi phạm

tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện

TP Hồ Chí Minh, ngày 10 tháng 10 năm 2023

Tác giả

Lâm Quốc Huy Lê Nguyễn Tấn Thi

Ngô Quang Thuận Nguyễn Lê Quốc Trung

Huỳnh Anh Tuấn

Trang 5

PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊNPhần xác nhận của GV hướng dẫn

_ _ _ _ _ _

Tp Hồ Chí Minh, ngày tháng năm

Phần đánh giá của GV chấm bài

_ _ _ _ _ _ _

Tp Hồ Chí Minh, ngày tháng năm

Trang 6

MỤC LỤC

1 Bảng phân công công việc

2 Tìm hiểu/ phân tích vấn đề, Liệt kê các câu hỏi

3 Thu thập dữ liệu

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

5 Phân tích/ tìm hiểu thuật toán phù hợp

6 Phân tích/ đánh giá kết quả

7 Sử dụng tri thức

Trang 7

STT THÔNG TIN CÔNG VIỆC THỜI GIAN

1 LÂM QUỐC HUY – 52000216

Soạn slide, viết báo cáo,thuyết trình, quản lý tiến độhoạt động nhóm Trình bày/

phân tích/ Báo cáo kết quả

20h00 15/11/2023

-2 LÊ NGUYỄN TẤN THI - 52000806

Tìm hiểu/ phân tích vấn đềLiệt kê các câu hỏi , Thuthập dữ liệu Databases, Tiền

xử lý dữ liệu DataWarehouse Data Integration

20h00 –20/10/2023

3 NGÔ QUANG THUẬN - 51900567 Các thông số mô tả dữ liệu

Sử dụng công cụ Tiền xử lý

dữ liệuTrực quan hóa dữ liệuHuấn luyện mô hìnhTrình bày/ trực quan hóa kếtquả đạt đượcLựa chọn chỉ số/ độ đo đánh

giáTrình bày/ phân tích/ Báocáo kết quảHướng ứng dụng kết quả đạt

được

20h00 –10/11/2023

4 NGUYỄN LÊ QUỐC TRUNG -52100860

5 HUỲNH ANH TUẤN - 52000291 Phân tích/ tìm hiểu thuật toánphù hợp.Phân tích/ đánh giá

kết quả.Sử dụng tri thức 29/10/2023

CHƯƠNG 1 : PHÂN CÔNG CÔNG VIỆC

CHƯƠNG 2 : TÌM HIỂU / PHÂN TÍCH VẤN ĐỀ; LIỆT KÊ

1 GIỚI THIỆU :

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)

là một thuật toán phân cụm dựa trên mật độ được giới thiệu vào năm 1996 bởiMartin Ester, Hans-Peter Kriegel, Jörg Sander và Xiaowei Xu DBSCAN đã trởthành một trong những phương pháp phân cụm quan trọng trong lĩnh vực họcmáy và khai thác dữ liệu Thuật toán này giúp xác định các cụm dữ liệu dựatrên sự gần nhau của các điểm và cũng có khả năng phát hiện các điểm nhiễu

2 NGUYÊN TẮC HOẠT ĐỘNG :

Trang 8

DBSCAN hoạt động dựa trên nguyên tắc của mật độ Nó xác định cáccụm dựa trên sự gần nhau của các điểm dữ liệu, và cụm được định nghĩa bởiviệc có ít nhất một số lượng tối thiểu các điểm nằm trong khoảng cách cố định

từ một điểm tham chiếu Dưới đây là quy trình hoạt động cụ thể của DBSCAN:

Chọn một điểm ngẫu nhiên từ tập dữ liệu làm điểm tham chiếu ban đầu

● Tìm tất cả các điểm có thể đạt được từ điểm tham chiếu theo khoảng cách epsilon (bán kính) và có ít nhất min_samples điểm trong khoảng cách này.

● Nếu điểm tham chiếu là một điểm lõi (có đủ số lượng điểm trong bán kính epsilon), thì tạo một cụm mới và thêm tất cả các điểm này vào cụm Nếu điểm không phải là điểm lõi, đánh dấu nó như là một điểm biên hoặc nhiễu.

● Lặp lại quy trình cho tất cả các điểm trong cụm vừa tạo ra.

● Khi không còn điểm nào khả thi để thêm vào cụm, chuyển sang chọn một điểm mới từ tập dữ liệu chưa được gán cụm và lặp lại quy trình.

● Kết thúc quá trình khi tất cả các điểm đã được gán vào các cụm hoặc đánh dấu là điểm nhiễu.

3 ĐẶC ĐIỂM CỦA DBSCAN :

Trang 9

● Phát hiện nhiễu: Một trong những điểm mạnh của DBSCAN là khả

năng phát hiện các điểm nhiễu (outliers) trong dữ liệu Các điểm nhiễu lànhững điểm không thuộc vào bất kỳ cụm nào và có thể là những dữ liệukhông hợp lý

○ Ví dụ :

■ Trong một tập dữ liệu về thời gian giao thông hàng ngày,nếu có một điểm dữ liệu đại diện cho một sự cố giao thôngbất thường hoặc tai nạn, DBSCAN có thể phát hiện điểmnày là một điểm nhiễu, bởi vì nó không thuộc vào bất kỳcụm hàng ngày nào

■ Trong dữ liệu về giá trị giao dịch tài chính, nếu xuất hiệnmột giao dịch không hợp lý hoặc gian lận, DBSCAN cóthể xác định giao dịch này là một điểm nhiễu

● Không cần xác định số lượng cụm trước: DBSCAN không yêu cầu bạn

phải xác định số lượng cụm trước Nó có khả năng xác định số cụm dựatrên dữ liệu và tham số epsilon và min_samples

○ Ví dụ:

■ Trong việc phân loại vùng địa lý dựa trên dữ liệu dân số,không có sẵn thông tin về số lượng vùng cần phân loại.DBSCAN có thể xác định số lượng vùng dựa trên dữ liệu

và các tham số epsilon và min_samples mà bạn cung cấp

● Xử lý cụm có hình dạng và kích thước khác nhau: DBSCAN có khả

năng xử lý các cụm có hình dạng và kích thước khác nhau một cách hiệuquả, do đó, nó là lựa chọn phù hợp cho nhiều tình huống thực tế

○ Ví dụ :

■ Trong việc phân cụm hình dạng của các đám mây điểmảnh từ máy quay không người lái, DBSCAN có thể xử lýcụm có hình dạng và kích thước khác nhau, bao gồm cảcụm hình tròn, hình bản đồ và cụm không đều

Trang 10

● Phân biệt cụm và biên: DBSCAN phân biệt giữa các điểm thuộc vào

cụm và các điểm biên Điểm biên là các điểm nằm cạnh các cụm nhưngkhông đủ gần để được coi là thuộc vào cụm

○ Ví dụ:

■ Trong việc phân cụm dữ liệu khách hàng trực tuyến,DBSCAN có thể xác định rõ ràng điểm dữ liệu thuộc vàomột cụm chứa các khách hàng trung thành, trong khi cáckhách hàng biên là những người mua sắm một lần vàkhông thường xuyên

● Độ phức tạp thời gian và không gian tương đối thấp: So với một số

thuật toán phân cụm khác, DBSCAN có độ phức tạp thời gian và khônggian tương đối thấp

○ Ví dụ:

■ Trong ứng dụng thời gian thực như việc theo dõi cácphương tiện giao thông trên một mạng đô thị lớn, việc sửdụng DBSCAN có thể giúp xác định các cụm xe và điểmbiên một cách hiệu quả với độ phức tạp thời gian và khônggian thấp, cho phép theo dõi gần thời gian thực

4 NHƯỢC ĐIỂM CỦA DBSCAN :

● Đặt tham số epsilon và min_samples khó khăn: Để đạt được kết quả

tốt, bạn cần đặt các tham số epsilon và min_samples sao cho phù hợp với

dữ liệu Điều này có thể đòi hỏi nhiều thử nghiệm và tinh chỉnh

● Khó xử lý dữ liệu có mật độ biến đổi lớn: DBSCAN không phù hợp với

dữ liệu có mật độ biến đổi lớn trong các cụm Trong trường hợp này, cáccụm có thể bị nối lại hoặc không được phân cụm đúng cách

5 LIỆT KÊ CÁC CÂU HỎI LIÊN QUAN ĐẾN THUẬT TOÁN DBSCAN :

Trang 11

5.1 DBSCAN là gì và nó được sử dụng để làm gì trong lĩnh vực học máy và khai thác dữ liệu?

5.2 Nguyên tắc hoạt động của DBSCAN là gì? Làm thế nào nó phân cụm dữ liệu dựa trên mật độ?

5.3 Tham số epsilon trong DBSCAN đại diện cho điều gì và làm thế nào để chọn giá trị thích hợp cho nó?

5.4 Tham số min_samples trong DBSCAN đại diện cho điều gì và làm thế nào để chọn giá trị thích hợp cho nó?

5.5 Làm thế nào DBSCAN phát hiện các điểm nhiễu trong dữ liệu? Tại sao việc phát hiện nhiễu quan trọng?

5.6 DBSCAN có yêu cầu xác định số lượng cụm trước khi chạy thuật toán không? Nếu không, thì làm thế nào để nó xác định số lượng cụm? 5.7 Làm thế nào DBSCAN xử lý các cụm có hình dạng và kích thước khác nhau trong dữ liệu?

5.8 Tham số epsilon và min_samples ảnh hưởng như thế nào đến kết quả phân cụm của DBSCAN?

5.9 Làm thế nào để phân biệt giữa các điểm thuộc vào cụm và các điểm biên trong kết quả của DBSCAN?

5.10 DBSCAN có độ phức tạp thời gian và không gian như thế nào và tại sao

nó được coi là hiệu quả trong việc xử lý dữ liệu lớn?

5.11 Làm thế nào để tùy chỉnh DBSCAN cho các tình huống dữ liệu cụ thể hoặc tối ưu hóa hiệu suất của nó?

5.12 DBSCAN có những ưu điểm và hạn chế gì so với các thuật toán phân cụm khác?

5.13 Có những ứng dụng cụ thể nào của DBSCAN trong thực tế, và làm thế nào nó giúp giải quyết các vấn đề cụ thể trong những ứng dụng đó? 5.14 Trong trường hợp dữ liệu lớn hoặc phức tạp, làm thế nào để tối ưu hóa việc sử dụng DBSCAN?

Trang 12

5.15 Làm thế nào để chọn giá trị tối ưu cho tham số epsilon khi bạn không biết trước về cấu trúc của dữ liệu?

5.16 Tham số epsilon và min_samples có thể được điều chỉnh trong quá trình chạy DBSCAN hoặc chúng cần phải được xác định trước?

5.17 Làm thế nào để kiểm tra tính nhạy cảm của kết quả của DBSCAN đối với thay đổi của tham số epsilon?

5.18 Có các biến thể của DBSCAN như OPTICS (Ordering Points To Identify the Clustering Structure) và HDBSCAN (Hierarchical DBSCAN) Làm thế nào chúng khác biệt và khi nào bạn nên sử dụng chúng?

5.19 DBSCAN thường hoạt động tốt trên dữ liệu dạng hình non-đều và có hình dạng phức tạp Tuy nhiên, có những tình huống nào mà DBSCAN không phù hợp và bạn nên xem xét các thuật toán phân cụm khác? 5.20 Làm thế nào để tối ưu hóa hiệu suất của DBSCAN trong các trường hợp

dữ liệu lớn với số lượng điểm cực lớn?

5.21 Có các thư viện và framework phổ biến nào hỗ trợ triển khai DBSCAN trong các ngôn ngữ lập trình như Python hoặc R?

5.22 Trong việc sử dụng DBSCAN cho các ứng dụng thực tế, bạn cần lưu ý các vấn đề về bảo mật và quyền riêng tư Làm thế nào để giải quyết những vấn đề này khi áp dụng DBSCAN cho dữ liệu nhạy cảm?

6 KẾT LUẬN

● DBSCAN là một thuật toán phân cụm dựa trên mật độ mạnh mẽ và linhhoạt Nó có khả năng xác định số lượng cụm tự động, phát hiện điểmnhiễu và xử lý các cụm có hình dạng và kích thước khác nhau Mặc dù

có một số hạn chế và cần tinh chỉnh tham số, DBSCAN vẫn là một công

cụ quan trọng trong việc phân cụm và khai thác dữ liệu

Trang 13

7 ỨNG DỤNG THỰC TẾ :

Phát hiện Giao thông và Phân tích Đô thị: DBSCAN có thể được sử dụng đểphân tích dữ liệu giao thông, giúp xác định các khu vực tắc nghẽn hoặc cácđiểm nóng giao thông trong một thành phố

Thu Thập Dữ liệu

 Nguồn Dữ liệu: Dữ liệu có thể được thu thập từ nhiều nguồn như

cảm biến giao thông, camera an ninh, GPS xe cộ, và dữ liệu từứng dụng di động

 Loại Dữ liệu: Dữ liệu bao gồm thông tin về vị trí (tọa độ GPS),

thời gian (thời điểm cụ thể trong ngày), và có thể bao gồm cả tốc

độ xe cộ

 Xử lý Dữ liệu

 Làm sạch Dữ liệu: Loại bỏ nhiễu và dữ liệu không chính xác.

 Chuẩn hóa Dữ liệu: Đồng bộ hóa định dạng và quy mô của dữ

liệu từ các nguồn khác nhau

Phân loại Điểm Dữ liệu:

 Core Points: Điểm có ít nhất MinPts điểm hàngxóm trong phạm vi ε

 Border Points: Điểm không đủ MinPts nhưng nằmgần Core Point

 Noise Points: Điểm không phải Core Point hoặcBorder Point

Trang 14

 Tạo Cụm: Từ mỗi Core Point, thuật toán mở rộng

cụm bằng cách thêm tất cả các điểm hàng xóm đủđiều kiện

Phân Tích và Diễn Giải

 Xác định Các Điểm Nóng Giao Thông: Các cụm

lớn, chặt chẽ có thể chỉ ra các khu vực tắc nghẽnhoặc điểm nóng giao thông

 Phân Tích Theo Thời Gian và Không Gian: So

sánh các cụm theo thời gian khác nhau trong ngàyhoặc các ngày khác nhau trong tuần để hiểu môhình giao thông

Ứng Dụng Thực Tiễn

 Cải Thiện Quy Hoạch Đô Thị: Sử dụng thông tin

về các điểm nóng giao thông để cải thiện hệ thốngđường xá và quy hoạch giao thông

 Hỗ trợ Quyết Định: Cung cấp dữ liệu cho quyết

định về đặt biển báo, đèn giao thông, hoặc thay đổichính sách giao thông

 Cảnh báo và Hướng Dẫn Người Lái: Cảnh báo về

tắc nghẽn và hướng dẫn người lái xe tìm lộ trìnhthay thế

Trang 15

Biểu đồ trên minh họa cách DBSCAN được áp dụng để phân loại dữ liệu giaothông:

 Các điểm lớn biểu thị các Core Points (điểm lõi), nơi có ít nhất MinPtsđiểm hàng xóm trong phạm vi ε

 Các điểm nhỏ đại diện cho các Border Points (điểm biên), không đủMinPts nhưng nằm gần Core Point

 Các điểm màu đen là Noise Points (điểm nhiễu), không phải là CorePoint hoặc Border Point

Các cụm khác nhau được mô tả bằng các màu sắc khác nhau Cụ thể, mỗi cụm

có thể biểu thị một khu vực tắc nghẽn hoặc điểm nóng giao thông trong thànhphố, giúp trong việc phân tích và quy hoạch giao thông đô thị

CHƯƠNG 3: THU NHẬP DỮ LIỆU

1 Đặc tả dữ liệu :

a Nguồn : Kaggle

Trang 16

b Tên dữ liệu : marketing_campaign.csv

c Ý nghĩa từng cột dữ liệu :

● ID: Một số nguyên đại diện cho ID duy nhất của mỗi khách hàng.

● Year_Birth: Một số nguyên biểu thị năm sinh của khách hàng.

● Education: Chuỗi biểu thị trình độ học vấn của khách hàng, có thể là

một trong các giá trị: 'PhD', 'Master', 'Graduation', '2n Cycle', 'Basic'

● Marital_Status: Chuỗi biểu thị tình trạng hôn nhân của khách hàng, có

thể là một trong các giá trị: 'Single', 'Together', 'Married', 'Divorced','Widow', 'Alone'

● Income: Một số nguyên biểu thị thu nhập của khách hàng.

● Kidhome: Một số nguyên biểu thị số trẻ em trong gia đình của khách

● Recency: Một số nguyên biểu thị số ngày kể từ lần mua hàng gần nhất

của khách hàng đến ngày cuối cùng trong tập dữ liệu

● MntWines: Một số nguyên biểu thị số tiền chi tiêu trên rượu vang.

● MntFruits: Một số nguyên biểu thị số tiền chi tiêu trên hoa quả.

● MntMeatProducts: Một số nguyên biểu thị số tiền chi tiêu trên sản

Trang 17

● NumDealsPurchases: Một số nguyên biểu thị số lần mua hàng trong các

giao dịch khuyến mãi

● NumWebPurchases: Một số nguyên biểu thị số lần mua hàng trực

tuyến qua trang web

● NumCatalogPurchases: Một số nguyên biểu thị số lần mua hàng thông

qua việc đặt hàng từ các catalog

● NumStorePurchases: Một số nguyên biểu thị số lần mua hàng tại cửa

hàng

● NumWebVisitsMonth: Một số nguyên biểu thị số lượt truy cập trang

web trong một tháng

● AcceptedCmp3, AcceptedCmp4 AcceptedCmp5 AcceptedCmp1, , ,

AcceptedCmp2: Các số nguyên biểu thị việc chấp nhận các chiến dịch

tiếp thị 3, 4, 5, 1, 2 tương ứng

● Complain: Một số nguyên biểu thị xem khách hàng có khiếu nại hay

không (1 nếu có, 0 nếu không)

● Z_CostContact: Một số nguyên biểu thị chi phí liên lạc (cố định).

● Z_Revenue: Một số nguyên biểu thị doanh thu liên lạc (cố định).

● Response: Một số nguyên biểu thị phản ứng của khách hàng (1 nếu có, 0

nếu không)

CHƯƠNG 4: TIỀN XỬ LÝ DỮ LIỆU

1 Kiểm tra dữ liệu NaN

a Code :

fdata.isna( )

b Kết Qủa:

Trang 18

2 Kiểm tra dữ liệu rỗng :

Trang 19

4 Loại bỏ tất cả các dòng có xuất hiện bất cứ NaN :

a Code :

fdata.dropna(inplace=True, axis=0, how="any")fdata.isna().any()

b Kết quả :

Trang 20

5 Chuẩn hóa dữ liệu (ví dụ: chuyển đổi đơn vị thu nhập) :

a Code :

fdata[ 'Income' ] = fdata[ 'Income' ] * 1000 # Chuyển đổi thu nhập thành đơn vị VND

b Kết quả :

Trang 21

6 Xử lý dữ liệu dạng văn bản (ví dụ: mã hóa trình độ học vấn) :

Trang 22

7 Trực quan hoá biểu đồ dữ liệu :

Ngày đăng: 03/10/2024, 21:52