Tải bản đầy đủ (.docx) (26 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (470.31 KB, 26 trang )

ĐẠ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
GS.TSKH HOÀNG KIẾM
HỌC VIÊN THỰC HIỆN
NGUYỄN SỬ VIỆT
MSHV: CH1101156
TPHCM 05-2012
MỤC LỤC

2/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
Xác định bài toán
Thu thập và ề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ìm
kiế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ệu
lớ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 ra
mộ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ân
hà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 khai
phá 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ình
khai 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ính
như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.
Ví 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:
3/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
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ấu
trú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ành
cá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ất
quá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ậc
nhấ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 1
cách tự động, giá trị thiếu có thể thay bằng :
 Hằng số chung, ví dụ: “không biết”, 0
 Thay thế bằng giá trị trung bình của thuộc tính trong một lớp
 Thay thế bằng giá trị có nhiều khả năng nhất, suy ra từ công thức
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:
 Phương pháp chia giỏ(binning): sắp xếp và chia dữ liệu vào các
giỏ cùng độ sâu, khử nhiễu bằng giá trị trung bình, trung tuyến,
biên giỏ…
4/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
 Gom nhóm(Clustering): phát hiện và loại bỏ các khác biệt
 Kết hợp sự kiểm tra giữa máy tính và con
người(computer/human inspection): Phát hiện giá trị nghi ngờ và
kiểm tra bởi con người.
 Phương pháp hồi qui(Regression): đưa dữ liệu vào hàm hồi qui.
- 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ệu
thậ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ồm
các bước sau:
o Sơ đồ tập hợp dữ liệu:
 Làm thế nào để các thực thể từ nhiều nguồn dữ liệu trở nên
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
 Cùng một thuộc tính có thể có nhiều tên trong CSDL khác nhau

 Một số mẫu tin dữ liệu bị lặp lại
 Dùng phép phân tích tương quan:
R=0: X và Y không tương quan
R>0: tương quan thuận. X↑↔Y↑
R<0: tương quan nghịch. X↓↔Y↑
- 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
dữ liệu.
o Giảm số lượng:
 Phương pháp gom nhóm
• Phân chia dữ liệu vào các nhóm và lưu biểu diễn của
nhóm
• Rất hiệu quả nếu dữ liệu tập trung thành nhóm nhưng
ngược lại khi dữ liệu rãi rác.
 Phương pháp lấy mẫu:
5/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
• Dùng tập mẫu ngẫu nhiên nhỏ hơn nhiều để thay thế cho
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 chia
miề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ấp
bằ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ến
hà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
khai 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át
hiệ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 đó tri
thứ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 trong
nhữ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ự động
hoá 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 ra
cá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.
6/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
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ác
thự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.
Các định nghĩa liên quan:
Gọi I = {I
1
, I
2
, I
3
,…I
n
} là tập các items, D = {T
1
, T
2
, T
3
,…T
n
} là tập các giao tác.
I
1
I
2
I
3
I
4
T
1

0 0 0 0
T
2
1 1 1 1
T
3
1 0 1 0
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 = ∅
1.3.2.1. Độ hỗ trợ(Support)
Độ hỗ trợ của luật X ⇒ Y được định nghĩa là số bộ giá trị chứa cả X và Y:
Supp(X ⇒ Y)=P(X∪Y)
Các luật kết hợp có độ hỗ trợ càng cao(xuất hiện nhiều) được gọi là phổ biến
và quan trọng.
1.3.2.2. Độ tin cậy(Confidence)
Độ tin cậy của luật X ⇒ Y được định nghĩa:
Conf(X ⇒ Y)=
Các luật có độ tin cậy càng cao thì càng hiểu ích
1.3.2.3. Ví dụ về độ hỗ trợ và độ tin cậy
7/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
8/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
Chươ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 áp
dụ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à khoa
họ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ên
gia, 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 cho
phé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.
Hệ thống thông tin
Cho S = < U, Q, V, f >
Trong đó:
U: là tập vũ trụ đóng, tập giới hạn của N đối tượng.
Q: tập thuộc tính {q1, q2, … qn }.
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:
9/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
Đ

i
t
ư

n
g
Các thuộc
tính
U C
1
C
2

D
X
1
X
2
X
3
X
4
X
5
X
6
X
7
X
8
X
9
X
1
0
0
0
0
1
1
1
1
2

2
2
L
H
H
L
L
H
H
L
L
H
0
0
0
0
1
1
1
0
1
1
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
g

Các thuộc tính điều
kiện
Các thuộc tính
quyết định
U C1 C2 D
X1
X2
X3
X4
0
0
0
1
L
H
H
L
0
0
0
0
10/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
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
X5
X6
X7
X8

X9
X10
1
1
1
2
2
2
L
H
H
L
L
H
1
1
1
0
1
1
2.3. Quan hệ tương đương
Cho A ⊆ Q
IND(A) ={(x, y) ∈ U × U | ∀a ∈ A
f(x, a) = f(y, a)}
IND(A): Quan hệ tương đương trên tập A Hai đối tượng x, y tương đương trên tập
thuộc tính A.
Ví dụ về quan hệ tương đương:
ST
T
Age LEMS Walk

X1 16-30 50 Yes
X2 16-30 0 No
X3 31-45 1-25 No
X4 31-45 1-25 Yes
X5 46-60 26-49 No
X6 16-30 26-49 Yes
X7 46-60 26-49 No
Ta có các quan hệ tương đương như sau:
2.4. Quan hệ không tương đương
ST
T
Age LEMS Walk
X1 16-30 50 Yes
X2 16-30 0 No
X3 31-45 1-25 No
11/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
Tập thô
X4 31-45 1-25 Yes
X5 46-60 26-49 No
X6 16-30 26-49 Yes
X7 46-60 26-49 No
Tập xấp xỉ:
Một số tính chất của tập xấp xỉ:
2.5. Luật quyết định
Tập điều kiện C
*
xác định từ tập U: C
*
={X

1
,X
2
,…X
r
}
Tập quyết định D
*
xác định từ tập U: D
*
={Y
1
,Y
2
,…Y
l
}
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
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:
12/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
A-xấp xỉ dưới AX = {x |

[x]A ⊆ X}
A-xấp xỉ trên ĀX = {x |
[x]A ∩ X ≠ 0}
A={Age,
LEMS}
Ví dụ về luật quyết định:
Cho hệ thống thông tin với thuộc tính điều kiện và thuộc tính quyết định như sau:
Tập thuộc tính quyết định
D={d} với V
d
={Tốt, Xấu}
Phân vùng Tập vũ trụ U thành:
D
*
={Y
1
, Y
2
}
Y
1
={x
1
, x
5
, x
6
}
Y
2

={x
2
, x
3
, x
4
, x
7
, x
8
}
Des
D
(Y
1
)= (d= Tốt)
Des
D
(Y
2
)= (d= Xấu
Tậ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)
Des
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:

Luật quyết định:
Nếu (Động cơ= propane) thì (d=Tốt)
Nếu (Động cơ= propane) thì (d=Tốt)
13/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việ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:
Luật quyết định:
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:
D= {d}, V
d
= {Tốt, Xấu}
Tập thuộc tính điều kiện:
A= {Động cơ, Kích thước}.
Thì:
L1: Nếu (ĐC=propane) và (KT=nhỏ) thì (d=Tốt)
L2: Nếu (ĐC=gasoline) và (KT=nhỏ) thì (d=Tốt)
L3: Nếu (ĐC=gasoline) và (KT=trung) thì (d=Tốt)
L4: 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ụng

tạ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à
14/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
môi trường… Trong đó dự án đã được triển khai tại sở GTVT TPHCM bao
gồ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ải
cô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ạy
tuyế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”…
15/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
3.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
Tên cột Kiểu dữ liệu Mô tả

1 HieuXeID varchar(20) Khóa chính table
2 MaHieuXe nvarchar(50) Mã hiệu xe
3 TenHieuXe nvarchar(200) Tên hiệu xe
4 MoTa nvarchar(1000
)
Thông tin mô tả hiệu xe
5 Active char(1) Cho biết hiệu xe còn sử dụng
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
Tên cột Kiểu dữ liệu Mô tả
1 LoaiHinhXeID varchar(20) Khóa chính table
2 MaLoaiHinhXe nvarchar(50) Mã loại hình xe
3 TenLoaiHinhXe nvarchar(200) Tên loại hình xe
4 MoTa nvarchar(1000
)
Thông tin mô tả loại hình
5 Active char(1) Cho biết loại hình xe còn sử
dụng hay không?
6 LoaiHinhKinhDoanhI
D
varchar(20) Khóa ngoại cho biết xe thuộc
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ại
hình kinh doanh,…
ST

T
Tên cột Kiểu dữ liệu Mô tả
1 XeID varchar(20) Khóa chính table
2 BienSoXe nvarchar(50) Biển số xe
3 HieuXeID varchar(20) Khóa ngoại tham chiếu
đến table
VTDB_DM_HIEUXE
16/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
4 SoGhe Int Số ghế của xe
5 NamSanXuat Int Năm sản xuất xe
6 TenDangKy nvarchar(500) Tên đăng ký xe
7 SoTheoDoi Int Số theo dõi
8 LoaiHinhXeID varchar(20) Khóa ngoại tham chiếu
đến table
VTDB_DM_LOAIHINHXE
9 DonViID varchar(20) Khóa ngoại tham chiếu
đến table
VTDB_DM_DONVI
10 NamXeCaiTao Int Năm xe tu sửa
11 NgayTao Datetime Ngày tu sửa
12 ThietBiTheoDoiHanhTrin
h
Char(1) Xe có thiết bị theo dõi hay
không?
13 MaHoaSoGhe Int Field mã hóa số ghế
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
Hiệ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ới
nhau như: “SAI GON BUS”, “SÀI GÒN BUS”, “SÀI GÒN-BUS”,
“SÀIGÒNBUS”, ” SAIGONBUS”,…
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:
STT Số ghế Giá trị mã hóa
1 <=4 chổ 1
2 Từ 5 đến 7 chổ 2
3 Từ 8 đến 16 chổ 3
4 Từ 17 đến 30 chổ 4
5 Từ 31 đến 80 chổ 5
Việc mã hóa phải được thực hiện bằng cách tự động bằng cách thực hiện
các scritp SQL server như sau:
Ví dụ: mã hóa các xe có số ghế<=4, giá trị mã hóa được lưu vào cột
“MaHoaSoGhe”
update VTDB_XE
set MaHoaSoGhe=1
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
17/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
Giao diện trang chính của chương trình demo
Danh mục hiệu xe
Sau 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

Cơ 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}
Có 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ợ.
Kế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ính
quyế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ằng
cá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}
18/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
create PROCEDURE [dbo].[CaoHoc_TapQuyeDinh]
AS
select distinct TenLoaiHinhXe,x.LoaiHinhXeID
from VTDB_XE x
left join VTDB_DM_LOAIHINHXE lhx on
lhx.LoaiHinhXeID=x.LoaiHinhXeID
where x.HieuXeID is not null and X.LoaiHinhXeID is not null and
x.SoGhe>0and TenLoaiHinhXe is not null
declare @LoaiHinhXeID varchar(50)
declare @TenLoaiHinhXe nvarchar(100)
DECLARE pCurD CURSOR LOCAL

FOR select distinct TenLoaiHinhXe,x.LoaiHinhXeID
from VTDB_XE x
left join VTDB_DM_LOAIHINHXE lhx on
lhx.LoaiHinhXeID=x.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
OPEN pCurD
FETCH NEXT FROM pCurD INTO @TenLoaiHinhXe,@LoaiHinhXeID
WHILE @@FETCH_STATUS = 0
BEGIN
select x.BienSoXe,TenLoaiHinhXe
from VTDB_XE x
left join VTDB_DM_LOAIHINHXE lhx on
lhx.LoaiHinhXeID=x.LoaiHinhXeID
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=x.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=x.HieuXeID
where x.HieuXeID is not null and X.LoaiHinhXeID is not null and
x.SoGhe>0 and TenHieuXe is not null
OPEN pCurHX
FETCH NEXT FROM pCurHX INTO @TenHieuXe,@HieuXeID
WHILE @@FETCH_STATUS = 0
BEGIN
select x.BienSoXe,TenHieuXe
from VTDB_XE x
left join VTDB_DM_HIEUXE hx on hx.HieuXeID=x.HieuXeID
where x.HieuXeID=@HieuXeID
FETCH NEXT FROM pCurHX INTO @TenHieuXe,@HieuXeID
END
CLOSE pCurHX
DEALLOCATE pCurHX
19/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
Source code visual basic .net minh họa phép toán giao giữa 2 tập hợp(2
phân vùng) với nhau:
For i As Integer = 1 To dsQuyetDinh.Tables(0).Rows.Count - 1
Dim contactTable As DataTable = dsQuyetDinh.Tables(i)
For j As Integer = 1 To dsDieuKien1.Tables(0).Rows.Count - 1
Dim contacts =
contactTable.AsEnumerable.Intersect(dsDieuKien1.Tables(j)
.AsEnumerable(), DataRowComparer.Default)
'tìm thấy luật

If contacts.Count > 0 Then
Dim dsSC As DataSet
dsSC = DataProder.ExecuteQuery("CaoHoc_DoHoTro " &
"N'" & dsDieuKien1.Tables(0).Rows(j -
1).Item("TenHieuXe") & "',N'" &
dsQuyetDinh.Tables(0).Rows(i -
1).Item("TenLoaiHinhXe") & "'")
If CInt(dsSC.Tables(0).Rows(0).Item("S")) >=
CInt(txtDoPB.Text) And
CInt(dsSC.Tables(1).Rows(0).Item("C")) >=
CInt(txtDoTC.Text) Then
Dim lvi As New ListViewItem
tempValue = tempValue + 1
lvi.Text = tempValue
Dim strLuat As String = "Nếu hiệu xe là " &
dsDieuKien1.Tables(0).Rows(j - 1).Item("TenHieuXe")
& " thì loại hình xe là " &
dsQuyetDinh.Tables(0).Rows(i -
1).Item("TenLoaiHinhXe")
lvi.SubItems.Add(strLuat)
lvi.SubItems.Add(dsSC.Tables(0).Rows(0).Item("S")
"%")
lvi.SubItems.Add(dsSC.Tables(1).Rows(0).Item("C")
& "%")
lvLuatKetHop.Items.Add(lvi)
End If
End If
Next
Next
20/21

Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỀN
 Kết luận
Lý thuyết tập thô là một trong những nội dung mà tác giả đã được học bậc đại học,
tuy nhiên kiến thức chỉ dừng lại ở việc tìm hiểu lý thuyết, chưa có áp dụng thực tế. Vì
vậy mà mục tiêu chính của bài thu hoạch là muốn áp dụng lý thuyết tập thô để khai
thác một cơ sở dữ liệu thực tế. Qua đó tác giả có thể hiểu được một số vấn đề khó
khăn như: thao tác trên một cơ sở dữ liệu lớn, thời gian truy xuất cơ sở dữ liệu, các kỹ
thuật thu thập và tiền xử lý dữ liệu.
Tác giả cũng xin cam đoan tất cả các dữ liệu điều được lấy thực tế từ phần mềm
đang triển khai tại sở giao thông vận tải TPHCM. Một dự án mà tác giả đã cùng với
Công ty TNHH phát triển phần mềm FPT triển khai từ năm 2008 đến năm 2011. Nhân
đây em cũng xin gởi lời cám ơn chân thành và sâu sắc nhất đến Thầy Hoàng Kiếm,
mặt dù thời gian của môn học không nhiều nhưng Thầy đã mang lại cho em những
kiến thức vô vùng bổ ích, giúp cho em có thể vận dụng và giải quyết được các vấn đề
khó khăn trong công việc hàng ngày.
 Hướng phát triển
Tiếp tục tìm hiểu và nghiên cứu sâu hơn về lý thuyết tập thô như các kỹ thuật đánh
giá luật nhằm tìm ra những tri thức thật sự có ý nghĩa, tiếp tục tiền xử lý và thu thập
các dữ liệu về giao thông để có thể áp dụng vào thực tế.
THÔNG TIN LIÊN HỆ HỖ TRỢ DỮ LIỆU TEST
[1]. Trần Thị Trâm Anh, tổ trưởng tổ tin học, văn phòng Sở giao thông vận tải
TPHCM, điện thoại: 3.82.45.217, di động: 090.80.13.410
TÀI LIỆU THAM KHẢO
[1].Bài giảng môn công nghệ tri thức và ứng dụng của GS.TSKH Hoàng Kiếm, trường
ĐH CNTT TPHCM.
[2].Bài giảng môn khai thác dữ liệu(datamining) của PGS.TS Lê Hoài Bắc, trường
ĐH KHTN TPHCM.
[3].Bài giảng môn khai thác dữ liệu(datamining) của Ths Nguyễn Hoàng Tú Anh,
trường ĐH KHTN TPHCM.

[4].Bài giảng môn khai thác dữ liệu(datamining) của PGS.TS Đỗ Phúc, trường ĐH
CNTT TPHCM.
21/21
Công nghệ tri thức và ứng dụng – Học Viện: Nguyễn Sử Việt

×