Tải bản đầy đủ (.doc) (29 trang)

PHÂN LỚP DỮ LIỆU DỰA TRÊN CÂY QUYẾT ĐỊNH

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 (730.6 KB, 29 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
________ ________
BÀI THU HOẠCH MÔN HỌC
Môn: KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
PHÂN LỚP DỮ LIỆU DỰA TRÊN CÂY
QUYẾT ĐỊNH
Học viên thực hiện:
CH1101154
TRẦN THỊ TƯỜNG VI

TP. HCM, năm 2012
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Mở đầu
Ngày nay cùng với sự phát triển vượt bậc của công nghệ thông tin, lượng thông tin
ngày càng bùng nổ và trở nên khổng lồ. Các phương pháp thống kê truyền thống hầu
như không còn phù hợp nữa. Khai khoáng dữ liệu (data mining) ngày càng được
nhiều người chú ý. Nó thực sự đã đem lại những lợi ích đáng kể trong việc cung cấp
những thông tin tiềm ẩn trong các cơ sở dữ liệu lớn. Trong rất nhiều phương pháp
khai khoáng thì cây quyết định (decision tree) được coi là công cụ mạnh và phổ biến.
Trong kinh doanh, ra quyết định cho một vấn đề thiếu khoa học, cảm tính sẽ rất nguy
hiểm. Nghiên cứu những cơ sở của việc ra quyết định một cách khoa học sẽ giúp ta
nhận thức đúng đắn những cơ sở khoa học, những quy luật chi phối và lường trước
được những hậu quả tất yếu sẽ xảy ra nếu như các quyết định được chấp nhận.
Qua bài thu hoạch này, em muốn giới thiệu thuật toán phân lớp dữ liệu dựa trên cây
quyết định, cụ thể là thuật toán C4.5 và áp dụng để giải một bài toán ‘đánh giá khách
hàng tiềm năng cho gói vay tín chấp’ của các ngân hàng. Hy vọng với những kiến
thức thu nhận được, cùng với việc cố gắng mô phỏng ý tưởng giải bài toán sẽ giúp
mọi người hiểu rõ hơn ý nghĩa của data mining, đặc biệt kỹ thuật phân lớp và cây
quyết định trong thực tiễn.


MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 1 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
MỤC LỤC
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG 1
TP. HCM, năm 2012 1
Mở đầu 1
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG 2
PHẦN I : LÝ THUYẾT 2
I. CÂY QUYẾT ĐỊNH 2
I.1. Khái niệm 2
I.2. Ví dụ 3
I.3. Đánh giá 4
II. PHÂN LỚP 6
II.1. Giới thiệu 6
II.2. Quá trình phân lớp dữ liệu 7
II.3. Một số kỹ thuật phân lớp 8
II.4. Các vấn đề liên quan đến phân lớp dữ liệu 8
III. THUẬT TOÁN 10
III.1. Giới thiệu vài khái niệm 10
1. Entropy 10
2. Information Gain 11
III.2. ID3 12
III.3. C4.5 13
IV. VẤN ĐỀ TRONG CÂY QUYẾT ĐỊNH 16
IV.1. Overfitting 16
IV.2. Thao tác với các thuộc tính liên tục 16
IV.3. Thao tác với dữ liệu bị thiếu 17
IV.4. Chọn lựa thuộc tính xấu 17
IV.5. Thao tác các thuộc tính liên quan đến chi phí 18

PHẦN II : ÁP DỤNG 18
I. XÂY DỰNG CÂY QUYẾT ĐỊNH 18
I.1. Mô tả bài toán 18
I.2. Công cụ hỗ trợ 19
I.3. Xây dựng cây quyết định 20
II. NHẬN XÉT 26
Tài liệu tham khảo 28
PHẦN I : LÝ THUYẾT
I. CÂY QUYẾT ĐỊNH
I.1. Khái niệm
Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được dùng để phân
lớp các đối tượng dựa vào dãy các luật (series of rules).
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 2 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Trong đó, mỗi nút nhánh thể hiện một sự lựa chọn trong số nhiều sự lựa chọn và mỗi
nút lá là sự thể hiện của một quyết định.
Cây quyết định được xây dựng để hỗ trợ quá trình ra quyết định.
Cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp (classes) của nó, cây
quyết định sẽ sinh ra các luật để dự đoán lớp của các đối tượng chưa biết (unseen
data)
I.2. Ví dụ
Dưới đây là một ví dụ về cây quyết định được xây dựng từ một tập dữ liệu đã có
nhằm phân lớp những khách hàng có thông tin phản hồi (Responded) sau khi nhận
quảng cáo ‘nhà cho thuê’.
Input: Giá trị của 4 thuộc tính dưới đây:
- District = {Suburban, Rural, Urban}
- House Type = {Detached, Semi-deteched, Terrace}
- Income = {High, Low}
- Previous Customer = {Yes, No}

Output/Outcome: Nothing, Responded
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 3 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Ghi chú: Số k/n bên dưới các giá trị chỉ mang tính chất tham khảo (không bắt buộc
có trong cây quyết định), nó thể hiện số khách có phản hồi/ số khách có thuộc tính có
giá trị đó.
Ví dụ: số 2/5 bên dưới Suburban thể hiện trong 5 khách hàng có District là Suburban
thì có 2 khách hàng phản hồi.
Luật suy ra từ cây quyết định trên:
Rule1: (District=Suburban) AND (House Type=Detached) => (Outcome = Nothing)
Rule2: (District=Suburban) AND (House Type=Terrace) AND (Income=High) =>
(Outcome = Nothing)
Rule3: (District=Suburban) AND (House Type=Terrace) AND (Income=Low) =>
(Outcome = Responded)
Rule4: (District=Urban) AND (Previous Customer=No) => (Outcome = Responded)
Rule5: (District=Urban) AND (Previous Customer=Yes) => (Outcome = Nothing)
Rule6: (District=Rural) => (Outcome = Responded)
I.3. Đánh giá
Ưu điểm
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 4 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
So với các phương pháp khai phá dữ liệu khác, cây quyết định là phương pháp có một
số ưu điểm:
• Cây quyết định dễ hiểu. Hình ảnh trực quan, quen thuộc, biểu diễn qua mô
hình cây
• Việc chuẩn bị dữ liệu cho một cây quyết định là cơ bản hoặc không cần
thiết. Các kỹ thuật khác thường đòi hỏi chuẩn hóa dữ liệu, cần tạo các biến
phụ (dummy variable) và loại bỏ các giá trị rỗng.

• Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số và dữ liệu có giá
trị là tên thể loại. Các kỹ thuật khác thường chuyên để phân tích các bộ dữ
liệu chỉ gồm một loại biến. Chẳng hạn, các luật quan hệ chỉ có thể dùng cho
các biến tên, trong khi mạng nơ-ron chỉ có thể dùng cho các biến có giá trị
bằng số.
• Cây quyết định là một mô hình hộp trắng. Nếu có thể quan sát một tình
huống cho trước trong một mô hình, thì có thể dễ dàng giải thích điều kiện đó
bằng logic Boolean. Mạng nơ-ron là một ví dụ về mô hình hộp đen, do lời giải
thích cho kết quả quá phức tạp để có thể hiểu được.
• Có thể thẩm định một mô hình bằng các kiểm tra thống kê. Điều này làm
cho ta có thể tin tưởng vào mô hình.
• Cây quyết định có thể xử lý tốt một lượng dữ liệu lớn trong thời gian
ngắn. Có thể dùng máy tính cá nhân để phân tích các lượng dữ liệu lớn trong
một thời gian đủ ngắn để cho phép các nhà chiến lược đưa ra quyết định dựa
trên phân tích của cây quyết định.
• Cây quyết định là một sự tổng quát tốt cho những trường hợp ta không để
ý đến, chỉ những trường hợp được mô tả trong những giới hạn của những đặc
tính mà liên quan đến những khái niệm mục tiêu.
Khuyết điểm
Dù có những sức mạnh nổi bật trên, cây quyết định vẫn không tránh khỏi có những
điểm yếu.
• Cây quyết định không thích hợp lắm với những bài toán với mục tiêu là dự
đoán giá trị của thuộc tính liên tục như thu nhập, huyết áp hay lãi xuất
ngân hàng,… Cây quyết định cũng khó giải quyết với những dữ liệu thời gian
liên tục nếu không bỏ ra nhiều công sức cho việc đặt ra sự biểu diễn dữ liệu
theo các mẫu liên tục.
• Dễ xẩy ra lỗi khi có quá nhiều lớp. Một số cây quyết định chỉ thao tác với
những lớp giá trị nhị phân dạng yes/no hay accept/reject. Số khác lại có thể chỉ
định các bản ghi vào một số lớp bất kỳ, nhưng dễ xảy ra lỗi khi số ví dụ đào
tạo ứng với một lớp là nhỏ. Điều này xẩy ra càng nhanh hơn với cây mà có

nhiều tầng hay có nhiều nhánh trên một node.
• Chi phí tính toán đắt để đào tạo. Điều này nghe có vẻ mâu thuẫn với khẳng
định ưu điểm của cây quyết định ở trên. Nhưng quá trình phát triển cây quyết
định đắt về mặt tính toán. Vì cây quyết định có rất nhiều node trong trước khi
đi đến lá cuối cùng. Tại từng node, cần tính một độ đo (hay tiêu chuẩn phân
chia) trên từng thuộc tính, với thuộc tính liên tục phải thêm thao tác xắp xếp lại
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 5 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
tập dữ liệu theo thứ tự giá trị của thuộc tính đó. Sau đó mới có thể chọn được
một thuộc tính phát triển và tương ứng là một phân chia tốt nhất. Một vài thuật
toán sử dụng tổ hợp các thuộc tính kết hợp với nhau có trọng số để phát triển
cây quyết định. Quá trình cắt cụt cây cũng “đắt” vì nhiều cây con ứng cử phải
được tạo ra và so sánh.
II. PHÂN LỚP
II.1. Giới thiệu
Ngày nay phân lớp dữ liệu (classification) là một trong những hướng nghiên
cứu chính của khai phá dữ liệu. Thực tế đặt ra nhu cầu là từ một cơ sở dữ liệu
với nhiều thông tin ẩn con người có thể trích rút ra các quyết định nghiệp vụ
thông minh.
- Phân lớp và dự đoán là hai dạng của phân tích dữ liệu nhằm trích rút ra một
mô hình mô tả các lớp dữ liệu quan trọng hay dự đoán xu hướng dữ liệu tương
lai. Phân lớp dự đoán giá trị của những nhãn xác định (categorical label) hay
những giá trị rời rạc (discrete value), có nghĩa là phân lớp thao tác với những
đối tượng dữ liệu mà có bộ giá trị là biết trước. Trong khi đó, dự đoán lại xây
dựng mô hình với các hàm nhận giá trị liên tục.
- Ví dụ mô hình phân lớp dự báo thời tiết có thể cho biết thời tiết ngày mai là
mưa, hay nắng dựa vào những thông số về độ ẩm, sức gió, nhiệt độ,… của
ngày hôm nay và các ngày trước đó. Hay nhờ các luật về xu hướng mua hàng
của khách hàng trong siêu thị, các nhân viên kinh doanh có thể ra những quyết

sách đúng đắn về lượng mặt hàng cũng như chủng loại bày bán…
- Một mô hình dự đoán có thể dự đoán được lượng tiền tiêu dùng của các
khách hàng tiềm năng dựa trên những thông tin về thu nhập và nghề nghiệp
của khách hàng.
- Trong những năm qua, phân lớp dữ liệu đã thu hút sự quan tâm các nhà
nghiên cứu trong nhiều lĩnh vực khác nhau như học máy (machine learning),
hệ chuyên gia (expert system), thống kê (statistics)
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 6 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Công nghệ này cũng ứng dụng trong nhiều lĩnh vực khác nhau như: thương
mại, nhà băng, maketing, nghiên cứu thị trường, bảo hiểm, y tế, giáo dục
- Phần lớn các thuật toán ra đời trước đều sử dụng cơ chế dữ liệu cư trú trong
bộ nhớ (memory resident), thường thao tác với lượng dữ liệu nhỏ. Một số thuật
toán ra đời sau này đã sử dụng kỹ thuật cư trú trên đĩa cải thiện đáng kể khả
năng mở rộng của thuật toán với những tập dữ liệu lớn lên tới hàng tỉ bản ghi.
II.2. Quá trình phân lớp dữ liệu
Gồm 2 bước
- Bước thứ nhất (learning)
Quá trình học nhằm xây dựng một mô hình mô tả một tập các lớp dữ liệu hay
các khái niệm định trước. Đầu vào của quá trình này là một tập dữ liệu có cấu
trúc được mô tả bằng các thuộc tính và được tạo ra từ tập các bộ giá trị của các
thuộc tính Nghiên cứu các thuật toán phân lớp dữ liệu dựa trên cây quyết định
đó. Mỗi bộ giá trị được gọi chung là một phần tử dữ liệu (data tuple), có thể là
các mẫu (sample), ví dụ (example), đối tượng (object), bản ghi (record) hay
trường hợp (case). Trong tập dữ liệu này, mỗi phần tử dữ liệu được giả sử thuộc
về một lớp định trước, lớp ở đây là giá trị của một thuộc tính được chọn làm
thuộc tính gán nhãn lớp hay thuộc tính phân lớp (class label attribute). Đầu ra
của bước này thường là các quy tắc phân lớp dưới dạng luật dạng if-then, cây
quyết định, công thức logic, hay mạng nơron.

- Bước thứ hai (classification)
Bước thứ hai dùng mô hình đã xây dựng ở bước trước để phân lớp dữ liệu
mới. Trước tiên độ chính xác mang tính chất dự đoán của mô hình phân lớp vừa
tạo ra được ước lượng. Holdout là một kỹ thuật đơn giản để ước lượng độ chính
xác đó. Kỹ thuật này sử dụng một tập dữ liệu kiểm tra với các mẫu đã được gán
nhãn lớp. Các mẫu này được chọn ngẫu nhiên và độc lập với các mẫu trong tập
dữ liệu đào tạo. Độ chính xác của mô hình trên tập dữ liệu kiểm tra đã đưa là tỉ
lệ phần trăm các các mẫu trong tập dữ liệu kiểm tra được mô hình phân lớp
đúng (so với thực tế). Nếu độ chính xác của mô hình được ước lượng dựa trên
tập dữ liệu đào tạo thì kết quả thu được là rất khả quan vì mô hình luôn có xu
hướng “quá vừa” dữ liệu. Quá vừa dữ liệu là hiện tượng kết quả phân lớp trùng
khít với dữ liệu thực tế vì quá trình xây dựng mô hình phân lớp từ tập dữ liệu
đào tạo có thể đã kết hợp những đặc điểm riêng biệt của tập dữ liệu đó. Do vậy
cần sử dụng một tập dữ liệu kiểm tra độc lập với tập dữ liệu đào tạo.
Nếu độ chính xác của mô hình là chấp nhận được, thì mô hình được sử dụng để
phân lớp những dữ liệu tương lai, hoặc những dữ liệu mà giá trị của thuộc tính
phân lớp là chưa biết.

Trong mô hình phân lớp, thuật toán phân lớp giữ vai trò trung tâm, quyết định
tới sự thành công của mô hình phân lớp. Do vậy chìa khóa của vấn đề phân lớp
dữ liệu là tìm ra được một thuật toán phân lớp nhanh, hiệu quả, có độ chính xác
cao và có khả năng mở rộng được. Trong đó khả năng mở rộng được của thuật
toán được đặc biệt chú trọng và phát triển.
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 7 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
II.3. Một số kỹ thuật phân lớp
- Phân lớp cây quyết định
- Bộ phân lớp Bayesian
- Mô hình phân lớp K-hàng xóm gần nhất

- Mạng nơron
- Phân tích thống kê
- Các thuật toán di truyền
- Phương pháp tập thô
II.4. Các vấn đề liên quan đến phân lớp dữ liệu
1. Chuẩn bị dữ liệu cho việc phân lớp
Việc tiền xử lý dữ liệu cho quá trình phân lớp là một việc làm không thể thiếu
và có vai trò quan trọng quyết định tới sự áp dụng được hay không của mô
hình phân lớp. Quá trình tiền xử lý dữ liệu sẽ giúp cải thiện độ chính xác, tính
hiệu quả và khả năng mở rộng được của mô hình phân lớp.
Quá trình tiền xử lý dữ liệu gồm có các công việc sau:
- Làm sạch dữ liệu
Làm sạch dữ liệu liên quan đến việc xử lý với lỗi (noise) và giá trị thiếu
(missing value) trong tập dữ liệu ban đầu. Noise là các lỗi ngẫu nhiên hay các
giá trị không hợp lệ của các biến trong tập dữ liệu. Để xử lý với loại lỗi này có
thể dùng kỹ thuật làm trơn. Missing value là những ô không có giá trị của các
thuộc tính. Giá trị thiếu có thể do lỗi chủ quan trong quá trình nhập liệu, hoặc
trong trường hợp cụ thể giá trị của thuộc tính đó không có, hay không quan
trọng. Kỹ thuật xử lý ở đây có thể bằng cách thay giá trị thiếu bằng giá trị phổ
biến nhất của thuộc tính đó hoặc bằng giá trị có thể xảy ra nhất dựa trên thống
kê. Mặc dù phần lớn thuật toán phân lớp đều có cơ chế xử lý với những giá trị
thiếu và lỗi trong tập dữ liệu, nhưng bước tiền xử lý này có thể làm giảm sự
hỗn độn trong quá trình học (xây dựng mô hình phân lớp).
- Phân tích sự cần thiết của dữ liệu
Có rất nhiều thuộc tính trong tập dữ liệu có thể hoàn toàn không cần thiết hay
liên quan đến một bài toán phân lớp cụ thể. Ví dụ dữ liệu về ngày trong tuần
hoàn toàn không cần thiết đối với ứng dụng phân tích độ rủi ro của các khoản
tiền cho vay của ngân hàng, nên thuộc tính này là dư thừa. Phân tích sự cần
thiết của dữ liệu nhằm mục đích loại bỏ những thuộc tính không cần thiết, dư
Nghiên cứu các thuật toán phân lớp dữ liệu dựa trên cây quyết định thừa khỏi

quá trình học vì những thuộc tính đó sẽ làm chậm, phức tạp và gây ra sự hiểu
sai trong quá trình học dẫn tới một mô hình phân lớp không dùng được.
- Chuyển đổi dữ liệu
Việc khái quát hóa dữ liệu lên mức khái niệm cao hơn đôi khi là cần thiết trong
quá trình tiền xử lý. Việc này đặc biệt hữu ích với những thuộc tính liên tục
(continuous attribute hay numeric attribute). Ví dụ các giá trị số của thuộc tính
thu nhập của khách hàng có thể được khái quát hóa thành các dãy giá trị rời rạc:
thấp, trung bình, cao. Tương tự với những thuộc tính rời rạc (categorical
attribute) như địa chỉ phố có thể được khái quát hóa lên thành thành phố. Việc
khái quát hóa làm cô đọng dữ liệu học nguyên thủy, vì vậy các thao tác vào/ ra
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 8 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
liên quan đến quá trình học sẽ giảm.
2. So sánh các mô hình phân lớp
Trong từng ứng dụng cụ thể cần lựa chọn mô hình phân lớp phù hợp. Việc lựa
chọn đó căn cứ vào sự so sánh các mô hình phân lớp với nhau, dựa trên các
tiêu chuẩn sau:
- Độ chính xác dự đoán (predictive accuracy)
Độ chính xác là khả năng của mô hình để dự đoán chính xác nhãn lớp
của dữ liệu mới hay dữ liệu chưa biết.
- Tốc độ (speed)
Tốc độ là những chi phí tính toán liên quan đến quá trình tạo ra và sử
dụng mô hình.
- Sức mạnh (robustness)
Sức mạnh là khả năng mô hình tạo ta những dự đoán đúng từ những dữ
liệu noise hay dữ liệu với những giá trị thiếu.
- Khả năng mở rộng (scalability)
Khả năng mở rộng là khả năng thực thi hiệu quả trên lượng lớn dữ liệu
của mô hình đã học.

- Tính hiểu được (interpretability)
Tính hiểu được là mức độ hiểu và hiểu rõ những kết quả sinh ra bởi mô
hình đã học. Nghiên cứu các thuật toán phân lớp dữ liệu dựa trên cây
quyết định
- Tính đơn giản (simplicity)
Tính đơn giản liên quan đến kích thước của cây quyết định hay độ cô
đọng của các luật.
Trong các tiêu chuẩn trên, khả năng mở rộng của mô hình phân lớp được nhấn
mạnh và chú trọng phát triển, đặc biệt với cây quyết định.

MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 9 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG

III. THUẬT TOÁN
III.1. Giới thiệu vài khái niệm
1. Entropy
- Entropy mô tả mức độ hỗn loạn trong một tín hiệu lấy từ một sự kiện ngẫu nhiên.
Nói cách khác, entropy cũng chỉ ra có bao nhiêu thông tin trong tín hiệu, với
thông tin là các phần không hỗn loạn ngẫu nhiên của tín hiệu.
- Claude E. Shannon đã xây dựng định nghĩa về entropy để thoả mãn các giả định
sau:
• Entropy phải tỷ lệ thuận liên tục với các xác suất xuất hiện của các phần tử
ngẫu nhiên trong tín hiệu. Thay đổi nhỏ trong xác suất phải dẫn đến thay đổi
nhỏ trong entropy.
• Nếu các phần tử ngẫu nhiên đều có xác suất xuất hiện bằng nhau, việc tăng số
lượng phần tử ngẫu nhiên phải làm tăng entropy.
• Có thể tạo các chuỗi tín hiệu theo nhiều bước, và entropy tổng cộng phải bằng
tổng có trọng số của entropy của từng bước.
- Shannon cũng chỉ ra rằng bất cứ định nghĩa nào của entropy, cho một tín hiệu có

thể nhận các giá trị rời rạc, thoả mãn các giả định của ông thì đều có dạng
với
• K là một hằng số, chỉ phụ thuộc vào đơn vị đo.
• n là tổng số các giá trị có thể nhận của tín hiệu.
• i là giá trị rời rạc thứ i.
• p(i) là xác suất xuất hiện của giá trị i.
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 10 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
- Áp dụng khái niệm ‘entropy’ trên vào cây quyết định với K = 1 ta có được định
nghĩa như dưới đây:
là entropy của tập
là số giá trị khác nhau của thuộc tính đang xét trong (entropy được tính toán
cho một thuộc tính được chọn)
là tần số xuất hiện của giá trị trong tập
- Entropy = 0 chỉ ra một tập phân lớp tốt nhất.
- Entropy được sử dụng để xác định node được chọn trong thuật toán.
2. Information Gain
- Gain được tính để ước lượng độ lợi từ việc phân rã một thuộc tính
• là gain của tập sau khi phân rã thuộc tính
• là entropy của tập
• là số giá trị khác nhau của thuộc tính trong
• là tần số của các dữ liệu có giá trị của là trong
• là là giá trị có thể của
• là một tập con của chứa các dữ liệu mà giá trị của =
- Gain xác định độ cải thiện entropy tong qua phân lớp một thuộc tính, Gain càng
cao càng tốt.
- Chúng ta có thể sử dụng khái niệm về thu thập để đánh giá tầm quan trọng những
thuộc tính và xây dựng những cây quyết định mà mỗi nút chứa thuộc tính mà
nhận được lớn nhất trong những thuộc tính chưa được xem xét trong đường đi từ

gốc.
- Mục đích của việc sắp thứ tự này là :
1. Để tạo ra cây quyết định nhỏ mà những record có thể được xát định sau chỉ
một vài lần cây quyết định phân chia.
2. Để kết nối một hi vọng đối với việc tối thiểu của quá trình tạo quyết định.
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 11 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
III.2. ID3
Ý tưởng chính của thuật toán này
1. Tính đồng nhất định lượng (entropy) của các thuộc tính chưa dùng dựa vào các
dữ liệu test (test data)
2. Chọn thuộc tính có entropy nhỏ nhất (hoặc information gain là lớn nhất)
3. Tạo node chứa thuộc tính đó.
Mô tả thuật toán:
ID3 (Examples, Target_Attribute, Attributes)
1. Create a root node for the tree
2. If all examples are positive, Return the single-node tree Root, with label = +.
3. If all examples are negative, Return the single-node tree Root, with label =
4. If number of predicting attributes is empty, then Return the single node tree
Root, with label = most common value of the target attribute in the examples.
5. Otherwise
Begin
o A = The Attribute that best classifies examples.
o Decision Tree attribute for Root = A.
o For each possible value, , of A,
 Add a new tree branch below Root, corresponding to the test A =
.
 Let Examples( ) be the subset of examples that have the value
for A

 If Examples( ) is empty
 Then below this new branch add a leaf node with label =
most common target value in the examples
 Else below this new branch add the subtree ID3 (Examples( ),
Target_Attribute, Attributes – {A})
End
6. Return Root
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 12 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
III.3. C4.5
- C4.5 xây dựng cây quyết định từ một tập hợp training data cùng cách như ID3, sử
dụng khái niệm information entropy. Training data là một tập hợp S = S1 + S2+
…của những mẩu đã được phân loại. Mỗi mẫu là một vector
trong đó thể hiện những thuộc tính hoặc tính chất của mẫu. Training
data được gia tang với a vector trong đó thể hiện lớp mà
mỗi mẫu thuộc.
- Tại mỗi nút của cây, C4.5 chọn một thuộc tính tốt nhất trong tập dữ liệu mà nó
chia những tập mẫu thành những tập con (enriched in on class or the other).
Nguyên tắc của nó dựa trên information gain (difference in entropy) để chọn một
thuộc tính cho việc phân lớp dữ liệu. Thuộc tính với information gain chuẩn hóa
nhất đươc chọn C4.5 sẽ tiếp tục làm trên tập nhỏ hơn.
- Quá trình xây dựng cây quyết định có 2 giai đoạn đó là xây dựng cây và cắt tỉa
(pruning) cây để được cây quyết định tối ưu.
Mô tả thuật toán:
1. Check for base cases
All the samples in the list belong to the same class. When this happens, it
simply creates a leaf node for the decision tree saying to choose that class.
None of the features provide any information gain. In this case, C4.5
creates a decision node higher up the tree using the expected value of the

class.
Instance of previously-unseen class encountered. Again, C4.5 creates a
decision node higher up the tree using the expected value.
2. For each attribute a
1. Find the normalized information gain from splitting on a
3. Let a_best be the attribute with the highest normalized information gain
4. Create a decision node that splits on a_best
5. Recurse on the sublists obtained by splitting on a_best, and add those
nodes as children of node
- Thao tác với thuộc tính liên tục
Xử lý thuộc tính liên tục đòi hỏi nhiều tài nguyên tính toán hơn thuộc tính rời rạc.
Gồm các bước sau:
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 13 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
1. Kỹ thuật Quick sort được sử dụng để sắp xếp các case trong tập dữ liệu
đào tạo theo thứ tự tăng dần hoặc giảm dần các giá trị của thuộc tính liên tục V
đang xét. Được tập giá trị V = {v1, v2, …, vm}
2. Chia tập dữ liệu thành hai tập con theo ngưỡng θi = (vi + vi+1)/2 nằm giữa hai
giá trị liền kề nhau vi và vi+1. Test để phân chia dữ liệu là test nhị phân dạng V
<= θi hay V > θi. Thực thi test đó ta được hai tập dữ liệu con: V1 = {v1, v2, …,
vi} và V2 = {vi+1, vi+2, …, vm}.
3. Xét (m-1) ngưỡng θi có thể có ứng với m giá trị của thuộc tính V bằng cách
tính Information gain hay Gain ratio với từng ngưỡng đó. Ngưỡng có giá trị của
Information gain hay Gain ratio lớn nhất sẽ được chọn làm ngưỡng phân chia của
thuộc tính đó. Việc tìm ngưỡng (theo cách tuyến tính như trên) và sắp xếp tập
training theo thuộc tính liên tục đang xem xét đôi khi gây ra thắt cổ chai vì tốn
nhiều tài nguyên tính toán. Cơ chế riêng trong xử lý những giá trị thiếu Giá trị
thiếu của thuộc tính là hiện tượng phổ biến trong dữ liệu, có thể do lỗi khi nhập
các bản ghi vào cơ sở dữ liệu, cũng có thể do giá trị thuộc tính đó được đánh giá

là không cần thiết đối với case cụ thể.
- Tránh “quá vừa” dữ liệu
“Quá vừa” dữ liệu là một khó khăn đáng kể đối với học bằng cây quyết định và
những phương pháp học khác. Quá vừa dữ liệu là hiện tượng: nếu không có các
case xung đột (là những case mà giá trị cho mọi thuộc tính là giống nhau nhưng
giá trị của lớp lại khác nhau) thì cây quyết định sẽ phân lớp chính xác toàn bộ các
case trong tập dữ liệu đào tạo. Đôi khi dữ liệu đào tạo lại chứa những đặc tính cụ
thể, nên khi áp dụng cây quyết định đó cho những tập dữ liệu khác thì độ chính
xác không còn cao như trước.
Có một số phương pháp tránh “quá vừa” dữ liệu trong cây quyết định:
• Dừng phát triển cây sớm hơn bình thường, trước khi đạt tới điểm phân lớp hoàn
hảo tập dữ liệu đào tạo. Với phương pháp này, một thách thức đặt ra là phải ước
lượng chính xác thời điểm dừng phát triển cây.
• Cho phép cây có thể “quá vừa” dữ liệu, sau đó sẽ cắt, tỉa cây Mặc dù phương
pháp thứ nhất có vẻ trực quan hơn, nhưng với phương pháp thứ hai thì cây quyết
định được sinh ra được thử nghiệm chứng minh là thành công hơn trong thực tế,
vì nó cho phép các tương tác tiềm năng giữa các thuộc tính được khám phá trước
khi quyết định xem kết quả nào đáng giữ lại. C4.5 sử dụng kỹ thuật thứ hai để
tránh “quá vừa” dữ liệu.
- Chuyển đổi từ cây quyết định sang luật
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 14 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Việc chuyển đổi từ cây quyết định sang luật sản xuất (production rules) dạng if-
then tạo ra những quy tắc phân lớp dễ hiểu, dễ áp dụng. Các mô hình phân lớp
biểu diễn các khái niệm dưới dạng các luật sản xuất đã được chứng minh là hữu
ích trong nhiều lĩnh vực khác nhau, với các đòi hỏi về cả độ chính xác và tính
hiểu được của mô hình phân lớp. Dạng output tập luật sản xuất là sự lựa chọn
“khôn ngoan”. Tuy nhiên, tài nguyên tính toán dùng cho việc tạo ra tập luật từ tập
dữ liệu đào tạo có kích thước lớn và nhiều giá trị sai là vô cùng lớn [12]. Khẳng

định này sẽ được chứng minh qua kết quả thực nghiệm trên mô hình phân lớp
C4.5.
Giai đoạn chuyển dổi từ cây quyết định sang luật bao gồm 4 bước:
1. Cắt tỉa
2. Lựa chọn
3. Sắp xếp
4. Ước lượng, đánh giá.
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 15 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
IV. VẤN ĐỀ TRONG CÂY QUYẾT ĐỊNH
Các vấn đề đặc thù trong khi học hay phân lớp dữ liệu bằng cây quyết định gồm: xác
định độ sâu để phát triển cây quyết định, xử lý với những thuộc tính liên tục, chọn
phép đo lựa chọn thuộc tính thích hợp, sử dụng tập dữ liệu đào tạo với những giá trị
thuộc tính bị thiếu, sử dụng các thuộc tính với những chi phí khác nhau, và cải thiện
hiệu năng tính toán. Sau đây là những vấn đề chính đã được giải quyết trong các thuật
toán phân lớp dựa trên cây quyết định.
IV.1. Overfitting
- Định nghĩa: Cho một không giả thuyết H , một giả thuyết h thuộc H được gọi là
overfit trên training data nếu tồn tại một vài giả thuyết h’ thuộc H mà h có ít lỗi
hơn h’ trên training example , nhưng h’ có lỗi nhỏ hơn h trên toàn bộ sự phân bố
của những trường hợp.
- Một vài cách để tránh overfiting
+ Dừng phát triển cây sớm hơn bình thường, trước khi đạt tới điểm phân lớp
hoàn hảo tập dữ liệu đào tạo. Với phương pháp này, một thách thức đặt ra là
phải ước lượng chính xác thời điểm dừng phát triển cây.
+ Cho phép cây có thể “quá vừa” dữ liệu, sau đó sẽ cắt, tỉa cây.
- Có thể hiểu đây là hiện tượng cây quyết định chứa một số đặc trưng riêng của tập
dữ liệu đào tạo, nếu lấy chính tập traning data để test lại mô hình phân lớp thì độ
chính xác sẽ rất cao, trong khi đối với những dữ liệu tương lai khác nếu sử dụng

cây đó lại không đạt được độ chính xác như vậy.
- Quá vừa dữ liệu là một khó khăn đáng kể đối với học bằng cây quyết định và
những phương pháp học khác. Đặc biệt khi số lượng ví dụ trong tập dữ liệu đào
tạo quá ít, hay có hỗn tạp trong dữ liệu
IV.2. Thao tác với các thuộc tính liên tục
- Việc thao tác với thuộc tính liên tục trên cây quyết định hoàn toàn không đơn
giản như với thuộc tính rời rạc. Thuộc tính rời rạc có tập giá trị xác định từ trước
và là tập hợp các giá trị rời rạc.
- Việc phân chia dữ liệu dựa vào phép kiểm tra giá trị của thuộc tính rời rạc được
chọn tại một ví dụ cụ thể có thuộc tập giá trị của thuộc tính đó hay không:
value(A) ∈ X với X ⊂ domain (A). Đây là phép kiểm tra logic đơn giản, không
tốn nhiều tài nguyên tính toán.
- Trong khi đó, với thuộc tính liên tục (thuộc tính dạng số) thì tập giá trị là không
xác định trước. Ví dụ: thuộc tính tuổi tác, tiền lương, Chính vì vậy, trong quá
trình phát triển cây, cần sử dụng kiểm tra dạng nhị phân: value(A) ≤ C. Với C
là hằng số, ngưỡng C được lần lượt xác định dựa trên từng giá trị riêng biệt hay
từng cặp giá trị liền nhau (theo thứ tự đã sắp xếp) của thuộc tính liên tục đang
xem xét trong tập dữ liệu đào tạo. Điều đó có nghĩa là nếu thuộc tính liên tục A
trong tập dữ liệu đào tạo có n giá trị phân biệt thì cần thực hiện n-1 lần kiểm tra
value(A) ≤ Ci với i = 1 n-1 để tìm ra ngưỡng C best tốt nhất tương ứng với thuộc
tính đó. Việc xác định giá trị của C và tiêu chuẩn tìm C tốt nhất tùy vào chiến
lược của từng thuật toán.
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 16 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
- Cụ thể với một giá trị thuộc tính A là giá trị liên tục giải thuật có thể linh động tạo
ra một thuộc tính logic A
c
mang giá trị true nếu A < C và false nếu ngược lại.
- Trong thuật toán C4.5, Ci được chọn là giá trị trung bình của hai giá trị liền kề

nhau trong dãy giá trị đã sắp xếp.
IV.3. Thao tác với dữ liệu bị thiếu
- Thực tế sẽ gặp rất nhiều trường hợp giá trị của các thuộc tính bị thiếu, vậy điều gì
xảy ra nếu dữ liệu chứa một hoặc nhiều giá trị không biết “?” thay cho một giá trị
thuộc tính cụ thể.
- Xét một trường hợp mà trong đó Gain(S,A) được tính toán tại nút n trong cây
quyết định đề xát định khi nào thuộc tính A là thuộc tính tốt nhất để kiểm tra nút
quyết định này. Giả sử rằng (x,c(x)) là một trong những training example trong S
và giá trị A(x) là không được biết đến.
- Một trong những chiến thuật liên quan đến thiếu giá trị thuộc tính là gán nó giá trị
mà hầu như chung trong số những training example tại nút n. Thay phiên nhau,
chúng ta gán nó giá trị chung trong số những training example tại nút n mà có sự
phân loại c(x).
- Thứ hai một thủ tục phức tạp hơn là gán một kết quả có thể xảy ra cho mỗi một
giá trị của A hơn là đơn giản gán một giá trị chung cho A(x).Khả năng có thể
nhận được bằng cách quan sát tần số của những giá trị khác nhau cho A trong số
những ví dụ tại nút n.
- Cho ví dụ, cho trước thuộc tính với giá trị logic A , nếu nút n chứa 6 trường hợp
được biết đến với A=1 và 4 trường hợp là A=0 , như vậy chúng ta có xát suất mà
A=1 là 0,6 và xát suất mà A=0 là 0,4.Phân số 0,6 của thực thể x được phân bố
xuống nhánh với A=1 và phân số 0,4 của x phân bố xuống nhánh của những
nhánh cây khác.Những tỉ số ví dụ này được sử dụng mục đích tính toán thông tin
Gain và những sự phân chia xa hơn ở những nhánh con của cây nếu sự thiếu giá
trị thuộc tính thứ hai của cây phải được kiểm tra . Phương pháp để quản lý thiếu
sót giá trị thuộc tính này được sử dụng trong C4.5.
IV.4. Chọn lựa thuộc tính xấu
- Information gain có khuynh hướng ưu tiên chọn những thuộc tính có nhiều giá trị
hơn những thuộc tính chỉ có một vài giá trị.
- Ví dụ nếu tập dữ liệu có thuộc tính Date thì khi xây dựng cây quyết định ta sẽ thu
được cây có chiều cao là 1 với thuộc tính Date được chọn.

- Để tránh trường hợp này Quinlan dùng GainRatio(S,A) thay cho Gain(S,A).
Với

MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 17 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
P(S
v
) là tần số của các dữ liệu có giá trị của Sv trong
IV.5. Thao tác các thuộc tính liên quan đến chi phí
- Đôi khi những thuộc tính của thực thể có thể liên quan đến chi phí (Cost), trong
những trường hợp như vậy ta sẽ ưu tiên những cây quyết định sử dụng thuộc tính
chi phi thấp ở những nơi có thể, và chỉ dùng những thuộc tính có giá trị cao khi
cần tạo ra những sự phân loại đáng tin cậy.
- Chỉ ra một function tính đo chi phí Cost(A) cho mỗi thuộc tính.
- Chúng ta có thể dùng CostedGain(S,A)
với có thể là một hằng số để xác định độ quan trọng tương đối của
chi phí chống lại information gain
PHẦN II : ÁP DỤNG
I. XÂY DỰNG CÂY QUYẾT ĐỊNH
I.1. Mô tả bài toán
- Trong hoàn cảnh nền kinh tế ngày càng phát tiển, đời sống người dân ngày càng
cao, nhu cầu vay tiêu dung của người dân ngày một lớn. Nếu như trước đây để
vay được tiền từ các ngân hàng, điều kiện trước tiên là phải có tài sản thế chấp,
thì hiện nay vay tín chấp dần dần trở thành chiến lược cho nhiều ngân hàng. Các
đối tượng họ hướng tới là những người có thu nhập ổn định, cần tiền để dùng cho
các mục đích như: mua xe, sửa nhà, làm đám cưới,
- Do vay tín chấp không có tài sản đảm bảo nên lãi suất sẽ cao hơn vay thế chấp.
Như vậy nếu ngân hàng xây dựng được những chương trình dự đoán được khách
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 18 -

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
hàng tiềm năng (khách hàng có khả năng trả nợ cũng như trả đúng hạn) sẽ giúp
thu được lợi nhuận lớn từ mảng vay tín chấp này.
- Để được đồng ý trên một khoản vay, người đi vay phải cung cấp trực tiếp hoặc
gián tiếp các thông tin như: tuồi, tình trạng hôn nhân, tên công ty, lý do vay, mức
lương… Bên cạch đó, các thông tin về ngày trả tiền sẽ giúp ta đánh giá là ‘tốt’
hay ‘xấu’ sau khi kết thúc một hợp đồng vay.
- Dựa vào các thông tin lưu trữ này ta có thể dùng phương pháp khai khoáng dữ
liệu (data mining) thông qua việc xây dựng cây quyết định để dự đoán khách
hàng tiềm năng.
- Việc đánh giá này cũng sẽ giúp công ty có những quyết định duyệt trên các khoản
vay một cách khoa học hơn. Có thể duyệt bằng, nhỏ hơn số tiền khách hàng đề
xuất hoặc khuyết khích khách hàng vay thêm.
- Ghi chú: Những khách hàng này phải là những người đi vay thỏa được các yêu
cầu tối thiểu của từng ngân hàng như: lương phải lớn hơn 4 triệu, phải làm ở công
ty hiện tại ít nhất 1 năm Nên cây quyết định được xây dựng sẽ chỉ áp dụng ở
bước xét duyệt số tiền cho vay sau khi hồ sơ đăng ký là hợp lệ.
I.2. Công cụ hỗ trợ
- Chúng ta sẽ sử dụng chương trình có sẵn thay vì phải xây dựng lại từ đầu.
- Weka là phần mềm khai thác dữ liệu viết bằng ngôn ngữ Java. Weka tập hợp các
thuật toán máy học cho các tác vụ khai thác dữ liệu. Weka gồm các công cụ thực
hiện: tiền xử lý dữ liệu(data pre-processing), phân lớp (classification), hồi quy
(regression), gom cụm (clustering), luật kết hợp (association rules).
- Ta sẽ sử dùng chương trình này để xây dựng cây quyết định bằng thuật toán C4.5
(J48)
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 19 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
- Chúng ta có thể tìm hiểu và sử dụng nó qua website

/>I.3. Xây dựng cây quyết định
1. Xây dựng tập thuộc tính
- Field: Lĩnh vực công ty hoạt động
= {Finance, Technology,Service}
- Loaned: Đã vay chỗ khác
= {yes, no}
- Reason: Lý do đi vay
= {Small Bussiness: SB, Shopping: Shop, Other}
- Amount: Sốt tiền vay
- Age: Tuổi của người vay
- Pre-Contract: Có vay trước đây chưa
= {yes, no}
- Salary: Lương của người đi vay tại thời điểm đăng ký
- Status: Tình trạng hôn nhân
= {Single, Married}
- ?: Thông tin bị thiếu
- Result: Kết quả đánh giá sau khi hợp đồng kết thúc
= {Good,Bad}
Good: Luôn trả đúng hẹn, có ít hơn 3 lần đóng tiền trễ
Bad: Có nhiều hơn 3 lần đóng tiền trễ
2. Xây dựng dữ liệu
Field Age Satus Salary
Loane
d
Pre-
contract
Reason Amount Result
Finance 44 Married 30 yes no Other 150 Bad
Finance 36 Single 20 yes no SB 100 Bad
Finance 28 Single 12 no no Other 50 Good

Technolog
y 56 Married 24 no no Other 140 Good
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 20 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
? 27 Married 18 no yes Shop 80 Bad
Technolog
y 31 Single 18 no yes SB 100 Good
Technolog
y 36 Married 12 no no SB 40 Good
Service 24 Married 13 no no Other 50 Bad
? 52 Married 35 yes yes SB 200 Bad
? 33 Single 15 no yes Shop 70 Bad
Service 26 Single 10 no no SB 80 Good
Service 24 Married 8 no no Other 32 Bad
Technolog
y 29 Single 12 yes no Shop 60 Bad
Technolog
y 28 Single 19 no no Shop 120 Bad
Thêm thuộc tính cho bộ dữ liệu
- Ratio = round(Amount/Salary)
Field Age Satus Salary
Loan
ed
Pre-
contract
Reason Amount Ratio Result
Finance 44 Married 30 yes no Other 150 5 Bad
Finance 36 Single 20 yes no SB 100 5 Bad
Finance 28 Single 12 no no Other 50 4 Good

Technolog
y 56 Married 24 no no Other 140 6 Good
? 27 Married 18 no yes Shop 80 4 Bad
Technolog
y 31 Single 18 no yes SB 100 6 Good
Technolog
y 36 Married 12 no no SB 40 3 Good
Service 24 Married 13 no no Other 50 4 Bad
? 52 Married 35 yes yes SB 200 6 Bad
? 33 Single 15 no yes Shop 70 5 Bad
Service 26 Single 10 no no SB 80 8 Good
Service 24 Married 8 no no Other 32 4 Bad
Technolog
y 29 Single 12 yes no Shop 60 5 Bad
Technolog
y 28 Single 19 no no Shop 120 6 Bad
3. Chuẩn bị dữ liệu cho chương trình
- Tạo file loan_bank.arff dựa trên tập dữ liệu trên
@relation loan_bank
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 21 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
@attribute Field {Finance,Technology,Service}
@attribute Age numeric
@attribute Status {Married,Single}
@attribute Salary numeric
@attribute Loaned {yes,no}
@attribute Pre-contract {yes,no}
@attribute Reason {SB,Shop,Other}
@attribute Amount numeric

@attribute Ratio numeric
@attribute Result {Good,Bad}
@data
Finance,44,Married,30,yes,no,Other,150,5,Bad
Finance,36,Single,20,yes,no,SB,100,5,Bad
Finance,28,Single,12,no,no,Other,50,4,Good
Technology,56,Married,24,no,no,Other,140,6,Good
?,27,Married,18,no,yes,Shop,80,4,Bad
Technology,31,Single,18,no,yes,SB,100,6,Good
Technology,36,Married,12,no,no,SB,40,3,Good
Service,24,Married,13,no,no,Other,50,4,Bad
?,52,Married,35,yes,yes,SB,200,6,Bad
?,33,Single,15,no,yes,Shop,70,5,Bad
Service,26,Single,10,no,no,SB,80,8,Good
Service,24,Married,8,no,no,Other,32,4,Bad
Technology,29,Single,12,yes,no,Shop,60,5,Bad
Technology,28,Single,19,no,no,Shop,120,6,Bad
4. Chạy chương trình
- Chọn Application là Explorer
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 22 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
- Load file data
- Chương trình sẽ phân lớp và tìm giá trị C cho các thuộc tính
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 23 -
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
- Chọn thuật toán, tùy chọn (option) để chạy
MÔN HỌC : KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU - 24 -

×