ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KINH TẾ
KHOA HỆ THỐNG THÔNG TIN KINH TẾ
------
CHUYÊN ĐỀ TỐT NGHIỆP ĐẠI HỌC
SỬ DỤNG PHẦN MỀM RAPIDMINER NHẰM PHÂN LOẠI
KHÁCH HÀNG TRONG QUẢN LÝ KHÁCH HÀNG MUA HÀNG
TẠI CÔNG TY TNHH MÁY TÍNH PHONG VŨ
HOÀNG VĂN NAM
Khóa học: 2011-2015
ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KINH TẾ
KHOA HỆ THỐNG THÔNG TIN KINH TẾ
------
CHUYÊN ĐỀ TỐT NGHIỆP ĐẠI HỌC
SỬ DỤNG PHẦN MỀM RAPIDMINER NHẰM PHÂN LOẠI
KHÁCH HÀNG TRONG QUẢN LÝ KHÁCH HÀNG MUA HÀNG
TẠI CÔNG TY TNHH MÁY TÍNH PHONG VŨ
Sinh viên thực hiện:
Giáo viên hướng dẫn
Hoàng Văn Nam
Hà Ngọc Long
Lớp: K45 – THKT
Niên khóa: 2011-2015
Huế, 5/2015
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
LỜI CẢM ƠN
Để hoàn thành đề tài này trước hết em xin trân trọng gởi lời cảm ơn đến ban
giám hiệu trường Đại Học Kinh Tế Huế, quý Thầy, Cô giáo trong khoa Hệ thống
thông tin kinh tế đã giảng dạy, trang bị kiến thức cho tôi trong quá trình học tập tại
trường. Đặc biệt, em xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất tới giáo viên
hướng dẫn thầy giáo Hà Ngọc Long, người đã chỉ bảo và hướng dẫn tôi tận tình trong
suốt quá trình thực hiện khóa luận đồng thời cho em những lời khuyên, lời nhắc nhở
hết sức quý báu.
Em cũng xin gửi lời cám ơn chân thành đến các anh trong công ty TNHH Máy
tinh Phong Vũ, đặc biệt là anh Nguyễn Đăng Quốc đã tạo mọi điều kiện giúp tôi hoàn
thành khóa luận của mình.
Trong quá trình thực tập, cũng như là trong quá trình làm bài báo cáo, khó tránh
khỏi sai sót, rất mong các Thầy, Cô bỏ qua. Đồng thời do trình độ lý luận cũng như
kinh nghiệm thực tiễn còn hạn chế nên bài báo cáo không thể tránh khỏi những thiếu
sót, tôi rất mong nhận được ý kiến đóng góp của các Thầy, Cô.
Em xin chân thành cảm ơn!
Huế, ngày 25 tháng 5 năm 2015
Sinh viên
Hoàng Văn Nam
SVTH: Hoàng Văn Nam
3
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
Mục lục
SVTH: Hoàng Văn Nam
4
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
Các từ viết tắt trong bài báo cáo
Từ viết tắt
CSDL
DL
KPDL
TNHH
Ý nghĩa
Cơ sở dữ liệu
Dữ liệu
Khai phá dữ liệu
Trách nhiệm hữu hạn
Các kí hiệu được sử dụng trong bài
Các kí hiệu
∅
⊆
∈
∉
≤
≥
≠
∩
∪
SVTH: Hoàng Văn Nam
Ý nghĩa
Tập rỗng
Bị chứa trong
Thuộc
Không thuộc
Nhỏ hơn hoặc bằng
Lớn hơn hoặc bằng
Khác
Phép lấy hợp của tập hợp
Phép lấy giao của tập hợp
5
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
Danh mục các hình vẽ
Danh mục các bảng biểu
SVTH: Hoàng Văn Nam
6
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
Trong tình hình hiện nay, khi thông tin đang trở thành yếu tố quyết định trong
kinh doanh thì vấn đề tìm ra các thông tin hữu ích trong các cơ sở dữ liệu khổng lồ
ngày càng trở thành mục tiêu quan trọng của các công ty. Khai phá dữ liệu dần trở
thành công cụ chính để thực thi nhiệm vụ đó, từ cơ sở dữ liệu sẵn có phải tìm ra những
thông tin tiềm ẩn một cách nhanh chóng có giá trị. Công ty TNHH Máy tính Phong Vũ
chuyên cung cấp các loại mặt hàng điện tử nhằm phục vụ nhu cầu cho khách hàng trên
thị trường, muốn lưu trữ và khai thác những thông tin hữu ích từ CSDL khách hàng đó
để công ty hiểu hơn về khách hàng nhằm có những chính sách chăm sóc khách hàng.
Từ lý do đó, đề tài: “Sử dụng phần mềm Rapidminer nhằm phân loại khách hàng trong
quản lý khách hàng mua hàng tại công ty TNHH Máy Tính Phong Vũ” được chọn
triển khai thực hiện.
Chuyên đề đã trình bày các kiến thức cơ bản nhất của lý thuyết khai phá dữ
liệu, lý thuyết về luật kết hợp; thuật toán Apriori trong khai phá luật kết hợp và lý
thuyết về phân cụm dữ liệu; Thuật toán K-means trong phân cụm dữ liệu. Chuyên đề
lấy thông tin của khách hàng tại Công ty TNHH Máy tình Phong Vũ để giải quyết bài
toán. Sử dụng phần mềm khai phá dữ liệu RipidMiner để tiền xử lý dữ liệu khách hàng
và vận dụng thuật toán Apriori, thuật toán K-means nhằm đưa ra mối liên hệ giữa các
giá trị dữ liệu. Qua kết quả thu được từ luật kết hợp và phân cụm dữ liệu, rút ra một số
nhận xét chung về thông tin thu được. Từ đó đưa ra một số giải pháp hỗ trợ chăm sóc
khách hàng của công ty.
Phần I: Mở đầu
1. Lý do chọn đề tài
Ngày nay, khi xã hội ngày càng phát triển thì lượng thông tin càng tăng lên với
tốc độ bùng nổ. Lượng dữ liệu khổng lồ ấy là một nguồn tài nguyên vô giá nếu như
chúng ta biết cách phát hiện và khai thác những thông tin hưu ích có trong đó. Như
vậy vấn đề đặt ra với dữ liệu của chúng ta là việc lưu trữ và khai thác chúng. Các
phương pháp khai thác dữ liệu truyền thống ngày càng không đáp ứng được nhu cầu
thực tế. Một khuynh hướng kĩ thuật mới hiện nay là kĩ thuật khai phá dữ liệu và khám
phá trí thức. Công nghệ khai phá dữ liệu ra đời đã cho phép ta khai thác được những
tri thức hữu dụng bằng việc trích xuất những thông tin có mối quan hệ và mối tương
SVTH: Hoàng Văn Nam
7
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
quan nhất định từ một kho dữ liệu lớn mà bình thường không thể nhận diện được từ đó
giải quyết các bài toán tìm kiếm, phân loại, dự báo các xu thế, các hành vi trong tương
lai và những tính năng thông minh khác. Ngày nay, các công nghệ khai thác dữ liệu
được ứng dụng rộng rãi trong hầu hết các lĩnh vực: truyền thông, y học, phân tích dữ
liệu…
Đặc biệt trong lĩnh vực kinh doanh, việc ứng dụng công nghệ khai phá dữ liệu
vào trong việc quản lý là một trong những yếu tố quan trọng góp phần vào việc thành
công của công ty. Trong quá trình hoạt động kinh doanh, các dữ liệu của công ty phát
sinh ngày càng nhiều. Để tận dụng nguồn dữ liệu này sử dụng cho mục đích kinh
doanh của công ty đòi hỏi phải phát triển khai phá dữ liệu để có thể thống kê, báo cáo,
hổ trợ ra các quyết định hay phân tích số liệu nhằm phân loại, chăm sóc khách hàng…
Khai phá dữ liệu là lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích đồng thời có
ưu thế hơn hẵn so với các công cụ phân tích truyền thống.
Với lượng khách hàng đã, đang và sẽ đến với cửa hàng Phong Vũ luôn có
những chính sách đối với từng loại khách hàng khác nhau. Để có thể phân loại khách
hàng và áp dụng những chính sách phù hợp với loại khác hàng đó, cửa hàng cần sử
dụng một phần mềm phân tích , thống kê, lưu trữ các loại khách hàng này.
Từ các phân tích trên, tôi lựa chọn đề tài : “Sử dụng phần mềm Rapidminer
nhằm phân loại khách hàng trong quản lý khách hàng mua hàng tại Công ty TNHH
Máy Tính Phong Vũ” nhằm góp phần hổ trợ cửa hàng quản lý tốt hơn trong khâu quản
lý khách hàng mua hàng, có thể góp phần nhỏ trong quá trình phát triển của cửa hàng.
2. Mục tiêu nghiên cứu
- Mục tiêu tổng quát:
Xác định nhóm khách hàng (khách hàng tiềm năng, khách hàng truyền
thống…) tới mua hàng tại Công ty TNHH Máy Tính Phong Vũ. Hiều được nhu cầu
cũng như hành vi mua hàng của từng nhóm khách hàng giúp công ty có chiến lược
kinh doanh, những chính sách và giải pháp nâng cao hiệu quả chăm sóc từng nhóm
khách hàng.
- Mục tiêu cụ thể:
SVTH: Hoàng Văn Nam
8
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
+ Vận dụng phần mềm khai phá dữ kiệu Rapid Miner cho Công ty TNHH Máy
Tính Phong Vũ.
+ Nghiên cứu thêm về phần mềm khai phá dữ liệu Rapidminer, các kĩ thuật
khai phá như: phân cụm, kết hợp.
3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:
- Lý thuyết khai phá dữ liệu.
- Phần mềm Rapid Miner.
- Thuật toán phân cụm, kết hợp.
- Thông tin khách hàng của Công ty TNHH Máy Tính Phong Vũ.
Phạm vi nghiên cứu:
- Về nội dung: Sử dụng phần mềm Rapidminer trong quản lý khách hàng mua hàng tại
Công ty TNHH Máy tính Phong Vũ.
- Về thời gian: Trong thời gian thực tập tại Công ty( từ 19/01 đến 10/05).
4. Phương pháp nghiên cứu
Đề tài sử dụng các phương pháp nghiên cứu :
- Phương pháp nghiên cứu lý luận: thu thập, đọc hiểu, phân tích dữ liệu, thông tin từ
các tài liệu, giáo trình, tạp chí, báo cáo khoa học,…liên quan đến khai phá dữ liệu, các
kỹ thuật khai phá dữ liệu.
- Phương pháp thu thập số liệu: sử dụng số liệu thứ cấp (từ phòng ban của Công ty
TNHH Máy tínhThừa Thiên Huế).
- Phương pháp phân tích số liệu: vận dụng luật kết hợp và kỹ thuật phân cụm trong
phần mềm KPDL RapidMiner, trong đó CSDL bao gồm thông tin khách hàng, doanh
thu bán hàng.
5. Kết cấu của đề tài
Ngoài phần mở đầu và phần kết luận, nội dung của khóa luận bao gồm các
chương được tổ chức như sau:
Chương I: Tổng quan về khám phá tri thức và khai phá dữ liệu
Chương II: Khai phá dữ liệu với thuật kết hợp và phân cụm
SVTH: Hoàng Văn Nam
9
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
Chương III: Ứng dụng phần mềm khai phá dữ liệu Rapidminer vào quản lý
khách hàng mua hàng ở cửa hàng điện máy Phong Vũ
SVTH: Hoàng Văn Nam
10
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
Phần II: Nội Dung
Chương I: Tổng quan về khám phá tri thức và khai phá dữ liệu
1.1. Khám phá tri thức tri thức
1.1.1. Khái niệm
Khám phá tri thức là quá trình tìm ra những tri thức, đó là những mẫu tìm ẩn
trước đó chưa biết và là những thông tin hữu ích đáng tin cậy.
Khá phá tri thức trong CSDL là một quá trình sử dụng các phương pháp và
công cụ tin học, trong đó con người là trung tâm của quá trình. Do đó, con người cần
có những kiến thức cơ bản về lĩnh vực cần khám phá để có thể chọn được tập con từ
dữ liệu tốt, từ đó phát hiện các mẫu phù hợp với mục tiêu đề ra. Đó chính là tri thức
được rút ra từ CSDL, thường để phục vụ cho việc giải quyết một loạt nhiệm vụ nhất
định trong một lĩnh vực nhất định. Tuy vậy, quá trình khám phá tri thức mang tính
chất hướng nhiệm vụ vì không phải là mọi tri thức tìm được đều áp dụng vào thực tế
được.
Để có được những thông tin quý báu chúng ta phải tìm ra các mẫu có trong tập
CSDL trước. Việc đánh giá các mẫu được tìm thấy cũng là một điều thú vị và tất yếu
có tính chất quyết định đến sự sử dụng hay không sử dụng chúng. Đầu ra của một
chương trình là khám phá những mẫu có ích được gọi là tri thức. Tri thức được khám
phá có những đặc điểm chính:
- Kiến thức cao cấp: Ngày càng nhiều câu hỏi mang tính chất định tính cần phải trả lời
dựa trên một khối lượng dữ liệu khổng lồ đã có. Quá trình để tìm ra những kiến thức
như vậy không phải từ những phương pháp thống kê cổ điền mà nó được đúc kết từ
các kinh nghiệm đã có, được thể hiện trong dữ liệu, những kết quả đó có thể lĩnh hội
được.
- Độ chính xác: Dù cho những mẫu khai phá thật sự có trong CSDL hay không thì việc
đo lường giá trị của chúng là bắt buộc phải có. Chúng ta sẽ chỉ sử dụng những mẫu
nào có độ chính xác càng cao thì hiệu quả công việc đạt được càng lớn, những mẫu có
độ chính xác chưa được xác định rõ ràng hoặc không cao thì không nên sử dụng chúng
SVTH: Hoàng Văn Nam
11
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
- Tính hấp dẫn: Khám phá tri thức được coi là lý thú vì nó có thể vạch ra các xu hướng
một cách hoàn thiện. Đó là những điều mới lạ hay những quy trình tiềm năng, hữu ích
ẩn chứa trong dữ liệu trước đó.
- Tính hiệu quả: thời gian chạy của thuật toán khám phá tri thức trên CSDL lớn có thể
dự tính và chấp nhận được.
Khám phá tri thức trong CSDL là một quá trình của việc xác định giá trị, cái
mới lạ, tri thức tiềm ẩn và tri thức cuối cùng của các khuôn mẫu/ mô hình trong dữ
liệu.
1.1.2. Vai trò của khám phá tri thức
Có rất nhiều lý do để giải thích sự cần thiết của việc khám phá tri thức – khai
phá dữ liệu, điển hình là:
- Có rất nhiều tổ chức tập hợp quá nhiều dữ liệu, vậy họ phải làm gì với chúng.
- Con người lưu trữ dữ liệu bởi vì họ cho rằng một số giá trị hữu ích được mã hóa hoàn
toàn trong dữ liệu.
- Trong kinh doanh, cần thu thập thông tin về thị trường, về các đối thủ và về khách
hàng. Trong sản xuất, cần thu thập các dữ liệu về thời điểm hiệu quả và tối ưu nhất
phục vụ cho mục đích cải tiến quy trình và giải quyết sự cố.
- Chỉ có một phần nho dữ liệu (khoảng 5% - 10%) là luôn được phân tích.
- Sự gia tăng của dữ liệu cản trở các phương pháp phân tích truyền thống.
- Giá trị dữ liệu là quá lớn đối với cách thức phân tích cổ điển. Chúng ta có thể không
bao giờ nhìn thấy chúng một cách trọn vẹn hoặc không thể lưu trữ trong bộ nhớ.
- Dự liệu cần tìm kiếm không tồn tại dưới dạng tường minh mà dưới dạng phi cấu trúc,
trong các quy luật tiềm ẩn.
- Sự phát triển của mạng máy tính đã gia tăng khả năng truy nhập vào dữ liệu.
- Người sử dụng cuối không phải là nhà thống kê đơn thuần, họ cần biết tri thức CSDL
mà họ đang lưu trữ.
- Sự cần thiết phải nhanh chóng ra quyết định và phản ứng lại những cơ hội xuất hiện
trước các đối thủ của mình.
- Cùng với việc lớn lên của CSDL, khả năng để đưa ra quyết định và hổ trợ phân tích
là không thể thực hiện được với truy vấn khách hàng truyền thống.
SVTH: Hoàng Văn Nam
12
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
- Rất nhiều kiểu câu truy vấn mà con người quan tâm là rất khó thực hiện hay miêu tả
trong ngôn ngữ vấn tin.
1.1.3. Tiến trình khai phá tri thức
Mục đích của quá trình khai phá tri thức: Từ những cơ sở dữ liệu ngoài cuộc
sống thực tế sau một hoặc một số bước của quá trình sẽ rút ra được những tri thức mới.
Các bước trong quá trình này có thể lặp đi lặp lại nhiều lần và được mô tả theo hình
sau:
Hình 1.1: Các bước trong quá trình khai phá tri thức
Quá trình có thể lặp lại nhiều lần một hay nhiều giai đoạn dựa trên phản hồi từ
kết quả của các giai đoạn sau:
SVTH: Hoàng Văn Nam
13
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
(1) Xác định chính xác vấn đề cần giải quyết sau đó nghiên cứu kiến thức về lĩnh vực
sẽ áp dụng, bao gồm cả tri thức, cấu trúc về hệ thống và tri thức, các nguồn dữ liệu phù
hợp, ý nghĩa, vai trò và tầm quan trọng của các thực thể dữ liệu. Xác định các nhiệm
vụ cần phải hoàn thành.
(2) Chuẩn bị dữ liệu và thu thập dữ liệu phù hợp với mục đích đề ra.
(3) Tiền xử lý dữ liệu là thu thập và xử lý thô(đơn giản) dữ liệu. Gồm các bước sau:
Làm sạch dữ liệu: Loại bỏ DL nhiễu, DL dư thừa không phù hợp.
Làm giàu dữ liệu: Các DL bị thiếu/mất sẽ được thay thế bởi các giá trị thích
hợp.
Làm giảm chiều: Các thuộc tính chứa ít thông tin sẽ được loại bỏ bớt.
Biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết: bước này thường chiếm nhiều
thời gian nhất trong toàn bộ quy trình phát hiện tri thức. Do DL được lấy từ nhiều
nguồn khác nhau, không đồng nhất, có thể gây ra các nhầm lẫn. Sau bước này, DL sẽ
nhất quán, đầy đủ, được rút gọn và rời rạt hóa.
(4) Lựa chọn chức năng khai phá dữ liệu gồm tóm tắt hóa, phân lớp/phân loại, hồi
quy/dự đoán, kết hợp, phân cụm.
(5) Lựa chọn giải thuật khai phá dữ liệu: Đây là một công việc khá quan trọng. Một
ứng dụng chạy tốt, có kết quả chính xác là nhờ thuật toán hiệu quả.
(6) Tiến hành khai phá dữ liệu: bao gồm các công đoạn: chức năng, nhiệm vụ, mục
đích của KPDL, dùng phương pháp khai phá nào? Tùy theo bài toán xác định được mà
ta lựa chọn các phương pháp KPDL cho phù hợp.
(7) Hậu xử lý và đánh giá mô hình: là hiển thị hóa, chuyển đổi, bỏ đi các mẫu dư thừa.
Trong bước này có thể tư vấn các chuyên gia để loại bỏ những mô hình dư thừa, không
phù hợp với ứng dụng.
(8) Triển khai tri thức là sử dụng các tri thức phát hiện được làm sang tỏ các mô tả và
dự đoán.
Các quy trình trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể lấy
trung bình trên tất cả các lần thực hiện. Các kết quả của quá trình phát triển tri thức có
thể được đưa vào ứng dụng trong các lĩnh vực khác nhau. Do các kết quả có thể là các
dự đoán hoặc các mô tả nên chúng có thể được đưa vào các hệ thống hổ trợ ra quyết
SVTH: Hoàng Văn Nam
14
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
định nhằm tự động hóa quá trình này. Tham gia chính trong quá trình KPDL là các nhà
tư vấn và nhà phát triển chuyên nghiệp trong lĩnh vực KPDL.
1.2. Khai phá dữ liệu
1.2.1. Khái niệm
Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối thập kỉ 80 (1980).
Nó bao hàm một loạt các kĩ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn
trong các dữ liệu lớn (các kho dữ liệu). Về bản chất, khai phá dữ liệu liên quan đến
việc phân tích các dữ liệu và sử dụng các kĩ thuật để tìm ra các mẫu hình có tính chính
quy trong tập dữ liệu.
Ở một mức độ trừu tượng nhất định có thể định nghĩa: Khai phá dữ liệu là một
quá trình tìm kiếm, phát hiện các tri thức mới, tiềm ẩn, hữu dụng trong CSDL lớn.
Khai phá tri thức là mục tiêu chính của khai phá dữ liệu, do vậy hai khái niệm
đó được xem như hai lĩnh vực tương đương nhau. Nhưng nếu phân chia một các tách
bạch thì khai phá dữ liệu là một bước chính trong quá trình khai phá tri thức.
•Một số định nghĩa về khai phá dữ liệu:
Theo Giáo sư Tom Mitchell: “khai phá dữ liệu là việc sử dụng dữ liệu lịch sử
để khám phá những quy tắc và cải thiện những quyết định trong tương lai”.
Theo Ferruzza: “khai phá dữ liệu là tập hợp các phương pháp được dùng trong
tiến trình khám phá tri thức để chỉ ra sự khác biệt các mối quan hệ và các mẫu chưa
biết bên trong dữ liệu”.
Theo Parsaye: “khai phá dữ liệu là quá trình trợ giúp các quyết định, trong đó
chúng ta tìm kiếm các mẫu thông tin chưa biết và bất ngờ trong CSDL lớn”.
Theo Tiến sĩ Fayyad: “khai phá dữ liệu thường được xem là việc khám phá tri
thức trong các cơ sở dữ liệu, là một quá trình trích xuất những thông tin ẩn, trước đây
chưa biết và có khả năng hữu ích, dưới dạng các quy luật, ràng buộc, quy tắc trong cơ
sở dữ liệu”.
Theo các nhà Thống kê: “khai phá dữ liệu là một quá trình phân tích được thiết
kế thăm dò một lượng cực lớn các dữ liệu nhằm phát hiện ra các mẫu thích hợp
và/hoặc các mối quan hệ mang tính hệ thống giữa các biến và sau đó sẽ hợp thức hóa
SVTH: Hoàng Văn Nam
15
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
các kết quả tìm được bằng cách áp dụng các mẫu đã phát hiện được cho tập con mới
của dữ liệu”.
1.2.2. Các phương pháp chính trong khai phá dữ liệu
Khai phá dữ liệu là lĩnh vực mà con người luôn tìm cách đạt được mục đích sử
dụng thông tin của mình. Quá trình KPDL là quá trình phát hiện mẫu, trong đó phương
pháp KPDL để tìm kiếm các mẫu đáng quan tâm theo dạng xác định. Có thể kể ra đây
một vài phương pháp như: sử dụng công cụ truy vấn, xây dựng cây quyết định, dựa
theo khoảng cách, giá trị trung bình, phát hiện luật kết hợp… Các phương pháp trên có
thể được phỏng theo và được tích hợp vào các hệ thống lai để KPDL theo thống kê
trong nhiều năm nghiên cứu.
Tuy nhiên, với dữ liệu rất lớn trong kho dữ liệu thì các phương pháp này cũng
đối diện với thách thức về mặt hiệu quả và quy mô.
-Phân lớp và dự đoán: Xếp một đối tượng vào trong những lớp đã biết. Ví dụ: Phân
lớp vùng địa lý theo dữ liệu thời tiết. Đối với hướng tiếp cận này thường áp dụng một
số kỹ thuật như học máy, cây quyết định, mạng noron nhân tạo.
-Phân cụm và phân đoạn: sắp xếp các đối tượng theo cụm. Các đối tượng được gom
cụm sao cho mức độ tương tự giữa các đối tượng trong một cụm là lớn nhất và mức độ
tương tự giữa các đối tượng nằm trong các cụm khác nhau là nhỏ nhất. Lớp bài toán
phân cụm còn được gọi là học không giám sát hay học không thầy.
-Luật kết hợp: Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành
phần dữ liệu của CSDL. Mẫu đầu ra của giải thuật KPDL là tập luật kết hợp tìm được.
Ta có thể lấy một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai thành
phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo sự xuất hiện của B
trong cùng bản ghi đó: A => B.
- Khai phá chuỗi theo thời gian: Cũng tương tự như khai phá dữ liệu bằng luật kết hợp
những có thêm tính thứ tự và tính thời gian. Hướng tiếp cận này được ứng dụng nhiều
trong lĩnh vực tài chính và thị trường chứng khoán bởi vì chúng có tính dự báo.
- Mô hình khái niệm và tổng hợp hóa: Liên quan đến các phương pháp tìm kiếm một
mô tả cho một tập con dữ liệu. Các kỹ thuật toán tắt thường được áp dụng cho các
phân tích dữ liệu tương tác có tính thăm dò và tạo báo cáo tự động.
SVTH: Hoàng Văn Nam
16
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
1.2.3. Một số khó khăn và thách thức trong khai phá dữ liệu
Tuy đã có rất nhiều các giải pháp và phương pháp được ứng dụng trong khai
phá dữ liệu nhưng trên thực tế quá trình này vẫn gặp không ít khó khăn và thách thức
như sau:
- Cơ sở dữ liệu lớn.
- Số chiều các thuộc tính lớn.
- Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phù hợp.
- Dữ liệu bị thiếu hoặc bị nhiễu.
- Quan hệ giữa các trường phức tạp.
- Giao tiếp với người sử dụng và kết hợp với các tri thức đã có.
- Tích hợp với các hệ thống khác.
1.2.4. Quá trình khai phá dữ liệu
Quá trình khai phá dữ liệu được tiến hành qua 6 bước. Theo đó bắt đầu của quá
trình là kho dữ liệu thô và kết thúc với tri thức được chiết xuất ra. Về lý thuyết thì có
vẻ rất đơn giản nhưng thực sự đây là một quá trình rất khó khan và gặp rất nhiều
vướng mắc như: quản lý các tập dữ liệu, phải lặp đi lặp lại toàn bộ quá trình…
- Bước 1: Gom dữ liệu (Gathering)
Tập hợp dữ liệu là bước đầu tiên trong quá trình khai phá dữ liệu. Đây là bước
được khai thác trong một cơ sở dữ liệu, một kho dữ liệu và thậm chí các dữ liệu từ các
nguồn ứng dụng Web.
SVTH: Hoàng Văn Nam
17
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
- Bước 2: Trích lọc dữ liệu (Selection)
Ở giai đoạn này dữ liệu được lựa chọn hoặc phân chia theo một số tiêu chuẩn
nào đó, ví dụ chọn tất cả những người có giới tính là Nữ…
- Bước 3: Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing, Preprocessing
and Preparation)
Giai đoạn thứ 3 này gọi là giai đoạn hay bị lãng quên nhưng thực tế nó là một
bước rất quan trọng trong quá trình KPDL. Một số lỗi thường mắc phải trong khi gom
dữ liệu là tính không đủ chắc chẽ, logic. Vì vậy, dữ liệu thường chứa các giá trị vô
nghĩa và không có khả năng kết nối dữ liệu. Giai đoạn này sẽ tiền hành xử lý những
dạng dữ liệu không chặc chẽ nói trên. Những dữ liệu dạng này được xem như thông tin
dư thừa, không có giá trị. Bởi vậy, đây là một quá trình rất quan trọng vì dữ liệu này
nếu không được “làm sạch – tiền xử lý – chuẩn bị trước” thì sẽ gây nên những kết quả
sai lệch nghiêm trọng.
- Bước 4: Chuyển đổi dữ liệu (Transformation)
Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu đưa ra có thể sử dụng và điều
kiển bởi việc tổ chức lại nó, dữ liệu đã được chuyển đổi phù hợp với mục đích khai
thác.
Hình 1.2: Các bước của quá trình khai phá dữ liệu
- Bước 5: Phát hiện và trích mẫu dữ liệu (Pattern Extraction and Discovery)
Đây là bước mang tính tư duy trong KPDL. Ở giai đoạn này nhiều thuật toán
khác nhau được sử dụng để trích ra các mẫu từ dữ liệu. Thuật toán thường dùng là
phân loại, kết hợp hoặc các mô hình dữ liệu tuần từ…
- Bước 6: Đáng giá kết quả mẫu (Evaluation of Result)
Đây là giai đoạn cuối trong quá trình KPDL. Ở giai đoạn này, các mẫu dữ liệu
được chiếc xuất ra bởi phần mềm KPDL. Không phải bất cứ mẫu dữ liệu nào cũng đều
hữu ích, đôi khi nó còn bị sai lệch. Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá
được chiết xuất ra các tri thức cần chiết xuất ra.
Trong 6 giai đoạn trên, giai đoạn 5 được quan tâm nhiều nhất cũng là giai đoạn
quan trọng nhất.
SVTH: Hoàng Văn Nam
18
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
1.2.5. Những ứng dụng của khai phá dữ liệu
Khai phá dữ liệu được vận dụng để giải quyết các vấn đề thuộc nhiều lĩnh vực
khác nhau. Chẳng hạn như giải quyết các vấn đề phức tạp trong các ngành đòi hỏi kĩ
thuật cao như: tìm kiếm mỏ dầu, cảnh cáo hỏng hóc trong các hệ thống sản xuất. Được
ứng dụng cho việc quy hoạch và phát triển các hệ thống quản lý và sản xuất trong thực
tế như: dự đoán tái sử dụng điện, mức độ tiêu thụ sản phẩm, tăng cường an ninh, chuẩn
đoán bệnh trong y khoa…. Một số ứng dụng cụ thể như sau:
- Khai phá dữ liệu được sử dụng để phân tích DL, hổ trợ ra quyết định.
- Khoa học:
+ Thiên văn học: dự đoán đường đi quỹ đạo các thiên thể, hành tính…
+ Chiêm tinh học: tiên đoán, giải đáp giấc mơ,…
+ Trong sinh học: tìm ra các giống mới, giải mã gen, nó dùng để tìm kiếm, so
sánh với các hệ gen và chuẩn đoán một số bệnh di truyền.
+ Trong y học: KPDL giúp tìm ra mối liên hệ giữa các triệu chứng lâm sang,
chuẩn đoán bệnh…
- Tài chính và thị trường chứng khoán: KPDL để phân tích tình hình tài chính, phân
tích đầu tư, phân tích cổ phiếu…
- Sản xuất và chế biến: qui trình và phương pháp chế biến và xử lý sự cố…
- Thống kê, phân tích dữ liệu và hổ trợ ra quyết đinh: dựa vào dữ liệu có sẳn, phân tích
dữ liệu để đưa ra những quyết định đúng lúc và có lợi nhất.
- Text mining & Web mining: phân lớp văn bản và các trang web, tóm tắt văn bản…
- Trong thông tin kỹ thuật: KPDL dùng để phân tích các sai hỏng, điều kiển và lập lịch
trình làm việc.
- Trong thông tin thương mại: dùng để phân tích dữ liệu người dùng, phân tích dữ lieu
maketing, phân tích đầu tư, phát hiện các gian lận.
- Trong thể thao: Phát hiện sử dụng chất kích thích…
SVTH: Hoàng Văn Nam
19
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
Chương II: Khai phá dữ liệu với thuật kết hợp và phân cụm
2.1. Luật kết hợp
2.1.1. Khái niệm
2.1.1.1. Luật kết hợp
Một luật kết hợp có dạng R: X => Y, trong đó X, Y là tập các mục, X ⊆ I, Y⊆ I
và X ∩Y= ∅.
- X được gọi là tiên đề.
- Y được gọi là hệ quả của luật.
2.1.1.2. Độ hổ trợ
- Định nghĩa 2.1: Độ hổ trợ của tập mục X trong CSDL D là tỉ số giữa số các giao tác
T ⊆ D có chứa tập X và tổng số giao tác trong D (hay là phần trăm của các giao tác
trong D có chứa tập mục X), kí hiệu sup(X).
Sup(X)=
Ta có 0 ≤ sup(X) ≤ 1 với mọi tập mục X.
- Định nghĩa 2.2: Độ hỗ trợ của luật X => Y là tỷ số của số giao tác có chứa X∪ Y và
số giao tác trong CSDL D, kí hiệu sup(X=>Y).
Sup(X=>Y) =
Như vậy độ hổ trợ của một luật bằng 45% nghĩa là có 45% số giao tác có chứa
X tập mục X∪ Y. Độ hổ trợ có ý nghĩa thống kê của luật kết hợp.
- Định nghĩa 2.3: Độ hổ trợ tối thiểu (minsup): là một giá trị cho trước bởi người sử
dụng làm tiêu chuẩn cho quá trình khai thác các luật kết hợp.
2.1.1.3. Độ tin cậy
- Định nghĩa 2.4: Độ tin cậy của một luật X => Y là tỷ số của số giao tác trong D chứa
X ∪ Y với số giao tác trong D có chứa tập mục X, kí hiệu là conf(X=>Y)
Ta có 0 ≤ conf(X=>Y ≤ 1
Conf(X=>Y) = =
Như vậy nếu luật có độ tin cậy là 80% thì có nghĩa là 80% các giao tác có chứa
X thì cũng chứa Y. Độ tin cậy của một luật là thể hiện mức độ tương quan trong dữ
liệu giữa 2 tập X và Y. Độ tin cậy là mức độ cậy của một luật.
SVTH: Hoàng Văn Nam
20
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
- Định nghĩa 2.5: Độ tin cậy tối thiểu (minconf): là một giá trị cho trước bởi người sử
dụng làm tiêu chuẩn cho quá trình khai thác các luật kết hợp.
2.1.1.4. Tập mục
- Định nghĩa 2.6: Tập mục X được gọi là một tập mục nếu X là một tập hợp chứa các
mục khác nhau.
- Định nghĩa 2.7: Tập ứng cử viên là tập hợp các mục được dùng để tìm ra các tập mục
phổ biến.
- Định nghĩa 2.8: Tập mục X được gọi là tập mục phổ biến nếu có sup(X)≥minsup, với
minsup là ngưỡng độ hổ trợ cho trước.
2.1.2. Các tính chất
2.1.2.1: Tính chất của tập mục phổ biến
- Tính chất 2.1: Độ hổ trợ của tập con
Với A và B là tập mục, nếu A ⊆ B thì sup(A) ≥sup(B)
Điều này là rõ ràng vì tất cả các giao tác của D chứa tập mục B thì cũng chưa
tập mục A.
- Tính chất 2.2: Một tập chứa một tập không phổ biến thì cũng là tập không phổ biến.
Nếu trong mục B không có độ hổ trợ tối thiểu trên D, nghĩa là sup(B)
thì một tập con A của B sẽ không phải là một tập phổ biến vì sup(B) ≤ sup(A) <
minsup.(theo tính chất 3.1)
- Tính chất 2.3: Các tập con của tập phổ biến là tập phổ biến
Nếu mục B là mục có độ hổ trợ tối thiểu trên D nghĩa là sup(B)≥ minsup thì
mọi tập hợp con A của B là tập phổ biến trên D vì sup(A) ≥ sup(B) ≥ minsup.
2.1.2.2. Tính chất của luật kết hợp
- Tính chất 2.4: Không hợp các luật kết hợp
Nếu X=>Y và Y=>Z trong D thì không nhất thiết X ∪ Y => Z là đúng.
Xét trường hợp X ∩ Z = ∅ và các tác vụ trong D hổ trợ Z nếu và chỉ nếu chúng
hổ trợ mỗi X hoặc Y, khi đó luật (X ∪Y) =>Z có độ hổ trợ 0%.
- Tính chất 2.5: Không tách luật
Nếu X ∪ Y=>Z thì X=>Z và Y=>Z chưa chắc xảy ra.
SVTH: Hoàng Văn Nam
21
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
Ví dụ trường hợp Z có mặt trong một giao tác chỉ khi cả X và Y cùng có mặt,
tức là sup(X ∪ Y) = sup(Z), nếu độ hổ trợ của X và Y đủ lớn hơn sup(X∪Y),tức là
sup(X) > sup(X ∪ Y)và sup(Y) > sup(X ∪ Y) thì hai luật riêng biệt sẽ không đủ độ tin
cậy.
- Tính chất 2.6: Các luật kết hợp không có tính bắt cầu
Nếu X=>Y và Y=>Z chúng ta không thể suy ra X=>Z
Ví dụ: Giả sử T(X) ⊂ T(Y) ⊂ T(Z), ở đó T(X), T(Y), T(Z) tương ứng là các
giao dịch chứa X, Y, Z và độ tin cậy cực tiêu minconf.
Conf(X=>Y) = conf(Y=>Z) = minconf thế thì còn(X=>Y) = minconf2 >
minconf vì minconf <1, do đó luật X=>Z không đủ độ tin cậy.
- Tính chất 2.7:
Nếu A => (L-A) không thỏa mãn độ tin cậy cực tiểu thì luật B => (L-B) cũng
không thỏa mãn, với các tập mục L, A, B và B ⊆ A ⊂ L.
Vì sup(B) ≥ sup(A)(theo tính chất 1) và định nghĩa đô tin cậy, chúng ta được
Conf( B =>(L-B)) = ≤< minconf
Cũng như vậy: nếu có (L-C) => C thì ta cũng có luật (L-D) =>D, với D⊆C và
D ≠ ∅.
Bởi vì D ⊆ C nên (L-D) ⊇ (L-C), do đó suy (L-D) ≤ sup(L-C)
=> ≥ ≥minconf
2.1.3. Thuật toán kết hợp
•Thuật toán Apriori
Apriori là thuật toán khai phá luật kết hợp do Rakesh Agrawal, Tomasz
Imielinski, Anin Sawami đưa ra vào năm 1993, là nên tảng cho việc phát triển những
thuật toán sau này. Thuật toán sinh tập mục ứng cử từ những tập mục phổ biến ở bước
trước, sử dụng kỉ thuật “tỉa” để bỏ đi tập mục ứng cử không thỏa mãn ngưỡng hổ trợ
cho trước.
•Ý tưởng:
- Tìm tất cả các tập mục phổ biến frequent itemsets.
k-itemset (itemsets gồm k-itemset) được dùng để tìm (k+1)itemset.
SVTH: Hoàng Văn Nam
22
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
Đầu tiên tìm 1-itemset (kí hiệu L1). L1 được dùng để tìm L2(2-itemset). L2 được
dùng để tìm L3(3-itemset) và tiếp tục cho đến khi không có k-itemset được tìm thấy.
Từ frequent itemsets sinh ra các luật kết hợp mạnh (các luật kết hợp thõa mãn 2
tham số minsup và minconf).
Input: cơ sở dữ liệu D, minsup.
Output: Các tập mẫu thường xuyên trong D.
•Giải thuật:
Li: các tập thường xuyên i phần tử (frequent i-itemsets).
Ci: Các tập dự tuyến i phần tử.
- Tìm Li từ tập dữ liệu D.
- Thực hiện vòng lặp sau:
Sử dụng hàm apriori-gen để xây dựng Ck+1từ Lk.
Tính độ hổ trợ của mỗi phần tử trong Ck+1 (*)
Lk+1 = { c thuộc Ck+1|độ hổ trợ của c ≥minsup}
- Các tập Li chính là các tập tin cần tìm.
Hàm apriori-gen.
Sử dụng phép hơn để tạo Ck+1 từ Lk.
Loại bỏ các tập trong Ck+1 chứa các tập k phần tử không thuộc Lk.
- Giải thuật Apriori:
Thực hiện (*) bằng cách duyện qua D.
•Khuyết điểm:
- Tạo ra nhiều tập dự tuyến:
104 frequent 1-itemsets => nhiều hơn 10 7 (khoảng 104.[(104-1)/2]) frequent 2itemsets.
Một k-ittemset cần ít nhất 2k-1intemset dự tuyến trước đó.
- Kiểm tra tập dữ liệu nhiều lần:
Chi phí lớn khi kích thước các prequent itemsets tăng lên dần.
Nếu k-itemset được khám phá thì cần kiểm tra tập dữ liệu k+1 lần.
SVTH: Hoàng Văn Nam
23
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
2.2. Luật phân cụm
2.2.1. Khái niệm
Phân cụm dữ liệu là một kỹ thuật phát triển mạnh mẽ trong nhiều năm trở lại
đây do các ứng dụng và lợi ích của nó trong các lĩnh vực thực tế. Ở một mức cơ bản
nhất người ta định nghĩa phân cụm dữ liệu như sau: “Phân cụm dữ liệu là kỹ thuật
trong khai phá dữ liệu, nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên
tiềm ẩn, quan trọng trong tập dữ liệu lớn, từ đó cung cấp thông tin, tri thức hữu ích cho
việc ra quyết định”.
Như vậy phân cụm dữ liệu là quá trình chia một tập dữ liệu ban đầu thành các
cụm dữ liệu sao cho các phần tử trong một cụm “tương tự” với nhau và các phần tử
trong các cụm khác nhau sẽ “phi tương tự” với nhau. Số các cụm dữ liệu được phân
chia ở đây có thể xác định theo kinh nghiệm hoặc có thể tự động xác định.
Phân cụm nhìn từ góc độ tự nhiên là một việc hết sức bình thường mà chúng ta
vẫn làm và thực hiện hằng ngày ví dụ như phân loại học sinh khá giỏi trong lớp, phân
loại đất đai, phân loại tài sản, phân loại sách trong thư viện… Để thực hiện phân loại
các đối tượng nào đó, chúng ta bao giờ cũng đặt những câu hỏi: Phân nhóm dựa trên
yếu tố nào? Phân thành bao nhiêu nhóm?
2.2.2. Các yêu cầu về thuật toán phân cụm dữ liệu
Do đặc thù của cơ sở dữ liệu là lớn, phức tạp và có dữ liệu nhiễu nên những
thuật toán phân cụm được áp dụng phải thỏa mãn những yêu cầu sau:
- Thuật toán phải hiệu quả và thời gian chạy phải là tăng tuyến tính theo kích thước
của dữ liệu.
- Thuật toán phải xử lý và áp dụng được với cơ sở dữ liệu nhiều nhiễu, phức tạp gồm
cả dữ liệu không gian, phi không gian, dữ liệu số, phi số, kiểu nhị phân, dữ liệu định
danh, hạng mục, thích nghi với kiểu dữ liệu hỗn hợp.
- Thuật toán phải có khả năng xác định được những cụm với hình dáng bất kì bao gồm
cả những cụm có hình dáng lồng nhau, cụm có hình dáng lõm, hình cầu, hình que,…
- Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào. Do các giá trị đầu vào
thường ảnh hưởng rất lớn đến thuật toán phân cụm và rất phức tạp để xác định các giá
trị vào thích hợp với các CSDL lớn.
SVTH: Hoàng Văn Nam
24
Chuyên đề tốt nghiệp
Long
GVHD: Hà Ngọc
- Thuật toán phải được thực hiện với mọi thứ tự đầu vào dữ liệu. Nói cách khác kết
quả thuật toán nên độc lập với dữ liệu đầu vào.
- Thuật toán không đòi hỏi tri thức về cơ sở dữ liệu người dùng.
- Thuật toán phải làm việc được với cơ sở dữ liệu chứa nhiều lớp đối tượng dữ liệu
phức tạp và có tính chất khác nhau.
- Thuật toán phải thích nghi với dữ liệu đa chiều: Thuật toán có khả năng áp dụng
hiệu quả cho dữ liệu có số khác chiều nhau.
- Thuật toán dễ hiểu, dễ cài đặt và khả thi: Người sử dụng có thể chờ đợi những kết
quả phân cụm dễ hiểu, dễ lý giải và dễ sử dụng. Nghĩa là, sự phân cụm có thể cần
được giải thích ý nghĩa và ứng dụng rõ ràng. Việc nghiên cứu cách để một ứng dụng
đạt mục tiêu rất quan trọng có thể gây ảnh hưởng tới sự lựa chọn các phương pháp
phân cụm.
2.2.3. Ý nghĩa thực tiễn của phân cụm
- Khám phá ra các vị trí địa lý thuận lợi cho việc xây dựng các kho hàng phục vụ mua
hàng của một công ty Thương Mại.
- Xác định các cụm ảnh như ảnh của các loại động vật như chim, thú,… trong tập
CSDL về ảnh của động vật nhằm phục vụ cho việc tìm kiếm hình ảnh.
- Xác định các nhóm người bệnh nhằm cung cấp thông tin cho việc phân phối các
thuốc điều trị trong y tế.
- Xác định các nhóm khách hàng trong CSDL ngân hàng có vốn các đầu tư vào bất
động sản cao…
=> Như vậy, phâm cụm dữ liệu là một phương pháp xử lý thông tin quan trọng và phổ
biến, nó nhằm khai phá mối liên hệ giữa các mẫu dữ liệu bằng cách tổ chức chúng
thành các cụm tương tự.
2.2.4. Thuật toán K-means trong phân cụm dữ liệu
•Phát biểu bài toán:
Thuật toán phân cụm K-means được phát triển bởi J.MacQueen (1967) và sau
đó là J.A.Hatigan và M.A.Wong trong khoảng những năm 1975.
Thuật toán K-means dùng để phân loại hay phân nhóm các đối tượng dựa trên
các thuộc tính hoặc đặc điểm riêng thành K nhóm các đối tượng.
SVTH: Hoàng Văn Nam
25