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

Tiểu luận khai phá dữ liêu: sử dụng phần mềm weka khai phá bộ dữ liệu Breast Cancer Wisconsin (Diagnostic)

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 (803.87 KB, 25 trang )

BÁO CÁO BÀI TẬP LỚN MÔN KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU
Họ và tên: Phan Tiến Dũng
Lớp: Tin học 1- K42
Chương 1
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Giới thiệu về khai phá dữ liệu:
Khai phá dữ liệu được định nghĩa là q 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. Cụ thể hơn
đó là tiến trình trích lọc, sản sinh những tri thức hoặc những mẫu tiềm ẩn, chưa biết nhưng
hữu ích từ các cơ sở dữ liệu lớn. Đồng thời là tiến trình khái quát các sự kiện rời rạc trong
dữ liệu thành các tri thức mang tính khái quát, tính qui luật hỗ trợ tích cực cho các tiến
trình ra quyết định. Hiện nay, ngồ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ừ CSDL (Knowlegde mining
from database), trích lọc dữ liệu (Knowlegde extraction), phân tích dữ liệu/mẫu
(data/pattern analysis), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data
dredredging). Nhiều người coi khai phá dữ liệu và một số thuật ngữ thông dụng khác là
khám phá tri thức trong CSDL (Knowledge 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 CSDL.
Để hình dung vấn đề này ta có thể sử dụng một ví dụ đơn giản như sau: Khai phá dữ
liệu được ví như tìm một cây kim trong đống cỏ khơ. Trong ví dụ này, cây kim là một
mảnh nhỏ tri thức hoặc một thơng tin có giá trị và đống cỏ khô là một kho cơ sở dữ liệu
rộng lớn. Như vậy, những thơng tin có giá trị tiềm ẩn trong kho cơ sở dữ liệu sẽ được chiết
xuất ra và sử dụng một cách hữu ích nhờ khai phá dữ liệu. Chức năng khai phá dữ liệu gồm
có gộp nhóm phân loại, dự báo, dự đốn và phân tích các liên kết.
Nguồn dữ liệu phục vụ cho KTDL có thể là các CSDL lớn hay các kho dữ liệu
(Datawarehouse) có hay khơng có cấu trúc. Các tác vụ khai phá dữ liệu có thể được phân
thành hai loại: miêu tả và dự báohoặc các đặc tính chung của dữ liệu trong CSDL hiện có.
Các kỹ thuật này gồm có: phân cụm (clustering), tóm tắt (summerization), trực quan hố
(visualiztion), phân tích sự phát triển và độ lệch (Evolution and deviation analyst), phân
tích luật kết hợp (association rules)…


- Các tác vụ khai phá miêu tả mô tả các đặc tính chung của dữ liệu trong cơ sở dữ liệu.
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 CSDL hiện có. Các kỹ thuật này gồm có: phân cụm (clustering),
tóm tắt (summerization), trực quan hố (visualiztion), phân tích sự phát triển và độ lệch
(Evolution and deviation analyst), phân tích luật kết hợp (association rules)…
-Các tác vụ khai phá dự báo thực hiện việc suy luận trên dữ liệu hiện thời để đưa ra
các dự báo. Kỹ thuật khai phá dữ liệu dự đoán: Có nhiệm vụ đưa ra các dự đố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)…
1.2 Các nhiệm vụ của khai phá dữ liệu:
Cho đến nay đã có rất nhiều cơng trình nghiên cứu và phát triển trong lĩnh vực khai phá
dữ liệu. Dựa trên những loại tri thức được khám phá, chúng ta có thể phân loại như theo
các nhiệm cụ như sau:
 Khai phá luật thuộc tính: tóm tắt những thuộc tính chung của tập dữ liệu nào đó trong cơ
sở dữ liệu. Ví dụ như những triệu chứng của một căn bệnh S thì thường có thể được thể
hiện qua một tâp các thuộc tính A.
 Khai phá những luật phân biệt: khai phá những đặc trưng, những thuộc tính để phân biệt
giữa tập dữ liệu này với tập dữ liệu khác. Ví dụ như nhằm phân biệt giữa các chứng bệnh
thì một luật phân biệt được dùng để tóm tắt những triệu chứng nhằm phân biệt chứng bệnh
xác định với những chứng bệnh khác.
 Khám phá luật kết hợp: khai phá sự kết hợp giữa những đối tượng trong một tập dữ liệu.
Giả sử hai tập đối tượng {A1, A2,… ,An} và {B1, B2,… ,Bn} thì luật kết hợp có dạng
{A1^A2^…^ An) →{B1^ B2^… ^Bn).
 Khám phá luật phân lớp: phân loại dữ liệu vào trong tập những lớp đã biết. Ví dụ như
một số chiếc xe có những đặc tính chung để phân vào các lớp dựa trên cách tiêu thụ nhiên
liệu hoặc có thể phân vào các lớp dựa trên trọng tải…
 Phân nhóm: xác định một nhóm cho một tập các đối tượng dựa trên thuộc tính của
chúng. Một số các tiêu chuẩn được sử dụng để xác định đối tượng có thuộc về nhóm hay

khơng.
 Dự báo: dự báo giá trị có thể đúng cuỷa những dữ liệu bị thiếu hoặc sự phân bố thuộc
tính nào đó trong tập dữ liệu.
 Khám phá quy luật biến đổi: tìm những tập luật phản ánh những hành vi tiến hóa, biến
đổi chung của một tập dữ liệu. Ví dụ như luật khám phá những yếu tố chính tác động lên
sự thay đổi của những giá cổ phiếu nào đó.
1.3 Các loại dữ liệu được khai phá:
Khai phá dữ liệu thường làm việc với nhiều kiểu dữ liệu khác nhau. Hầu hết các
kiểu dữ liệu được khai phá là những kiểu sau:
 Cơ sở dữ liệu quan hệ: những cơ sở dữ liệu được tổ chức theo mơ hình quan hệ. Hầu hết
những hệ quản trị cơ sở dữ liệu hiện nay đều hỗ trợ mơ hình
này như: Oracle, IBM DB2, MS SQL Server, MS Access…
 Cơ sở dữ liệu đa chiều: cơ sở dữ liệu này được gọi là nhà kho dữ liệu,trong đó dữ liệu
được chọn từ nhiều ngồn khác nhau và chứa những đặc tính lịch sử thơng qua thuộc tính
thời gian tường minh hay ngầm định.


 Cơ sở dữ liệu giao tác: đây là loại cơ sở dữ liệu được sử dụng nhiều trong siêu thị,
thương mại, tài chính, ngân hàng…
 Cơ sở dữ liệu quan hệ - hướng đố tượng: mơ hình cơ sở dữ liệu này lai giữa mơ hình
hướng đối tượng và mơ hình cơ sở dữ liệu quan hệ.
 Cơ sở dữ liệu thời gian, không gian: chứa những thông tin về không gian địa lý hoặc
thông tin theo thời gian.
 Cơ sở dữ liệu đa phương tiện: loại dữ liệu này bao gồm: âm thanh, ảnh,video, văn bản và
nhiều kiểu dữ liệu định dạng khác. Ngày nay loại dữ liệu này được sử dụng nhiều trên
mạng Internet.
1.4 Lịch sử phát triển của Khai phá dữ liệu:
- Những năm 1960: Xuất hiện CSDL theo mơ hình mạng và mơ hình phân cấp.
- Những năm 1970: Thiết lập nền tẩng lý thuyết cho CSDL quan hệ, các hệ quản trị
CSDL quan hệ.

- Những năm 1980: Hoàn thiện lý thuyết về CSDL quan hệ và các hệ quản trị CSDL
quan hệ, xuất hiện các hệ quản trị CSDL cao cấp (hướng đối tượng, suy diễn, ...) và hệ
quản trị hướng ứng dụng trong lĩnh vực không gian, khoa học, công nghiệp, nông nghiệp,
địa lý .
- Những năm 1990-2000: phát triển Khai phá dữ liệu và kho dữ liệu, CSDL đa
phương tiện, và CSDL Web.
1.5 Ứng dụng của Khai phá dữ liệu:
Khai phá dữ liệu là một lĩnh vực liên quan tới nhiều ngành học khác như: hệ CSDL,
thống kê, trực quan hoá… hơn nưa, tuỳ vào cách tiếp cận được sử dụng, khai phá dữ liệu
cịn có thể áp dụng một số kỹ thuật như mạng nơron, lý thuyết tập thô, tập mờ, biểu diễn tri
thức… So với các phương pháp này, khai phá dữ liệu có một số ưu thế rõ rệt.
• 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 CSDL 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 CSDL đầy đủ, ít biến
động và tập dữ liệu khơng qua lớn
• Phương pháp hệ chun 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 cao hơn nhiều so với các dữ liệu trong CSDL, 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 CSDL.
- Các phương pháp thống kê hoạt động hồn tồn theo dữ liệu, nó khơng sử
dụng tri thức có sẵn về lĩnh vực.
- Kết quả phân tích của hệ thống có thể sẽ rất nhiều và khó có thể làm rõ được.
- Phương pháp thống kê cần có sự hướng dẫn của người dùng để xác định phân tích dữ liệu
như thế nào và ở đâu.



* Khai thác dữ liệu được ứng dụng rộng rãi trong rất nhiều lĩnh vực như:
 Ngân hàng:
◊ Xây dựng mơ hình dự báo rủi ro tín dụng.
◊ Tìm kiếm tri thức, qui luật của thị trường chứng khoán và đầu tư bất động sản.
◊ Phát hiện dùng thẻ tín dụng giả trên mạng và là cơng cụ hữu ích cho dịch vụ quản lý rủi
ro cho thương mại điện tử
 Thương mại điện tử:
◊ Cơng cụ tìm hiểu, định hướng thúc đẩy, giao tiếp với khách hàng.
◊ Phân tích hành vi mua sắm trên mạng và cho biết thông tin tiếp thị phù hợp với loại
khách hàng trong một phân khu thị trường nhất định
 Nhân sự:
◊ Giúp nhà tuyển dụng chọn ứng viên thích hợp nhất cho nhu cầu của công ty
Y học:
◊ Hỗ trợ bác sĩ phát hiện ra bệnh của bệnh nhân dựa trên các xét nghiệm đầu vào
An ninh, an toàn mạng
◊ Ứng dụng trong hệ thống phát hiện xâm nhập trái phép IDS/IPS để phát hiện ra các
cuộc tấn công xâm nhập mạng trái phép.
 Một số ứng dụng của khai phá dữ liệu trong lĩnh vực kinh doanh:
∗ BRANDAID: mơ hình marketing linh hoạt tập chung vào hàng tiêu dùng đóng gói.
∗ CALLPLAN: giúp nhân viên bán hàng xác định số lần viếng thăm của khách hàng triển
vọng và khách hàng hiện có.
∗ DETAILER: xác định khách hàng nào nên viếng thăm và sản phẩm nào nên giới thiệu
trong từng chuyến viếng thăm,
∗ GEOLINE: mơ hình thiết kế địa bàn tiêu thụ và dịch vụ.
∗ MEDIAC: Giúp người quảng cáo mua phương tiện trong một năm, lập kế hoạch sử
dụng phương tiện bao gồm phác hoạ khúc thị trường, ước tính tiềm năng .
1.6 Phân loại:
Chúng ta có thể phân lớp hệ thống khai phá dữ liệu theo các tiêu chuẩn sau:
Phân lớp dựa trên loại dữ liệu được khai phá: những hệ thống khai phá dữ liệu làm

việc với cơ sở dữ liệu quan hệ, nhà kho dữ liệu, cơ sở dữ liệu giao tác, cơ sở dữ liệu hướng
đối tượng, đa phương tiện và Web…
Phân lớp dựa trên kiểu tri thức khai phá: hệ thống khai phá dữ liệu xuất kết quả kiểu tóm
tắt, mơ tả, luật kết hợp, phân lớp, phân nhóm và dự báo…
Phân lớp dựa trên loại kỹ thuật được sử dụng: hệ thống khai phá sử dụng các kỹ
thuật OLAP, kỹ thuật máy học (cây quyết định, mạng neural, thuật giải tiến hóa, tập thơ và
tập mờ…).
Phân lớp dựa trên lĩnh vực áp dụng khai phá: hệ thống được dùng trong nhiều lĩnh
vực: sinh học, y khoa, thương mại và bảo hiểm…
1.7 Một số thách thức đặt ra cho việc khai phá dữ liệu :
 Các cơ sở dữ liệu lớn
 Số chiều lớn
 Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện khơng cịn phù hợp.
 Dữ liệu bị thiếu hoặc nhiễu


 Quan hệ giữa các trường phức tạp
 Giao tiếp với người sử dụng và kết hợp với các tri thức đã có.
 Tích hợp với các hệ thống khác…
Chương 2
QUY TRÌNH VÀ PHƯƠNG THỨC THỰC HIỆN KHAI PHÁ DỮ LIỆU
2.1 Quy trình Tổng quát thực hiện Khai phá dữ liệu:
Quá trình này gồm các 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.
2) Tích hợp dữ liệu (data integration): Tích hợp dữ liệu từ các nguồn khác nhau như:
CSDL, Kho dữ liệu, file text…
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.
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.

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.
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.
7) Trình diễn dữ liệu (Knowlegde presention): Sử dụng các kỹ 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. Ordinal

Hình 2.1: Data mining – một bước trong quá trình khám phá tri thức
2.2 Tiến trình khám phá tri thức khi đi vào một bài tốn cụ thể :
Chính vì mục tiêu khám phá trí thức ngầm định trong cơ sở dữ liệu nên quá trình
khai phá thường phải qua một số các giai đoạn cần thiết. Bao gồm những giai đoạn chuẩn
bị dữ liệu khai phá, giai đoạn khai phá dữ liệu và cuối cùng là giai đoạn chuyển kêt quả


khai phá sang những tri thức cho con người hiểu được. Chi tiết các bước thực hiện được
mô tả trong bảng tóm tắt như sau:
 Giai đoạn 1: đầu tiên là phát triển một sự hiểu biết về lĩnh vực ứng dụng và những tri
thức tương ứng. Xác định mục đích của tiến trình khai phá dữ liệu từ qua điểm của người
dùng.
 Giai đoạn 2: chuẩn bị dữ liệu để khai phá, thu thập dữ liệu và dữ liệu mẫu
 Giai đoạn 3: tiền xử lý dữ liệu, xóa các thông tin bị nhiễu trong dữ liệu,loại bỏ sự trùng
lặp dữ liệu và xác định chiến lược để xử lý dữ liệu bị mất.
 Giai đoạn 4: chiếu dữ liệu, thu nhỏ dữ liệu và tìm những đặc trưng để khai phá

Hình 2.2: Tổng quan tiến trình khai phá dữ liệu
 Giai đoạn 5: chọn một phương pháp khai phá dữ liệu thích hợp nhất trong số các
phương pháp phổ biến như: tóm tắt, phân lớp, hồi quy, phân nhóm, kết hợp…
 Giai đoạn 6: từ thuật tốn đã chọn, mơ hình hóa thuật tốn để giải quyết trong trường
hợp cụ thể đang xét. Lựa chọn những phương pháp tìm kiếm mẫu dữ liệu, quyết định các
tham số.

 Giai đoạn 7: đây là giai đoạn khai phá dữ liệu, sử dụng thuật tốn để tìm kiếm những
mẫu thú vị trong một hình thức thể hiện đắc thù hoặc một tập những thể hiện bao gồm
những luật phân lớp, cây, sự hồi quy và phân nhóm.
 Giai đoạn 8: thơng dịch lại những mẫu đã được khai phá dưới các hình thức thể hiện tri
thức của dữ liệu như ngơn ngữ, biểu đồ, hình cây, bảng…
Quá trình khai phá này có sự tương tác và lặp lại giữa hại bước bất kỳ, những bước
cơ bản của tiến trình được minh họa trong hình trên. Hầu hết những cơng việc trước đây
đều tập trung ở bước 7 là giai đoạn khai phá dữ liệu. Tuy nhiên, các bước còn lại quan


trọng khơng kém và những bước đó đóng góp rất nhiều vào sự thành cơng của tồn bộ tiến
trình khai phá dữ liệu. sau đây ta sẽ tìm hiểu chi tiết về quá trình tiền xử lý trong tiến trình.
Chương 3
NỘI DUNG
3.1.Mục đích bài:
Hiện nay theo thống kê thì việc ứng dụng tin học vào lĩnh vực y tế mới chỉ ở mức
độ trung bình nhất là việc khai thác các dữ liệu cho việc chẩn đoán bệnh vẫn chưa được
ứng dụng nhiều. Như chúng ta đã biết bất cứ bệnh nào đều có những triệu chứng cụ thể và
khơng ít các bệnh cịn có “tiền” triệu chứng ( các triệu chứng trước khi dẫn đến bệnh ).
Nếu chúng ta biết cách thông kê xử lý và ứng dụng các dữ liệu này vào cơng tác chẩn đốn
nó sẽ giúp ích rất nhiều , có thể giúp các bác sĩ chẩn đoán được số lượng lớn hơn các bệnh
nhân, chẩn đốn chính xác hơn và chẩn đốn được sớm hơn. Ngồi ra như hiện nay khi mà
cơng nghệ thơng tin khá phát triển trong khi các bệnh viện và các bác sĩ có tây nghề, có
kiến thức chun mơn cao chưa đủ đáp ứng, chính điều này làm quá tải ở các bệnh viện
tuyến trên, quá tải với các bác sĩ có chun mơn. Nếu ta biết áp dụng việc khai phá dữ liệu
bệnh nhân vào trong y tế thì điều này sẽ là một cách rất tốt để giải quyết nhiều vấn đề của
xã hội.
3.2. Mô tả dữ liệu:
Tập dữ liệu Breast Cancer Wisconsin (Diagnostic) là tập dữ liệu nghiên cứu
chẩn đoán ung thư vú của 699 bệnh nhân qua các năm từ năm 1989 đến 1990 của tiến sỹ

Wolberg qua dữ liệu báo cáo của ông. Dữ liệu nghiên cứu gồm 11 trường dữ liệu ghi lại
các thông số cần thiết của các mẫu và chẩn đoán đối với các trường hợp cụ thể.
Inde
x
1
2
3
4
5
6
7
8
9
10
11

Attribute
Sample code number
Clump Thickness
Uniformity of Cell Size
Uniformity of Cell Shape
Marginal Adhesion
Single Epithelial Cell Size
Bare Nuclei
Bland Chromatin
Normal Nucleoli
Mitoses
Class

Domain

id number
1 – 10
1 – 10
1 – 10
1 – 10
1 – 10
1 – 10
1 – 10
1 – 10
1 – 10
2 for benign, 4 for malignant


Mẫu dữ liệu đã cho có 16 lỗi, lỗi ở đây là không xác định được giá trị của các
thuộc tính và được điền bằng dấu “?”.

3.3.Tiền xử lý dữ liệu :
3.3.1. Lọc dữ liệu:
Như ta thấy đối với việc chẩn đốn thì dữ liệu thuộc trường thứ nhất khơng tham
gia vào nên ta có thể loại bỏ thuộc tính này:


Bên cạnh đó do dữ liệu của chúng ta có 16 lỗi, bây giờ chúng ta cần xử lý vấn đề
này. Có 2 cách thơng dụng để xử lý lỗi này đó là thay thế các giá trị lỗi bằng một giá trị nào
đó hoặc cách thứ 2 là xóa bỏ các mẫu đó khỏi dữ liệu. Với bài tốn này do con số 16 là khá
nhỏ so với 699 nên trường hợp này tôi chọn phương án loại bỏ các mẫu lỗi. Lúc này dữ
liệu mới của tơi cịn có 683 mẫu.
Với mẫu dữ liệu do tên các thuộc tính tương đối dài nên để cho tiện tơi chuyển
đổi các tên thành các số liệu như sau để tiện hơn trong việc khai phá.
Clump Thickness

A1
Uniformity of Cell Size
A2
Uniformity of Cell Shape
A3
Marginal Adhesion
A4
Single Epithelial Cell Size
A5
Bare Nuclei
A6
Bland Chromatin
A7
Normal Nucleoli
A8
Mitoses
A9
Class
class


Ngồi ra Weka cũng cung cấp cho ta cơng cụ kiểm tra việc và xếp hạng mức độ
quan trọng trong việc tham gia vào quá trình khai phá dữ liệu. Đối với cơ sở dữ liệu hiện
tại ta có:
=== Attribute Selection on all input data ===
Search Method:
Attribute ranking.
Attribute Evaluator (supervised, Class (nominal): 10 KL):
Information Gain Ranking Filter
Ranked attributes:

0.702 2 A2
0.677 3 A3
0.603 6 A6
0.555 7 A7
0.534 5 A5
0.487 8 A8
0.464 4 A4
0.464 1 A1
0.212 9 A9
Selected attributes: 2,3,6,7,5,8,4,1,9 : 9
Qua đó ta thấy thuộc tính A9 và A1 được xếp cuối cùng theo thứ hạng nên có thể
khơng cần quan tâm nhiều khi chúng ta khái phá.
3.3.2. Rời rạc hóa dữ liệu (Discretization)
Trong Data Mining, một số kỹ thuật như khai phá luật kết hợp (association rule mining) chỉ
có thể thực hiện trên các dữ liệu phân loại (categorical/ nominal data). Điều này yêu cầu
phải thực hiện việc rời rạc hóa trên các thuộc tính có kiểu dữ liên tục (như kiểu numeric
chẳn hạn) khi muốn áp dụng các kỹ thuật này. Trong file dữ liệu hiện tại đều ở dưới dạng
numeric trong khi phạm vi của các thuộc tính từ A1 đến A9 là từ 1 đến 10 và thuộc tính KL
có hai giá trị là 2 và 4 vì vậy ta tiến hành thay từ khóa “numeric” bằng các giá trị rời rạc
{1,2,3,4,5,6,7,8,9,10} đối với các thuộc tính A1 đến A9 và giá trị rời rạc {2,4} đối với
thuộc tính KL bằng bất kỳ text editor nào (WordPad chẳn hạn). (Xem hình)


3.3.3. Classifier (Phân lớp):
Ta có sơ đồ phân bố của các thuộc tính dữ liệu như sau:

Do đó tơi chọn thuộc tính phân lớp là thuộc tính KL.


3.4. Phân tích dùng WEKA

a. Vấn đề trọng tâm :
Xu ấ t ph á t t ừ n h ữn g nh ậ n đ ị n h t r ê n , đ ồ á n n à y n h ắ m t ớ i m ụ c đ í c h đ ư a
r a m ộ t ph ư ơ n g pháp phân loại linh hoạt hơn, thuyết phục hơn. Yêu cầu của
phương pháp này là có thểđảm nhận tốt vai trị cố vấn, hỗ trợ các chuyên viên tín dụng
trong việc đưa ra quyết địnhcho vay, xử lý dựa trên các thơng tin (có thể chưa đầy
đủ) từ khách hàng và từ các mẫuthống kê đáng tin cậy.
b.Chi tiết thuật toán C4.5 được áp dụng:
b1.Đơi nét về giải thuật C4.5 :
C4.5 là thuật tốn dùng để xây dựng cây quyết định được được đề xuất bởi Ross
Quinlan.C4.5 là sự mở rộng của thuật toán ID3, với 1 số những cải tiến:cho phép dữ liệu
đầu vào ở các thuộc tính là liên tụccho phép thao tác với các thuộc tính có dữ liệu khơng
xác định (do bị mất mát dữliệu, …)đưa ra phương pháp “cắt tỉa” cây và giản lược
các luật để phù hợp với những bộdữ liệu lớn
b2.Mơ hình cây quyết định

Các nút trên cây quyết định bao gồm 2 loại: _ nút lá: mỗi nút là sẽ tương ứng với 1 class,
thuộc tính dùng để phân loại, khi phân loại trường hợp mới, bộ dữ liệu của trường hợp này
sẽ được đưa qua cây để kiểmtra, khi đạt đến 1 nút lá tương ứng với class của nút đó sẽ là
kết quả phân loại của nút đó _ nút trong (internal node): mỗi node trong sẽ tương ứng với 1
thuộc tính dùng đểkiểm tra ở trong nút đấy,+) với những thuộc tính có tập giá trị là rời rạc
thì tập giá trị của thuộc tínhđó sẽ được dùng để kiểm tra và xác định nút con tiếp theo sẽ


duyệt đến+) với những nút ứng với thuộc tính có tập giá trị liên tục, mỗi nút này sẽ có1 giá
(hoặc 1 vài) giá trị được gọi là mốc, giá trị mốc sẽ được dùng để sosánh với giá trị thuộc
tính tương ứng của trường hợp cần phân loại Cây quyết định có thểsử dụng để phân loại 1
trường hợp bằng cách xuất phát từ nút gốc, duyệt qua tất cả cácnút con đến khi gặp nút là
thì dừng và đưa ra kết quả phân loại. Đối với những nút không phải là lá (nút trong –
internal node).
c.Triển khai vào bài toán

c1. dữ liệu đầu vào:
Đầu vào của thuật toán là 1 tập các bản ghi, mỗi bản ghi bao gồm các thuộc tính,
dựavào các thuộc tính này ta có thể dùng. Các thuộc tính của bảng này có thể được chia
rathành các dạng sau:
• thuộc tính :Boolean
• thuộc tính :Numeric
• thuộc tính :Unique for each instance
Dữ liệu đầu vào được chia thành 2 tập:
1 tập dùng cho quá trình dùng cho quá trình “huấn luyện” để xây dựng cây gọilà
training data set
1 tập dùng cho quá trình kiểm tra, đánh giá cây quyết định vừa được xây dựng – gọi
là test data set.
c2.Xây dựng cây quyết định Cj
Khi đó cây quyết định sẽ chỉ có 1 node tương ứng với bảng T này và với mọi bản
ghi test được đưa vào phân loại thì cây này sẽ cho racùng 1 giá trị phân loại Cj
-Nếu cây T khơng có 1 bản ghi nào, khi đó cây T cũng chỉ bao gồm 1 nút, tuynhiên
class tương ứng với nút này được xác định từ thông tin không thuộc T.
-Nếu cây T chứa các bản ghi có thuộc tính class gồm nhiều giá trị khác nhau, khiđó
ta sẽ thành những bảng con sao cho thuộc tính class trong bảng con đó có giá trị đồngnhất
giống nhau.Việc xây dựng cây quyết định trong thuật toán C4.5 sử dụng phương pháp
củaHunt. Ký hiệu các class (các thuộc tính chứa kết quả đánh giá) là {C1, C2, … ,Ck}
và bảng chứa các bản ghi trong tập training ký hiệu là T, ứng với mỗi bảng T ta sẽ có
3trường hợp sau:
+Tất cả các bản ghi trong T đều thuộc 1 class xác định
+Nếu cây T khơng có 1 bản ghi nào, khi đó cây T cũng chỉ bao gồm 1 nút, tuynhiên
class tương ứng với nút này được xác định từ thông tin không thuộc T.
+Nếu cây T chứa các bản ghi có thuộc tính class gồm nhiều giá trị khác nhau, khiđó
ta sẽ thành những bảng con sao cho thuộc tính class trong bảng con đó có giá trị đồngnhất
giống nhau. Giả sử ta chọn 1 thuộc tính X bao gồm 1 tập n các giá trị {O1, O2, … ,On}
dùng để phân chia bảng T thành n bảng con {T1, T2, …, Tn}, với mỗi bảng con nàyta lại

tiếp tục phân chia theo 1 thuộc tính nào đó để cuối cùng các mảng con đều có giá trịthuộc
tính class là giống nhau.
Theo như cách chúng ta xây dựng cây như trên việc quan trọng nhất đó là việc
tạimỗi bước phải chọn 1 thuộc tính sao cây được xây dựng sau này là tối ưu nhất –


theonghĩa là nhỏ nhất có thể và số phân đoạn được chia ra là ít nhất. Vì vậy tại mỗi bước
ta phải chọn 1 thuộc tính hợp lý để chia bảng T. Việc chọn thuộc tính này có thể được
thựchiện bằng cách quét tất cả các cây có thể được xây dựng, sau đó chọn cây tối ưu nhất!
Tuy nhiên cách vét cạn này địi hỏi chi phí rất lớn! có một cách khác nhằm xác định được
1cây tốt nhất đó là sử dụng thuật tốn tham lam (greedy algorithm) và thuật toán C4.5
sửdụng Gain criterion và Gain criterion ratio .
Những chuẩn này dựa trên lý thuyết về thông tin Gain criterion và Gain
criterionratio:
Việc chọn chọn ra thuộc tính tốt nhất tại mỗi bước dùng để phân chia bảng T cầnsử
dụng 1 đại lượng, đại lượng này phải có giá trị lớn nhất khi thuộc tính được chọn làđúng
đắn (tại bước đó), và giá trị nhỏ nhất khi đại lượng này là không tốt (tại 1 bước xácđịnh).
Một đại lượng thỏa mãn đó là lượng thơng tin mong đợi là sẽ được cung cấp bởi 1thuộc
tính nào đó (được đề xuất lần đầu tiên bởi Shannon và Weaver). Để có thể hiểuđược khái
niệm thơng tin có thể nghĩ nó như là 1 câu trả lời cho 1 câu hỏi. Lượng thôngtin chứa trong
1 câu trả lời phụ thuộc vào tri thức trước đó.
Thuộc tính liên tục:
Đối với thuộc tính liên tục, ta cần xác định 1 mốc dùng để phân chia bảng các
bảnghi thành 2 tập. Thuật toán sử dụng trong C4.5 để xác định mốc:
-Sắp xếp các bản ghi trong bảng đó theo thứ tự từ tăng dần theo giá trị của thuộctính
cần xác định mốc, giả sử tập sau khi sắp xếp là {V1, V2, …,Vn} _ xác định các điểm chính
giữa của các đoạn xác định bởi (Vi, Vi+1) .
-Phân chia bảng đang xét thành 2 phần dựa theo các điểm đó, sau đó xác định gain
criterion ratio ứng với từng cách phân chia này.
-Chọn giá trị mà gain criterion ratio ứng với điểm đó có giá trị lớn nhất làm điểm

mốc.
Đánh giá hiệu quả phân lớp của thuật toán đối với tập dữ liệu được chotheo hai
phương pháp là cross- validation và percentage split.
 Các tham số của j48:


-binarySplits --C ó h a y kh ơn g s ử dụ n g ph â n t á c h n h ị ph â n ở t r on g
c á c thuộc tính nominal khi xây dựng cây.
-collapseTree --Có hay khơng các thành phần được bỏ đi mà không giảm bớt lỗi
training.
-confidenceFactor --Mức tin tưởng để quyết định xem có xén tỉa hay khơng
-debug -- Nếu thiết lập là true, sự phân lớp có thể cho ra các thơng tin bổ xung tới màn
hình console
-minNumObj --Số lượng nhỏ nhất các thể hiện trên mỗi nút lá.
-numFolds --.Định rõ lượng dữ liệu sử dụng cho việc giảm bớt lỗi xén tỉa. Một fold được
sử dụng cho việc xén tỉa, phần còn lại sử dụng cho việc phát triển cây.


-reducedErrorPruning --Có hay khơng xén tỉa giảm bớt lỗi được sử dụng thaythế xén tỉa
C4.5.
 Cross-validation :
-Một kỹ thuật được sử dụng để kiểm tra hiệu xuất của mơ
hình tiên đốn.
Cross- validation tiên đốn sự ăn khớp của một mơ hình tới một tập giả thiếthợp lệ (Test
set) khi mà ta khơng có sẵn tập hợp lệ tường minh.
- M ộ t l o ạ i c r o s s - v a l i d a t i o n t h ư ờ n g d ù n g l à k-folds cross-validation: Tập
mẫu ban đầu được phân chia ngẫu nhiên tới k tập mẫu con. Với k tập mẫu con này,một
mẫu đơn được dùng như dữ liệu đánh giá cho việc kiểm tra mơ hình, vàk-1 tập
mẫu còn lại được sử dụng như dữ liệu training. Tiến trình đánh giá chéo được lặp
lại k lần ( tham số Folds in weka). Lấy trung bình k kết quả thuđược ta có một đánh giá cho

mơ hình.
Ưu điểm của phương pháp này là việc lặp lại ngẫu nhiên các mẫu
conđược sử dụng cho cả training và testing, và đúng một lần.
 Percentage split:
Cho biết tỉ lệ phân chia là bao nhiêu % thì đạt hiệu quả phânlớp cao nhất.
-Tỷ lệ phân chia cho biết số mẫu được chọn cho tập huấn luyện và số
mẫuđược chọn cho tập test.Ví dụ: Percentage split =20% nghĩa là 20% mẫu dùng
test set và 40% mẫudùng cho training set.
1) Lần test thứ 1:với tỉ lệ phân chia là 60% thì ta có bảng thống kế sau:

2) Lần test thứ 2 : với tỉ lệ phân chia > 60% là 65% thì ta có bảng thống kế sau:


3) Lần test thứ 3: với tỉ lệ phân chia > 66% là 70% thì ta có bảng thống kê sau:


4) Lần test thứ 4: với tỉ lệ phân chia > 60% là 75% thì ta có bảng thống kê sau:

5) Lần test thứ 5: với tỉ lệ phân chia > 60% là 80% thì ta có bảng thống kê sau:


6) Lần test thứ 6: với tỉ lệ phân chia > 60% là 85% thì ta có bảng thống kê sau:

7) Lần test thứ 7: với tỉ lệ phân chia > 60% là 90% thì ta có bảng thống kê sau:

8) Lần test thứ 8: với tỉ lệ phân chia > 60% là 75% thì ta có bảng thống kê sau:


9) Lần test thứ 9: với tỉ lệ phân chia < 60% là 55% thì ta có bảng thống kê sau:


10) Lần test thứ 10: với tỉ lệ phân chia < 60% là 50% thì ta có bảng thống kê sau:


11) Lần test thứ 11: với tỉ lệ phân chia < 60% là 45% thì ta có bảng thống kê sau:


12) Lần test thứ 12: với tỉ lệ phân chia < 60% là 40% thì ta có bảng thống kê sau:

13) Lần test thứ 13: với tỉ lệ phân chia < 60% là 35% thì ta có bảng thống kê sau:


Qua nhiều lần test ,ta thấy với tỉ lệ phân chia =66% thì đạt hiệu quả phân
lớp caonhất. Tóm lại với phương pháp test bằng Percentage Slit với tham số
66% thì đạt hiệuquả phân lớp cao nhất.

4. Kết luận:

Như vậy, dữ liệu này với việc sử dụng cây quyết định nhận thấy yếu tố A2( tức là
Uniformity of Cell Size) có vai trị quyết định rất lớn trong các nhân tố của bệnh ( là lành
tính hay ác tính).
- Với A2 <=2 thì khả năng người bệnh có u lành tính cao.
- Với A2>=4 thì khả năng người bệnh người bệnh có u ác tính cao.
- Với A2=3 : + Nếu A6 <=2 thì khả năng người bệnh người bệnh có u lành tính cao.
+ Nếu A6>=4 thì người bệnh có khả năng có u ác tính cao.
+ Nếu A6=3 khi đó nếu A1= 3 thì khả năng người bệnh có u lành tính
cịn với các giá trị khác của A1 người bệnh đều có khả năng mắc u ác tính.
Trong đó:
Clump Thickness
Uniformity of Cell Size
Bare Nuclei


A1
A2
A6



×