Tải bản đầy đủ (.pdf) (24 trang)

BÁO CÁO THỰC TẬP-Data mining - classification

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 (683.3 KB, 24 trang )



Data mining - classification
Giảng viên: Nguyễn Quỳnh Chi
Sinh viên:
Trần Tuấn Anh
Đinh Thị Thanh Hương
Nguyền Trường Thọ
Data mining - Classification
MỞ ĐẦU
Sự phát triển nhanh chóng của mạng Internet và Intranet đã sinh ra một khối lượng khổng lồ
các dữ liệu dạng siêu văn bản (dữ liệu Web). Cùng với sự thay đổi và phát triển hàng ngày,
hàng giờ về nội dung cũng như số lượng các trang Web trên Internet thì vấn đề tìm kiếm thông
tin đối với người sử dụng lại càng khó khăn. Có thể nói nhu cầu tìm kiếm thông tin trên một
CSDL phi cấu trúc đã được phát triển chủ yếu cùng với sự phát triển của Internet. Thực vậy,
với Internet con người đã làm quen với các trang Web cũng với vô vàn các thông tin. Trong
những năm gần đây Internet đã trở thành một trong những kên về khoa học, thông tin kinh tế,
thương mại và quảng cáo. Một trong những lý do cho sự phát triển này là sự thấp về giá cả tiêu
tốn khi công khai một tran Web trên Internet. So sánh với những dịch vụ khác như mua bản
hay quảng cáo trên một tờ báo hay tạp chí, thì một trang Web “đòi” rẻ hơn rất nhiều và cập
nhật nhanh chóng hơn tới hàng triệu người dung khắp mọi nơi trên thế giới. Có thể nói trang
Web như là cuốn từ điển Bách khoa toàn thư. Thông tin trên các trang Web đa dạng về mặt nội
dung cũng như hình thức. Có thể nói Internet như một xã hội ảo, nó bao gồm các thông tin về
mọi mặt của đời sống kinh tế, xã hội được trình bày dưới dạng văn bản, hình ảnh, âm thanh…
Tuy nhiên cũng với sự đa dạng và số lượng lớn thông tin như vậy đã nảy sinh vấn đề quá tải
thông tin. Người ta không thể tự tìm kiếm địa chỉ trang Web chứa thông tin mà mình cần, do
vậy đòi hỏi phải có một trình tiện ích quản lý nội dung của các trang Web và cho phép tìm thấy
các địa chỉ trang Web có nội dung giống với yêu cầu của người tìm kiếm. Các tiện ích này
quản lý dữ liệu như các đối tượng phi cấu trúc. Hiện nay chúng ta đã làm quen với một số các
tiện ích như vậy, đó là: yahoo, google, alvista…
Mặt khác, giả sử chúng ta có các trang Web về các vấn đề Tin học, Thể thao, Kinh tế - Xã hội


và xây dựng… Căn cứ vào nội dung của các tài liệu mà khách hàng xem hoặc download về,
sau khi phân lớp chúng ta sẽ biết khách hàng hay tập trung vào nội dung gì trên trang Web của
chúng ta, từ đó chúng ta sẽ bổ sung thêm nhiều các tài liệu về các nội dung mà khách hàng
quan tâm và ngược lại. Còn về phía khách hàng sau khi phân tích chúng ta cũng biết được
khách hàng hay tập trung về vấn đề gì, từ đó có thể đưa ra những hỗ trợ thêm cho khách hàng
đó. Từ những nhu cầu thực tế trên , phân lớp và tìm kiếm trang Web vẫn là bài toán hay và cần
phát triển nghiên cứu hiện nay.
[D08 HTTT1] Page 2
Data mining - Classification
MỤC LỤC
MỤC LỤC 3
Giới thiệu 4
Khai thác dữ liệu 4
Khái niệm 4
Ưu thế khai phá dữ liệu 5
Các kỹ thuật khai phá dữ liệu 6
Cây quyết định 7
Công cụ khai phá dữ liệu – Weka 7
Các chức năng của Weka Explorer 7
Khảo sát dữ liệu 8
Phân lớp dữ liệu sử dụng cây quyết định 9
Tổng quan về phân lớp dữ liệu trong khai phá 9
Phân lớp dữ liệu 9
Cây quyết định trong phân lớp dữ liệu 11
Định nghĩa 11
Thuật toán C4.5 12
Thực tế 14
Giới thiệu về dataset 14
Phân tích kết quả 17
[D08 HTTT1] Page 3

Data mining - Classification
Giới thiệu
Khai thác dữ liệu
Khái niệm
Khái phá dữ liệu được định nghĩa lá: quá trình trích xuất các thông tin có giá trị tiềm ẩn
bên trong lượng lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu, kho dữ liệu… Hiện nay,
ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự
như: khai phá tri thức từ cơ sở dữ liệu (knowlegde mining from databases), trích lọc dữ liệu
(knowlegde extraction), phân tích dữ liệu/mẫu (data/patten analysis), khảo cổ dữ liệu (data
archaeology), nạo vét dữ liệu (data dredging). Nhiều người coi khai phá dữ liệu và một thuật
ngữ thông dụng khác là khai phá tri thức trong cơ sở dữ liệu (Knowlegde Discovery in
Databases – KDD) là như nhau. Tuy nhiên trên thực tế, khai phá dữ liệu chỉ là một bước thiết
yếu trong quá trình khám phá tri thức trong cơ sở dữ liệu. Quá trình này bao gồm các bước sau:
Bước 1: Làm sạch dữ liệu (data cleaning): loại bỏ nhiễu hoặc các dữ liệu không thích
hợp.
Bước 2: Tích hợp dữ liệu (data intergration): tích hợp dữ liệu từ các nguồn khác nhau
như: cơ sở dữ liệu, kho dữ liệu, file text…
Bước 3: Chọn dữ liệu (data selection): ở bước này, những dữ liệu liên quan trực tiếp
đến nhiệm vụ sẽ được thu thập từ các nguồn dữ liệu ban đầu.
Bước 4: Chuyển đổi dữ liệu (data transformation): trong bước này,
dữ
liệu sẽ được
chuyển đổi về dạng phù hợp cho việc khai phá bằng cách thực
hiện
các thao tác nhóm hoặc
tập
hợp.
Bước 5: Khai phá dữ liệu (data mining):
là giai đoạn thiết yếu, trong
đó

các phương
pháp thông minh sẽ được áp dụng để trích xuất ra các mẫu dữ
liệu.
Bước 6: Đánh giá mẫu (pattern evaluation):
đánh giá sự hữu ích của
các
mẫu biểu
diễn tri thức dựa vào một số phép
đo.
Bước 7: Trình diễn dữ liệu (
knowlegde presentation
):
sử dụng các

thuật trình
diễn và trực quan hoá dữ liệu để biểu diễn tri thức khai phá được
cho
người sử
dụng
[D08 HTTT1] Page 4
Data mining - Classification
Khai phá dữ liệu và phát hiện tri thức trong các cơ sở dữ liệu đã cuốn
hút
các phương
pháp, thuật toán và kỹ thuật từ nhiều chuyên ngành nghiên cứu
khác
nhau như học máy, thu
nhận mẫu, cơ sở dữ liệu, thống kê, trí tuệ nhân tạo,
thu
nhận tri thức trong hệ chuyên gia…

cùng hướng tới mục tiêu thống nhất là
trích
lọc ra được các tri thức từ dữ liệu trong các cơ sở
dữ liệu khổng lồ. Song so
với
các phương pháp khác, khai phá dữ liệu có một số ưu thế rõ
rệt
Ưu thế khai phá dữ liệu
Khai phá dữ liệu có nhiều ứng dụng và một số ưu thế rõ rệt được xem xét dưới đây:
+ So với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khai phá dữ liệu
có thể sử dụng với các cơ sở dữ liệu chứa nhiều nhiễu, dữ liệu không đầy đủ hoặc biến đổi liên
tục. Trong khi đó phương pháp học máy chủ yếu được áp dụng trong các cơ sở dữ liệu đầy đủ,
ít biến động và tập dữ liệu không quá lớn.
+ Phương pháp hệ chuyên gia: phương pháp này khác với khai phá dữ liệu ở chỗ các ví
dụ của chuyên gia thường ở mức chất lượng cao hơn nhiều so với các dữ liệu trong cơ sở dữ
liệu, và chúng thường chỉ bao hàm được các trường hợp quan trọng. Hơn nữa các chuyên gia
sẽ xác nhận giá trị và tính hữu ích của các mẫu phát hiện được.
+ Phương pháp thống kê là một trong những nền tảng lí thuyết của Khai phá dữ liệu,
nhưng khi so sánh hai phương pháp với nhau ta có thể thấy các phương pháp thống kê còn tồn
tại một số điểm yếu mà Khai phá dữ liệu đã khắc phục được:
 Các phương pháp thống kê chuẩn không phù hợp với các kiểu dữ liệu có
cấu
trúc trong rất nhiều cơ sở dữ
liệu
 Các phương pháp thống kê hoạt động hoàn toàn theo dữ liệu, nó không
sử
dụng tri thức sẵn có về lĩnh
vực
 Kết quả phân tích của thống kê có thể sẽ rất nhiều và khó có thể làm rõ được
 Kết quả phân tích của thống kê có thể sẽ rất nhiều và khó có thể làm rõ

được
Với những ưu điểm đó, khai phá dữ liệu đang được áp dụng khai phá dữ liệu nhân sự
để đáp ứng tính thường xuyên thay đổi, tăng trưởng của dữ liệu. Tìm kiếm những thông tin
tiềm ẩn trong dữ liệu mà bằng phương pháp khác không phát hiện được.
[D08 HTTT1] Page 5
Data mining - Classification
Các kỹ thuật khai phá dữ liệu
Các kỹ thuật khai phá dữ liệu thường được chia làm hai nhóm chính:
- Kỹ thuật khai phá dữ liệu mô tả: có nhiệm vụ mô tả về các tính chất hoặc các đặc tính
chung của dữ liệu trong cơ sở dữ liệu hiện có. Các kĩ thuật này có thể liệt kê: phân cụm
(clustering), tóm tắt (summerization), trực quan hóa (visualization), phân tích sự phá hiện biến
đổi và độ lệch, phân tích luật kết hợp (association rules)
- Kỹ thuật khai phá dữ liệu dự đoán: có nhiệm vụ đưa ra các dự đoán dựa vào các suy
diễn trên dữ liệu hiện thời. các kỹ thuật này gồm có: phân lớp (classification), hồi quy
(regression)
3 phương pháp thông dụng nhất trong khai phá dữ liệu la: phân cụm dữ liệu, phân lớp
dữ liệu và khai phá luật kết hợp. Chúng ta chỉ xét đến phương pháp phân lớp
Phân lớp dữ liệu: Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho
các mẫu dữ liệu. Quá trình phân lớp dữ liệu thường gồm 2 bước: xây dựng mô hình và sử dụng
mô hình để phân lớp dữ liệu
• Bước 1: một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu sẵn
có. Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi là thuộc tính lớp.
Các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện (training data set). Các nhãn lớp
của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương
pháp này còn được gọi là học có thầy (supervised learning) khác với phân cụm dữ liệu là học
không có thầy (unsupervised learning).
• Bước 2: sử dụng mô hình để phân lớp dữ liệu. Trước hết chúng ta phải tính độ chính
xác của mô hình. Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán
nhãn lớp cho các mẫu dữ liệu khác trong tương lai. Phương pháp hồi qui khác với phân lớp dữ
liệu ở chỗ, hồi qui dùng để dự đoán về các giá trị liên tục còn phân lớp dữ liệu thì chỉ dùng để

dự đoán về các giá trị rời rạc.
[D08 HTTT1] Page 6
Data mining - Classification
Cây quyết định
Trong phân lớp dữ liệu hình thức trực quan của mô hình là cây
quyết
định. Sau
đây, luận văn sẽ trình bầy vai trò, đánh giá về cây quyết định
trong
khai phá dữ
liệu.
Công cụ khai phá dữ liệu – Weka
Các chức năng của Weka Explorer
Các chức năng chính của Weka Explorer thể hiện trong các thẻ tab của man hình chính,
bao gồm:
• Preprocess: Cho phép mở, điều chỉnh, lưu một tập tin dữ liệu, thẻ này chứa các thuậtt
toán áp dụng trong tiền xử lý dữ liệu.
• Classify: Cung cấp các mô hình phân loại dữ liệu hoặc hồi quy.
• Cluster: Cung c p các mô hình gom c m.ấ ụ
• Associate: Khai thác t p ph bi n và lu t k t h p.ậ ổ ế ậ ế ợ
• SelectAttributes: L a ch n các thu c tính thích h p nh t trong t pự ọ ộ ợ ấ ậ
d li uữ ệ .
• Visualize: Th hi n d li u d i d ng bi u để ệ ữ ệ ướ ạ ể ồ.
[D08 HTTT1] Page 7
Data mining - Classification
Khảo sát dữ liệu
• Sử dụng thẻ Preprocess
• (1) Open file: Mở một tập dữ liệu.
• (2) Edit: Hiển thị và chỉnh sửa dữ liệu bằng tay nếu cần thiết.
• (3) Save: Lưu trữ dữ liệu hiện tại ra tập tin

Weka Explorer hỗ trợ một sỗ định dạng arff, csv…
• (4) Filter: Các tác vụ tiền xử lý dữ liệu được gọi là các bộ lọc
• (5) Selected attribute: Thông tin về thuộc tính đang được chọn
o Type: Kiểu dữ liệu của thuộc tính (Numeric – dạng số, Nominal – dạng rời
rạc / không số, ordinal – thứ tự, binary – nhị phân)
o Missing: Số mẫu thiếu giá trị trên thuộc tính đang xét
o Distinct: Số giá trị phân biệt
o Unique: Số mẫu không có giá trị trùng với mẫu khác
• Sử dụng thẻ Classify
• (1) Classifer: lựa chọn bộ phân loại và các tham số.
• (2) Test Options: các tùy chọn để kiểm thử mô hình
o Use training set: sử dụng chính tập dữ liệu huấn luyện để kiểm nghiệm
o Supplied test set: Sử dụng một tập dữ liệu khác.
o Cross-validation: Chia dữ liệu thành nhiều phần (Flods) để thực hiện nhiều lần
đánh giá kết quả.
o Percentage split: Chia dữ liệu thành 2 phần theo tỉ lệ %, một phần dùng để xây
dựng mô hình, phần còn lại dành cho kiểm thử
• (3) Result list: Danh sách kết quả các lần chạy thuật toán, có thể tương tác trên danh
sách này để thực hiện một chức năng phụ
[D08 HTTT1] Page 8
Data mining - Classification
Phân lớp dữ liệu sử dụng cây quyết định
Tổng quan về phân lớp dữ liệu trong khai phá
Phân lớp dữ liệu
Một trong các nhiệm vụ chính của khai phá dữ liệu là giải quyết bài toán phân lớp. Đầu
vào của bài toán phân lớp là một tập các mẫu học đã được phân lớp trước, mỗi mẫu được mô tả
bằng một số thuộc tính. Các thuộc tính dùng để mô tả một mẫu gồm hai loại là thuộc tính liên
tục và thuộc tính rời rạc. Trong số các thuộc tính rời rạc có một thuộc tính đặc biệt là phân lớp,
mà các giá trị của nó được gọi là nhãn lớp. Thuộc tính liên tục sẽ nhận các giá trị có thứ tự,
ngược lại thuộc tính rời rạc sẽ nhận các giá trị không có thứ tự. Ngoài ra, các thuộc tính có thể

nhận giá trị không xác định (chẳng hạn, vì những lý do khách quan ta không thể biết được giá
trị của nó). Chú ý rằng nhãn lớp của tất cả các mẫu không được phép nhận giá trị không xác
định. Nhiệm vụ của quá trình phân lớp là thiết lập được ánh xạ giữa giá trị của các thuộc tính
với các nhãn lớp. Mô hình biểu diễn quan hệ nói trên sau đó sẽ được dùng để xác định nhãn
lớp cho các quan sát mới không nằm trong tập mẫu ban đầu.
Thực tế đặt ra nhu cầu từ một cơ sở dữ liệu với nhiều thông tin ẩn ta 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
[D08 HTTT1] Page 9
Dữ liệu đầu
vào
Thuật toán phân
lớp hoạt động
Lớp 1
Lớp 2
Lớp n
Classification
algorithm
Data mining - Classification
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) 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
Quá trình phân lớp dữ liệu gồm hai 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 đó. 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). Luận văn sử dụng các thuật ngữ này
với nghĩa tương đương. 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. Quá trình
này được mô tả như trong hình vẽ:
Training data
Classifier (modle)
P_i P_t L_l_a S_s P_r D_s
63.02 22.52 39.60 40.47 98.67 -0.254
39.05 10.06 25.01 28.99 114.4 4.5642
68.82 22.21 50.09 46.61 105.98 -3.53
… … … … … …
• Bước thứ hai (classification)
[D08 HTTT1] Page 10
If D_s <= 19.85 and P_r <=125.21
and S_s <=40.47 and P_t >9.97
Then class = Abnormal
Data mining - 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.
Các phương pháp đánh giá độ chính xác của mô hình phân lớp. Chúng ta chỉ đề cập đến
phương pháp đánh giá độ phổ biến k-fold cross-validation. k-fold cross-validation tập dữ liệu
ban đầu được chia ngẫu nhiên thành k tập con (fold) có kích thước xấp xỉ nhau S1, S2,…, Sk.
Quá trình train và test được thực k lần. tại lần lặp thứ I, Si là tập dữ liệu kiểm tra các tập còn lại
hợp thành tập dữ liệu huấn luyện. Có nghĩa là đầu tiên việc huấn luyện được thực hiện trên các
tập S2, S3,…,Sk, sau đó kiểm tra trên tập S1. Tiếp tục quá trình như thế đến khi tập kiểm tra là
Sk. Dộn chính xác là toàn bộ số phân lớp đúng từ k lần lặp chia cho tổng số mẫu của dữ liệu
ban đầu.
Cây quyết định trong phân lớp dữ liệu
Định nghĩa
Trong những năm qua, nhiều mô hình phân lớp dữ liệu đã được các nhà khoa học trong
nhiều lĩnh vực khác nhau đề xuất như mạng notron, mô hình thông kê tuyến tính bậc 2, cây
quyết định, mô hình di truyền. Trong số những mô hình đó, cây quyết định với những ưu điểm
của mình được đánh giá là một công cụ mạnh, phổ biến và đặc biệt thích hợp cho Data Mining
nói chung và phân lớp dữ liệu nói riêng [12]. Có thể kể ra những ưu điểm của cây quyết định
như: xây dựng tương đối nhanh; đơn giản, dễ hiểu. Hơn nữa các cây có thể dễ dàng được
chuyển đổi sang các câu lệnh SQL để có thể được sử dụng để truy nhập cơ sở dữ liệu một cách
hiệu quả. Cuối cùng, việc phân lớp dựa trên cây quyết định đạt được sự tương tự và đôi khi là
chính xác hơn so với các phương pháp phân lớp khác
Cây quyết định là một flow-chart giống cấu trúc cây , nút bên trong biểu thị một kiểm

tra trên một thuộc tính , nhánh biểu diễn đầu ra của kiểm tra , nút lá biểu diễn nhãn lớp hoặc sự
phân bố của lớp. Cây quyết định là biểu đồ phát triển có cấu trúc dạng cây, như mô tả trong
hình vẽ sau:
[D08 HTTT1] Page 11
Data mining - Classification
Trong cây quyết
định:
• Gốc: là node trên cùng của cây
• Node trong: biểu diễn một kiểm tra trên một thuộc tính đơn (hình chữ nhật)
• Nhánh: biểu diễn các kết quả của kiểm tra trên node trong (mũi tên)
• Node lá: biểu diễn lớp hay sự phân phối lớp.
Để phân lớp mẫu dữ liệu chưa biết, giá trị các thuộc tính của mẫu được
đưa
vào kiểm
tra trên cây quyết định. Mỗi mẫu tương ứng có một đường đi từ
gốc
đến lá và lá biểu diễn
dự đoán giá trị phân lớp mẫu
đó
Thuật toán C4.5
Là sự phát triển từ CLS và ID3 là công cụ thường dùng trong Data mining. Đầu vào là
tập các mẫu, mỗi mẫu thuộc về một lớp. Đầu ra là bộ phân lớp dùng để dự đoán.
Cây quyết định
Cho tập S các mấu, C4.5 sinh ra cây quyết định ban đầu theo phướng pháp chia để trị như sau:
[D08 HTTT1] Page 12
Data mining - Classification
 Nếu tất cả các mẫu trong S đều thuộc về cùng một lớp hay tập S nhỏ thì cây là một nút
lá với nhãn là lớp xuất hiện nhiều nhất trong S
 Ngược lại, chọn một thuộc tính với hai hay nhiều “kết quả” trong tập thuộc tính. Tạo
thuộc tính này là nút gốc của cây với mỗi nhánh là mỗi kết quả của thuộc tính, chia tập

mẫu còn lại của S thành các tập con S1,S2,…,Sk theo kết quả (còn lại) của S, ấp dụng
cùng cách làm một các đệ quy cho các tập S1,…
Làm thế nào để chọn thuộc tính làm nút gốc? C4.5 dựa vào một trong hai heuristics sau:
Information Gain
Trong đó: Value (A) là tập các giá trị của thuộc tính A, Sv là tập con của S mà A nhận giá trị
Gain ratio
[D08 HTTT1] Page 13
Data mining - Classification
Thực tế
Giới thiệu về dataset
Qua tập dữ liệu column_2C_weka.arff thu thập được được xây dựng bởi Tiến sĩ
Henrique da Mota trong một khoảng thời gian cư trú y tế trong Tập đoàn Nghiên cứu ứng dụng
trong Chỉnh hình (GARO) của các Trung tâm y si-Chirurgical de Réadaptation des Massues,
Lyon, Pháp. Các dữ liệu đã được tổ chức trong hai nhiệm vụ phân loại khác nhau nhưng có liên
quan. Nhiệm vụ bao gồm trong việc phân loại bệnh nhân thuộc một trong hai loại: Bình thường
(100 bệnh nhân) hoặc bất thường (210 bệnh nhân). Chúng tôi cung cấp các tập tin còn cho sử
dụng trong môi trường WEKA.Nguồn :
/>Qua tập dữ liệu column_2C_weka.arff ta nhận thấy có 310 mẫu với 7 thuộc tính (cả
thuộc tính lớp) có trong dữ liệu.
Bẳng miêu tả tên, kiểu dữ liệu, các giá trị của từng thuộc tính
Stt Tên thuộc tính Kiểu dữ liệu Các giá trị của thuộc tính
1 Pelvic_incidence Numeric 26.148 –> 129.834
2 Pelvic_tilt Numeric -6.555 –> 49.432
3 Lumbar_lordosis_angle Numeric 14 –> 125.742
4 Sacral_slope Numeric 13.367 –> 121.43
5 Pelvic_radius Numeric 70.083 –> 163.071
6 Degree_spondylolisthesis Numeric -11.058 –> 418.543
7 Class Nominal Normal, Abnormal
Thuộc tính phân lớp 7 (class)
 Tỉ lệ phân lớp

o Normal: 100 (32.258%)
o Abnormal: 210 (67.742%)
[D08 HTTT1] Page 14
Data mining - Classification
Một định dạng tập tin văn bản bao gồm hai phần:
@relation column_2C_weka
@attribute pelvic_incidence numeric
@attribute pelvic_tilt numeric
@attribute lumbar_lordosis_angle numeric
@attribute sacral_slope numeric Phần khai báo
@attribute pelvic_radius numeric
@attribute degree_spondylolisthesis numeric
@attribute class {Abnormal, Normal}
@data
63.0278175,22.55258597,39.60911701,40.47523153,98.67291675,-
0.254399986,Abnormal
39.05695098,10.06099147,25.01537822,28.99595951,114.4054254,4.
564258645,Abnormal
68.83202098,22.21848205,50.09219357,46.61353893,105.9851355,-
3.530317314,Abnormal
69.29700807,24.65287791,44.31123813,44.64413017,101.8684951,11
.21152344,Abnormal
49.71285934,9.652074879,28.317406,40.06078446,108.1687249,7.91
8500615,Abnormal
40.25019968,13.92190658,25.1249496,26.32829311,130.3278713,2.2
30651729,Abnormal

Phần dữ liệu
Phần khai báo:
@


r e

l

a

t i o n <tên dữ liệu>
@

a

tt ri b

u

t e <tên thu cộ tính 1><Kiểu dữ liệu>
@

a

tt ri b

u

t e <tên thu cộ tính 2><Kiểu dữ liệu>

@

a


tt ri b

u

t e <tên thu cộ tính n><Kiểu dữ liệu>
o Các kiểu dữ liệu
Numeric Dữ liệu dạng số Ví dụ: @

ATTR I

B U T E name numeric
Nominal Dữ liệu rời rạc Ví dụ: @

ATTR I

B U T E class
{setosa, versicolor}
String Dữ liệu chuỗi Ví dụ: @

ATTR I

B U T E name string
Date Dữ liệu kiểu ngày Ví dụ: @

ATTR I

B U T E discovered
[D08 HTTT1] Page 15
Data mining - Classification

date
Dữ liệu thiếu được ký hiệu bằng dấu chấm hỏi “?”
o Phần dữ liệu:
Mỗi mẫu dữ liệu được đặt trên một dòng, giá trị của các thuộc
tính được liệt kê theo thứ tự từ trái qua phải và ngăn cách bởi
dấu phẩy“,”
Hi n th t p tin b ng arffViewerể ị ậ ằ
Ý nghĩa của các thuộc tính
1 Pelvic_incidence = Pi Tỉ lệ mắc bệnh vùng chậu
2 Pelvic_tilt = Pt Độ nghiêng vùng chậu
3 Lumbar_lordosis_angle = lla Góc tật xương sông thắt lung cong ra
4 Sacral_slope = Ss Độ dốc xương cùng
[D08 HTTT1] Page 16
Data mining - Classification
5 Pelvic_radius = Pr Bán kính vùng chậu
6 Degree_spondylolisthesis = Ps Mức độ spondylolisthesis
7 Class: Normal, Abnormal Lớp: bình thường, dị thường
Phân tích kết quả
Sử dụng thuật toán J48 (C4.5) của Weka cung cấp để huấn luyện tập dữ liệu
Cây quyết định của thuật toán là:
Đánh giá hiệu quả phân lớp của thuật toán đối với tập dữ liệu được cho theo hai
phương pháp:
[D08 HTTT1] Page 17
Data mining - Classification
Cross-validation
Lần test thứ nhất : với tỉ lệ phân chia thành 10 phần
Số mẫu Tỉ lệ
Phân lớp đúng 253 81.6129%
Phân lớp sai 57 18.3871%
Không phân được lớp 0 0

Tổng 310
Lần test thứ hai: với tỉ lệ phân chia <10 phần là 8 ta có:
Số mẫu Tỉ lệ
Phân lớp đúng 255 82.2581%
Phân lớp sai 55 17.7419%
Không phân được lớp 0 0
Tổng 310
Lần test thứ ba: với tỉ lệ phân chia < 10 phần là 5 ta có:
Số mẫu Tỉ lệ
Phân lớp đúng 254 81.9355%
Phân lớp sai 56 18.0645%
Không phân được lớp 0 0
Tổng 310
[D08 HTTT1] Page 18
Data mining - Classification
Lần test thứ tư: Với tỉ lệ phân chia > 10 phần là 12 ta có:
Số mẫu Tỉ lệ
Phân lớp đúng 255 82.2581%
Phân lớp sai 55 17.7419%
Không phân được lớp 0 0
Tổng 310
Lần test thứ năm với tỉ lệ phân chia > 10 phần là 15 ta có:
Số mẫu Tỉ lệ
Phân lớp đúng 260 83.871%
Phân lớp sai 50 16.129%
Không phân được lớp 0 0
Tổng 310
Sau khi chạy thuật toán trên theo phương pháp Cross-Validation thì với tham số Fold =
15 đạt được hiệu quả phân lớp nhất là 83.871% với số mẫu test là 310
Precentage split: cho biết chia là bao nhiêu % thì đạt hiệu quả phân lớp cao nhất:

Lần test thứ nhât: với tỉ lệ phân chia là 66% thì ta có:
Số mẫu Tỉ lệ
Phân lớp đúng 90 85.7143%
Phân lớp sai 15 14.2857%
Không phân được lớp 0 0
Tổng 105
[D08 HTTT1] Page 19
Data mining - Classification
Lần test thứ hai: với tỉ lệ phân chia < 66% là 60% ta có:
Số mẫu Tỉ lệ
Phân lớp đúng 97 78.2258%
Phân lớp sai 27 21.7742%
Không phân được lớp 0 0
Tổng 124
Lần test thứ ba : với tỉ lệ phân chia <66% là 55% ta có:
Số mẫu Tỉ lệ
Phân lớp đúng 117 84.1727%
Phân lớp sai 22 15.8273%
Không phân được lớp 0 0
Tổng 139

Lần test thứ tư: với tỉ lệ phân chia > 66% là 70% ta có:
Số mẫu Tỉ lệ
Phân lớp đúng 76 81.7204%
Phân lớp sai 17 18.2796%
Không phân được lớp 0 0
Tổng 93
[D08 HTTT1] Page 20
Data mining - Classification
Lần test thứ năm: với tỉ lệ phân chia > 66% là 75% ta có:

Số mẫu Tỉ lệ
Phân lớp đúng 65 84.4156%
Phân lớp sai 12 15.5844%
Không phân được lớp 0 0
Tổng 77
Sau khi chạy thuật toán trên với phương pháp Precentage split với tỉ lệ phân chia là
66% đạt hiệu quả phân lớp cao nhất 85.7143%, nhưng với số mẫu phân lớp 105 giảm so với
310 nên chưa đạt hiệu quả phân lớp
Các suy luận suy ra từ cây quyết định sử dụng phương pháp Cross-Validation:
Classifier out put:
Kết quả được liệt kê bằng văn bản với những phần phân biệt như sau
[D08 HTTT1] Page 21
Data mining - Classification
• Run information: Thông tin chung về thuật toán dược sử dụng dữ liệu, tập dữ
liệu
• Classifier model: chi tiết mô hình phân loại, tuy nhiên đối với một số bộ phân
loại thì mô hình phân loại không thể hiện đầy đủ thông tin bằng văn bản được
• Summary: Liệt kê thông tin tổng quát về mức độ chính xác của bộ phân loại
trong thử nghiệm và thực thi
[D08 HTTT1] Page 22
Data mining - Classification
Các trường hợp được phân loại một cách chính xác và không chính xác cho thấy tỷ lệ
phần trăm các trường hợp thử nghiệm một cách chính xác và không chính xác phân loại. Các
số liệu được hiển thị trong ma trận nhầm lẫn, với a, b và đại diện cho nhãn lớp. Ở đây có 310
trường hợp, do đó, tỷ lệ phần trăm và số liệu, aa + bb = 191 + 69 = 260, ab + ba = 19 + 31= 50.
Tỷ lệ phần trăm các trường hợp phân loại chính xác thường được gọi là độ chính xác
hoặc mẫu chính xác. Nó có một số nhược điểm như là một ước tính hiệu suất (không có cơ hội
sửa chữa, không nhạy cảm với lớp phân), vì vậy có thể bạn sẽ muốn xem xét một số các số
khác.
Kappa là một biện pháp có thể được hiệu chỉnh của thỏa thuận giữa các phân loại và

các lớp học thật sự. Nó được tính bằng cách tham gia các thỏa thuận dự kiến bởi cơ hội từ các
thỏa thuận quan sát và phân chia theo thỏa thuận tối đa có thể. Một giá trị lớn hơn 0 và luôn
nhỏ hơn 1 có nghĩa là phân loại của bạn đang làm tốt hơn so với cơ hội ( nó thực sự nên
được!).
Tỷ lệ lỗi được sử dụng để dự đoán số chứ không phải là phân loại. Trong số dự đoán,
dự đoán không chỉ là đúng hay sai, lỗi này có một cường độ, và các biện pháp này phản ánh
điều đó.
• Detailed Accuracy By Class và Confusion Matrix: Chi tiết kết quả chính xác
của bộ phân loại trên từng phân lớp
Ma trận nhầm lẫn là ma trận 2x2. Số lượng các trường hợp phân loại chính là tổng của đường
chéo chính trong ma trận aa + bb.
[D08 HTTT1] Page 23
Data mining - Classification
TP rate (True Positive rate – tỉ lệ đúng tích cực): là tỉ lệ của các ví dụ đã phân lớp là loại x,
trong tất cả các ví dụ thực sự có lớp x. trong ma trận nhầm lẫn, đây là phần tử đường chéo chia
cho giá trị trên hàng có liên quan: TP = 191/(191+69) = 0.91; 69/(69+31) = 0.69
FP rate (False Positive rate – tỉ lệ sai tích cực): là tỉ lệ của các ví dụ đã phân loại là lớp x,
nhưng thuộc về một lớp khác trong số tất cả các ví dụ không phải lớp x. trong ma trận nhầm
lẫn điều này là phần tử dường chéo chia cho tổng số phần tử hàng có liên quan tức là: 31/
(31+69) = 0.31; 19/( 191+ 19)= 0.09
Precision – tính chính xác: xác định các phần của hồ sơ mà thực sự hóa ra là tích cực trong các
nhóm phân loại
Precision = TP / ( TP + FP )
Recall – khả năng lấy lại: phần trăm các trường hợp tích cực là TP rate
F-Measure – Giá trị trung bình điều hòa chính xác và lấy lại:
F-measure = 2 * ( ( Precision.Recall) / Precision + Recall) ) or = 2*TP / (2*TP) + FP + FN
[D08 HTTT1] Page 24

×