Xác định bài toánThu thập và tiền xử lý dữ liệu KHAI PHÁ DỮ LIỆU Chiết xuất tri thức Phát biểu kết quả và đánh giá Chiết xuất tri thức Sử dụng tri thức đã phát hiện Chiết xuất tri thức
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG
-BÀI THU HOẠCH MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
TÌM HIỂU VÀ ỨNG DỤNG LÝ THUYẾT TẬP THÔ
TRONG KHAI THÁC DỮ LIỆU GIAO THÔNG VẬN TẢI
GIẢNG VIÊN HƯỚNG DẪN
Trang 2MỤC LỤC
Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 2
1.1 Khai phá dữ liệu 2
1.2 Các bước của quá trình khai phá dữ liệu 2
1.2.1 Xác định bài toán 2
1.2.2 Thu thập và tiền xử lý dữ liệu 2
1.2.3 Khai phá dữ liệu, chiết xuất tri thức 5
1.2.4 Phát biểu kết quả và đánh giá tri thức 6
1.2.5 Sử dụng tri thức đã phát hiện 6
1.3 Luật kết hợp 6
1.3.1 Khái niệm 6
1.3.2 Một số vấn đề liên quan đến luật kết hợp 6
1.3.2.1 Độ hỗ trợ(Support) 7
1.3.2.2 Độ tin cậy(Confidence) 7
1.3.2.3 Ví dụ về độ hỗ trợ và độ tin cậy 7
Chương 2 TÌM HIỂU LÝ THUYẾT VỀ TẬP THÔ 8
2.1 Nội dung 8
2.2 Bảng quyết định 9
2.3 Quan hệ tương đương 9
2.4 Quan hệ không tương đương 10
2.5 Luật quyết định 11
Chương 3 ỨNG DỤNG KHAI THÁC DỮ LIỆU GIAO THÔNG VẬN TẢI 14
3.1 Thông tin về dự án quản lý hổ sơ ISO tại Sở GTVT TPHCM 14
3.2 Mô hình cơ sở dữ liệu quan hệ(trích từ hệ thống) 14
3.3 Các bước khai phá dữ liệu 17
3.3.1 Thu thập và tiền xử lý dữ liệu 17
3.3.2 Ứng dụng lý thuyết tập thô, cài đặt và thử nghiệm 17
3.3.3 Một số source code minh họa 21
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỀN 24
THÔNG TIN LIÊN HỆ HỖ TRỢ DỮ LIỆU TEST 24
TÀI LIỆU THAM KHẢO 24
Trang 4Xác định bài toán
Thu thập và tiền xử lý dữ liệu
KHAI PHÁ DỮ LIỆU
Chiết xuất tri thức Phát biểu kết quả và đánh giá
Chiết xuất tri thức
Sử dụng tri thức đã phát hiện Chiết xuất tri thức
Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Khai phá dữ liệu
Khai phá dữ liệu, phát hiện tri thức(data mining) trong cơ sở dữ liệu là quá trình tìmkiếm và rút trích những thông tin tiềm ẩn có giá trị và hữu ích từ các tập cơ sở dữ liệulớn Việc rút trích các tri thức này sẽ giúp cho các doanh nghiệp, công ty…, có thểđánh giá, dự báo được một số kết quả có thể xảy ra trong tương lai, từ đó có thể đưa ramột số giải pháp, chính sách… nhằm nâng cao hiệu quả kinh doanh cũng như công tác
tổ chức, quản lý của doanh nghiệp và công ty…
1.2 Các bước của quá trình khai phá dữ liệu
Qui trình khai phá tri thức bao gồm các bước như sau:
Hình 1.1 Quá trình phát hiện tri thức từ cơ sở dữ liệu
1.2.1 Xác định bài toán
Quá trình xác định lĩnh vực cần khai phá tri thức như: kinh doanh, tài chính, ngânhàng, nhân sự, …Mỗi lĩnh vực khác nhau sẽ có các tri thức và các kỹ thuật khaiphá khác nhau
1.2.2 Thu thập và tiền xử lý dữ liệu
Đây là một trong những bước quan trọng và tốn nhiều thời gian của quá trìnhkhai phá tri thức, các dữ liệu thu được thường chứa rất nhiều thông tin, thuộc tínhnhưng lại không đầy đủ, không thống nhất, có nhiều lỗi và các giá trị đặt biệt
Trang 5Ví dụ: tuổi nhân viên= ”0”, lương= -2.000.000
Dữ liệu có tính chất mâu thuẩn với nhau: VD Tuổi =50, ngày sinh=”12/09/2000’Giai đoạn này bao gồm các bước như sau:
Knowledge
Pattern Discovery Transforme
d Data
Cleansed Preprocessed Preparated Data
Target Data
Gom DL
Mã hoá DL
Chọn lọc DL
Làm giàu DL Làm sạch DL
Đánh giá & trình diễn
Internet,
Quá trình xử lý dữ liệu thô(gốc) nhằm cải thiện chất lượng dữ liệu, dữ liệu thô(có cấutrúc, bán cấu trúc, phi cấu trúc) thường được đưa vào các hệ thống xử lý để tạo thànhcác dữ liệu chất lượng(tính chính xác, tính hiện hành, tính toàn vẹn và tính nhấtquán)
- Tính chính xác(accuracy): giá trị được ghi nhận đúng với giá trị thực
- Tính hiện hành(currency/timeliness): giá trị được ghi nhận không bị lỗi thời
- Tính toàn vẹn(completeness): tất cả các giá trị dành cho 1 biến/ thuộc tính điềuđược ghi nhận
- Tính nhất quán(consistency): tất cả giá trị dữ liệu điều được biểu diễn nhưnhau trong tất cả các trường hợp
Các kỹ thuật tiền xử lý dữ liệu:
- Làm sạch dữ liệu (data cleaning/cleansing): làm sạch dữ liệu là vấn đề bậcnhất của nhà kho dữ liệu, quá trình làm sạch bao gồm các bước như sau:
o Điền các giá trị còn thiếu tự động: việc điền các giá trị bằng tay là vô vị
và không thể thực hiện, vì vậy các giá trị còn thiếu có thể được điền 1cách tự động, giá trị thiếu có thể thay bằng :
Trang 6 Hằng số chung, ví dụ: “không biết”, 0
Bayesian, cây quyết định hoặc thuật giải
o Các phương pháp cơ bản khử nhiễu:
giỏ cùng độ sâu, khử nhiễu bằng giá trị trung bình, trung tuyến,biên giỏ…
người(computer/human inspection): Phát hiện giá trị nghi ngờ vàkiểm tra bởi con người
- Chọn lọc, tích hợp dữ liệu (data integration): trộn dữ liệu (merge data) từnhiều nguồn, tập tin khác nhau vào một kho dữ liệu, chọn lọc những dữ liệuthật sự cần thiết cho tiến trình khai thác dữ liệu Quá trình chọn lọc bao gồmcác bước sau:
o Sơ đồ tập hợp dữ liệu:
tương xứng, ví dụ: US=USA, MSNV=MaNhanVien,…
o Loại bỏ dữ liệu dư thừa, trùng lắp:
Một thuộc tính là thừa nếu có thể suy ra từ các thuộc tính khác
R=0: X và Y không tương quanR>0: tương quan thuận XY
R<0: tương quan nghịch XY
Trang 7- Thu giảm dữ liệu (data reduction): thu giảm kích thước dữ liệu (nghĩa là giảm
số phần tử) bằng kết hợp dữ liệu (data aggregation), loại bỏ các đặc điểm dưthừa (redundant features) (nghĩa là giảm số chiều/thuộc tính dữ liệu), gom cụm
ngược lại khi dữ liệu rãi rác
tập dữ liệu lớn
- Biến đổi dữ liệu (data transformation): mã hoá dữ liệu (data normalization)
o Rời rạc hóa: biến đổi miền giá trị thuộc tính(liên tục) bằng cách chiamiền giá trị thành từng khoảng Lưu nhãn của khoảng thay cho các giátrị thực
o Phân cấp các khái niệm: tập hợp vả thay thế các khái niệm cấp thấpbằng khái niệm cấp cao hơn
1.2.3 Khai phá dữ liệu, chiết xuất tri thức
Giai đoạn khai thác dữ liệu được bắt đầu sau khi dữ liệu đã được thu thập và tiếnhành xử lý Trong giai đoạn này, công việc chủ yếu là xác định được bài toán
Trang 8khai phá dữ liệu, tiến hành lựa chọn các phương pháp khai thác phù hợp với dữliệu có được và tách ra các tri thức cần thiết.
1.2.4 Phát biểu kết quả và đánh giá tri thức
Do nhiều phương pháp khai thác có thể được áp dụng nên các kết quả có mức độ tốt,xấu khác nhau Việc đánh giá các kết quả thu được là cần thiêt, Các tri thức pháthiện từ cơ sở dữ liệu cần được tổng hợp dưới dạng các báo cáo phục vụ cho các mụcđích hỗ trợ các quyết định khác nhau
1.2.5 Sử dụng tri thức đã phát hiện
Củng cố, tinh chế các tri thức đã được phát hiện Kết hợp các tri thức thành hệthống Giải quyết các xung đột tiềm tàng trong tri thức khai thác được Sau đó trithức được chuẩn bị sẵn sàng cho ứng dụng
Các kết quả của quá trình phát hiện tri thức có thể được đưa vào ứng dụng trongnhững lĩnh vực khác nhau Do các kết quả có thể là các dự báo 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 định nhằm tự độnghoá quá trình này
1.3 Luật kết hợp
1.3.1 Khái niệm
Luật kết hợp là một trong những lĩnh vực quan trọng trong khai phá dữ liệu, làmột trong những kỹ thuật mới và là chủ đề hấp dẫn Khám phá và phát hiện racác luật kết hợp nhằm tìm ra các mối liên quan giữa các thành phần(item) trong
dữ liệu Chẳng hạn như khi phân tích cơ sở dữ liệu giao thông, ta có thể phát hiện
ra một qui luật như: “các xe có số ghế lớn hơn 45 chổ thường chạy tuyến cốđịnh” hay “ các xe chạy tuyến Nha Trang thì chạy tuyến Phan Thiết”…
1.3.2 Một số vấn đề liên quan đến luật kết hợp.
Chúng ta sẽ không quan tâm đến tất cả các kết hợp giữa các item có thể có trong
cơ sở dữ liệu, mà chúng ta chỉ quan tâm đến những luật kết hợp có ý nghĩa và xácthực
Để hạn chế việc phát sinh quá nhiều các luật không có ý nghĩa, người ta đề nghị
sử dụng các thước đo tiêu chuẩn cho 1 luật kết hợp đó là độ hỗ trợ(support) và độtin cậy(confidence) của luật, cả hai độ đo này điều được tính toán từ độ hỗ trợcủa tập items
Trang 9Các định nghĩa liên quan:
Gọi I = {I1, I2, I3,…In} là tập các items, D = {T1, T2, T3,…Tn} là tập các giao tác
Ta gọi một giao tác T chứa X nếu XÍT với X là tập 1 vài item trong I
Ta có luật kết hợp: X Þ Y, nếu X Ì I , Y Ì I và XÇY = Æ
Trang 10Chương 2 TÌM HIỂU LÝ THUYẾT VỀ TẬP THÔ
2.1 Nội dung
Lý thuyết tập thô được Zdzislaw Pawlak phát triển vào năm 1980-1992 và được ápdụng trên mô hình cơ sở dữ liệu quan hệ Hiện nay lý thuyết tập thô được nhiều nhà khoahọc nghiên cứu và áp dụng và nhiều lĩnh vực khác nhau như: khai thác dữ liệu, hệ chuyêngia, hệ hỗ trợ ra quyết định, máy học, nhận dạng…
Trong thực tế, dữ liệu lưu trữ thường không đầy đủ, dư thừa hoặc không chính xác,gây ảnh hưởng nhiều đến kết quả khai thác dữ liệu Lý thuyết tập thô được sử dụng chophép loại bỏ những thông tin dư thừa mà vẫn giữ được đầy đủ ý nghĩa của tập dữ liệuđang xét Ý tưởng chính là lựa chọn những thuộc tính quan trọng và cần thiết nhất trong
cơ sở dữ liệu, từ đó phát hiện và rút ra những tập luật có ý nghĩa và đạt hiệu quả cao
V = ÈqÎQ Vq : trong đó Vq là giá trị của q
f:U ´ Q ® V là hàm quyết định hay hàm biểu diễn thông tin, sao cho f(x, q) Î
Vq với mỗi qÎQ , xÎU
Ví dụ về hệ thống thông tin:
Cho tập dữ liệu về MEDICAL như sau:
Trang 110000111011
2.2 Bảng quyết định
Hệ thống thông tin S được biểu diễn như một bảng quyết định nếu Q được tách thành
C và D, CÈD=Q và CÇD=Æ
C là tập điều kiện và D là tập quyết định
Ví dụ xét tập dữ liệu về MEDICAL như sau:
Đối tượn
00011112
LHHLLHHL
00001110
U = {x 1 , x 2 , , x 10 }
Q = {q 1 , q 2 , q 3 } = {c 1 , c 2 , d}
Vc 1 ={0,1,2}
Vc 2 ={L,H}
V d = {0,1}
f(x 1 ,c 1 ) = 0
Trang 1222
LH
11
2.3 Quan hệ tương đương
Ta có các quan hệ tương đương như sau:
2.4 Quan hệ không tương đương
Trang 13Tập quyết định D* xác định từ tập U: D*={Y1,Y2,…Yl}
Mỗi lớp Yi(i=1,2, l) xác định luật quyết định, luật quyết định thứ i được biểu diễn
DesC( Xi)⇒ DesD( Yj) , Xi∈ C¿, Yj∈ D¿
Phát biểu dưới dạng logic như sau:
Nếu (tập điều kiện) thì (tập quyết định)
Tập luật quyết định trên các lớp Y j ÎD * với (j=1,2,…,l), ký hiệu:
{ τ ij } = ¿ { Des C ( X i )⇒ Des D ( Y j ):X i ∩ Y j ≠ φ, ¿ } ¿ {}
A={Age, LEMS}
Trang 14Tập thuộc tính điều kiện A={Động cơ}
Phân vùng U trên quan hệ tương đương IND(A) là:
A * =U/IND(A)={{x 1 },{x 2 , x 3 , x 4 },{x 5 , x 6 , x 7 , x 8 }}
Des A (X 1 )= (Động cơ = propane)
Des A (X 2 )= (Động cơ = diesel)
Trang 15Des A (X 3 )= (Động cơ = gasoline)
Luật quyết định dựa trên lớp Y 1 với quyết định của chuyên gia là Tốt:
Nếu (Động cơ= propane) thì (d=Tốt)
Nếu (Động cơ= propane) thì (d=Tốt)
Luật quyết định dựa trên lớp Y 2 với quyết định của chuyên gia là Xấu:
Nếu (Động cơ= diesel) thì (d=Xấu)
Nếu (Động cơ= gasoline) thì (d=Xấu)
Nếu Tập thuộc tính quyết định:
Trang 16L4: Nếu (ĐC=diesel) và (KT=trung) thì (d=Xấu)
L5: Nếu (ĐC=diesel) và (KT=lớn) thì (d=Xấu)
L6: Nếu (ĐC=gasoline) và (KT=nhỏ) thì (d=Xấu)
L7: Nếu (ĐC=gasoline) và (KT=lớn) thì (d=Xấu)
Chương 3 ỨNG DỤNG KHAI THÁC DỮ LIỆU GIAO THÔNG VẬN TẢI
.1 Thông tin về dự án quản lý hổ sơ ISO tại Sở GTVT TPHCM
Nhằm nâng cao hiệu quả công tác quản lý, rút ngắn thời gian giải quyết các hồ
sơ, và minh bạch hơn trong việc xây dựng và giải quyết các thủ tục hành chính,UBND TPHCM đã đầu tư và xây dựng 1 phần mềm dùng chung, và ứng dụngtại các sở ban ngành như: Sở giao thông vận tải, Sở xây dựng, Sở tài nguyên vàmôi trường… Trong đó dự án đã được triển khai tại sở GTVT TPHCM baogồm 2 giai đoạn, giai đoạn 1 từ năm 2008- 2010, giai đoạn 2 từ năm 2011-
2012 Phần mềm tập trung vào việc quản lý các thủ tục hành chính như: vận tảicông nghiệp, giao thông thủy, khai thác hạ tầng, công viên cây xanh, hồ sơ dựán…
Vấn đề đặt ra là hiện nay tại phòng vận tải công nghiệp thuộc sở GTVT, sốlương hồ sơ xin phép về các thủ tục như: thẩm định tuyến, cấp sổ nhật trình,phù hiệu, cấp phép kinh doanh vận tải,…Số lương xe ô tô đăng ký hoạt động
đã lên tới 39285(số lương thống kê tính đến ngày 06/05/2012) Mỗi một xe ô tô
sẽ đăng ký một loại hình kinh doanh như: xe bus, xe taxi, xe hợp đồng, xe chạytuyến cố định, xe du lịch và xe công ten nơ
Yêu cầu đặt ra là các doanh nghiệp vận tải muốn khai thác cơ sở dữ liệu này để
tìm được mối quan hệ giữa các “hiệu xe” ,”số ghế” và “loại hình kinh
doanh” nhằm hỗ trợ và nâng cao hiệu quả kinh doanh của doanh nghiệp.
Ví dụ như hiệu xe “MERCEDES” thì loại hình kinh doanh là xe “du lịch” hay
xe chạy tuyến cố định…
Hiệu xe “TRANSINCO” và có số ghế 45 chổ thì thì loại hình kinh doanh là
“xe bus” hay “xe chạy tuyến cố định”…
Trang 173.2 Mô hình cơ sở dữ liệu quan hệ(trích từ hệ thống)
VTDB_DM_HIEUXE: Lưu trữ thông tin về danh mục các loại hiệu xe như:
MERCEDES, TOYOTA, THACO, FORD…
Danh sách các cột
ST
T
)
Thông tin mô tả hiệu xe
hay không?
VTDB_DM_LOAIHINHXE: Lưu thông tin về các loại hình kinh doanh như:
xe bus, xe du lịch, xe taxi, xe chạy tuyến cố định,…
Danh sách các cột
ST
T
Trang 183 TenLoaiHinhXe nvarchar(200) Tên loại hình xe
)
Thông tin mô tả loại hình
dụng hay không?
D
loại hình kinh doanh gì?
VTDB_XE: Lưu trữ thông tin về các xe đã đăng ký với sở, các thông tin bao
gồm: biển số xe, hiệu xe, số ghế, năm sản xuất, tên đăng ký, tên đơn vị, loạihình kinh doanh,…
ST
T
VTDB_DM_HIEUXE
h
không?
3.3 Các bước khai phá dữ liệu
3.3.1 Thu thập và tiền xử lý dữ liệu
Trang 19Hiện tại thông tin lưu trữ danh mục hiệu xe không thống nhất với nhau,
có nhiều tên bị trùng, ta cần chuẩn hóa và loại bỏ các tên bị trùng, ví dụCùng một hiệu xe “Sài Gòn Bus” nhưng có rất nhiều tên gần giống vớinhau như: “SAI GON BUS”, “SÀI GÒN BUS”, “SÀI GÒN-BUS”,
Mã hóa dữ liệu: xét dữ liệu danh mục các xe ô tô ta thấy số chổ của xe
có các giá trị từ 2 đến 80 Giả sử ta chỉ quan tâm đến các xe có số ghếnhư sau:
where SoGhe is not null and SoGhe > 0 and SoGhe <=4
Làm tương tự các giá trị mã hóa còn lại: 2,3,4,5
3.3.2 Ứng dụng lý thuyết tập thô, cài đặt và thử nghiệm
Giao diện trang chính của chương trình demo
Danh mục hiệu xe
Trang 20Sau khi chuẩn hóa dữ liệu danh mục hiệu xe thì cơ sở dữ liệu có tổng
cộng 177 hiệu xe
Danh mục loại hình xe
Cơ sở dữ liệu có tổng cộng 6 loại hình xe
Danh mục xe
Trang 21Cơ sở dữ liệu có tổng cộng 39285 xe ô tô các loại
Phân vùng tập thuộc tính quyết định{Loại hình xe}
Có tổng cộng: có tổng cộng 6 phân vùng tương ứng với 6 loại hình xe
Phân vùng tập điều kiện 1{hiệu xe}
Trang 22Có tổng cộng: 177 phân vùng tương ứng với 177 hiệu xe.
Phân vùng tập điều kiện 2{hiệu xe, số ghế}
Có tổng công 802 phân vùng tương ứng với từng hiệu xe và từng số ghế
Khai thác và chiết xuất tập luật thỏa độ tin cậy và độ hỗ trợ.
Trang 23Kết quả đối với tập thuộc tính điều kiện {Hiệu xe} và tập thuộc tính quyếtđịnh{Loại hình xe}
Kết quả đối với tập thuộc tính điều kiện {Hiệu xe},{Số ghế} và tập thuộc tínhquyết định{Loại hình xe}
3.3.3 Một số source code minh họa
Để nâng cao hiệu quả của việc truy xuất cơ sở dữ liệu, với một sốlượng record tương đối lớn, ta cài đặt các hàm truy xuất dữ liệu bằngcác script ngôn ngữ SQL như sau:
Procedure dùng để phân vùng tập thuộc tính quyết định{Loại hình xe}
Trang 24create PROCEDURE [dbo] [CaoHoc_TapQuyeDinh]
where x HieuXeID is not null and X LoaiHinhXeID is not null and
x SoGhe > and TenLoaiHinhXe is not null
declare @LoaiHinhXeID varchar ( 50 )
declare @TenLoaiHinhXe nvarchar ( 100 )
DECLARE pCurD CURSOR LOCAL
FOR select distinct TenLoaiHinhXe , LoaiHinhXeID
from VTDB_XE x
left join VTDB_DM_LOAIHINHXE lhx on
lhx LoaiHinhXeID = LoaiHinhXeID
where x HieuXeID is not null and X LoaiHinhXeID is not null and
x SoGhe > 0 and TenLoaiHinhXe is not null
phân vùng tập vũ trụ U thành các tập Y1,Y2 tương ứng với tập D
where x LoaiHinhXeID = @LoaiHinhXeID
FETCH NEXT FROM pCurD INTO @TenLoaiHinhXe , @LoaiHinhXeID
END
CLOSE pCurD
DEALLOCATE pCurD
Procedure dùng để phân vùng tập thuộc tính điều kiện{Hiệu xe}
create PROCEDURE [dbo] [CaoHoc_TapDieuKien1]
AS
select distinct TenHieuXe , x HieuXeId
from VTDB_XE x
left join VTDB_DM_HIEUXE hx on hx HieuXeID = HieuXeID
where x HieuXeID is not null and X LoaiHinhXeID is not null and
x SoGhe > 0 and TenHieuXe is not null
declare @HieuXeID varchar ( 50 )
declare @TenHieuXe nvarchar ( 100 )
DECLARE pCurHX CURSOR LOCAL
FOR select distinct TenHieuXe , x HieuXeId
from VTDB_XE x
left join VTDB_DM_HIEUXE hx on hx HieuXeID = HieuXeID
where x HieuXeID is not null and X LoaiHinhXeID is not null and
x SoGhe > 0 and TenHieuXe is not null
left join VTDB_DM_HIEUXE hx on hx HieuXeID = HieuXeID
where x HieuXeID = @HieuXeID
FETCH NEXT FROM pCurHX INTO @TenHieuXe , @HieuXeID
END
CLOSE pCurHX
DEALLOCATE pCurHX