- Mô hình ràng buộc Dependency modeling: Tìm mô hình cục bộ mô tả các phụthuộc đáng kể giữa các biến hoặc giữa các giá trị của một tính năng trong tập dữ liệu hoặc trong một phần của tập
Trang 1HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ
BÁO CÁO BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU
ĐỀ TÀI:
KHAI PHÁ DỮ LIỆU BẰNG PHƯƠNG PHÁP PHÂN LỚP DỰA TRÊN LUẬT ỨNG DỤNG DỰ ĐOÁN KHẢ NĂNG ĐĂNG KÝ TÍN DỤNG TẠI
NGÂN HÀNG SCOTIABANK
HÀ NỘI - 2019
HÀ NỘI - 2017
HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ
Trang 3LỜI MỞ ĐẦU
Cùng với sự phát triển nhanh chóng, vượt bậc của ngành công nghiệp máy tính, nhucầu của người dùng đối với máy tính ngày một cao hơn Do đó, người dùng không chỉgiải quyết những công việc lưu trữ, tính toán bình thường, mà còn mong đợi máy tính cókhả năng thông minh hơn, có thể giải quyết vấn đề như con người Và từ đó trí tuệ nhântạo nói chung và đặc biệt là công nghệ tri thức ra đời và phát triển
Công nghệ tri thức đóng vai trò hết sức quan trọng trong việc phát triển Công nghệthông tin, nâng cao sự hữu dụng của máy tính, thậm chí hơn cả con người
Hướng nghiên cứu và phát triển của công nghệ tri thức bao gồm: quản lý tri thức, các
hệ cơ sở tri thức, khai phá dữ liệu, khám phá tri thức…Trong đề tài này nhóm xinnghiên cứu về khai phá dữ liệu dựa trên phương pháp phân lớp dựa trên luật ứng dụng
dự đoán khả năng đăng ký tín dụng
Trang 5Bảng 2: Bộ dữ liệu đã được tiền xử lý 4
Bảng 6: Bảng dữ liệu với Housing = ‘Yes’ và Job = ‘employed’ 11
DANH MỤC HÌNH
Trang 6CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Khái niệm
Khai phá dữ liệu (data mining) Là quá trình tính toán để tìm ra các mẫu trong
các bộ dữ liệu lớn liên quan đến các phương pháp tại giao điểm của máy học, thống
kê và các hệ thống cơ sở dữ liệu Đây là một lĩnh vực liên ngành của khoa học máy
tính Mục tiêu tổng thể của quá trình khai thác dữ liệu là trích xuất thông tin từ một bộ
dữ liệu và chuyển nó thành một cấu trúc dễ hiểu để sử dụng tiếp Ngoài bước phân tíchthô, nó còn liên quan tới cơ sở dữ liệu và các khía cạnh quản lý dữ liệu, xử lý dữ liệutrước, suy xét mô hình và suy luận thống kê, các thước đo thú vị, các cân nhắc phức tạp,xuất kết quả về các cấu trúc được phát hiện, hiện hình hóa và cập nhật trực tuyến Khaithác dữ liệu là bước phân tích của quá trình “khám phá kiến thức trong cơ sở dữ liệu”hoặc KDD Data Mining là quá trình khai phá, trích xuất, khai thác và sử dụng những dữliệu có giá trị tiềm ẩn từ bên trong lượng lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu(CSDL), kho dữ liệu, trung tâm dữ liệu… lớn hơn là Big Data dựa trên kĩ tahuật nhưmạng nơ ron, lí thuyết tập thô, tập mờ, biểu diễn tri thức… Đây là một công đoạn tronghoạt động “làm sạch” dữ liệu Để dễ hình dung rõ hơn Data Mining là gì bạn đọc có thểhiểu đơn giản nó chính là một phần của quá trình trích xuất những dữ liệu có giá trị tốt,loại bỏ dữ liệu giá trị xấu trong bộn bề thông tin trên Internet và các nguồn dữ liệu đangcó
Khai phá dữ liệu là một bước của quá trình khai thác tri thức (Knowledge Discovery
Process), bao gồm:
● Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề (Problem
understanding and data understanding).
● Chuẩn bị dữ liệu (Data preparation), bao gồm các quá trình làm sạch dữ liệu (data cleaning), tích hợp dữ liệu (data integration), chọn dữ liệu (data selection), biến đổi dữ liệu (data transformation).
● Khai thác dữ liệu (Data mining): xác định nhiệm vụ khai thác dữ liệu và lựa
Trang 7chọn kỹ thuật khai thác dữ liệu Kết quả cho ta một nguồn tri thức thô.
● Đánh giá (Evaluation): dựa trên một số tiêu chí tiến hành kiểm tra và lọc nguồn
tri thức thu được
● Triển khai (Deployment).
Quá trình khai thác tri thức không chỉ là một quá trình tuần tự từ bước đầu tiên đến bướccuối cùng mà là một quá trình lặp và có quay trở lại các bước đã qua
1.2 Các phương pháp khai phá dữ liệu
- Phân loại (Classification): Là phương pháp dự báo, cho phép phân loại một đốitượng vào một hoặc một số lớp cho trước
- Hồi qui (Regression): Khám phá chức năng dự đoán, ánh xạ một mục dữ liệuthành biến dự đoán giá trị thực
- Phân nhóm (Clustering): Một nhiệm vụ mô tả phổ biến trong đó người ta tìmcách xác định một tập hợp hữu hạn các danh mục hoặc cụm để mô tả dữ liệu
- Tổng hợp (Summarization): Một nhiệm vụ mô tả bổ sung liên quan đến cácphương pháp tìm mô tả nhỏ gọn cho một tập hợp (hoặc tập hợp con) dữ liệu
- Mô hình ràng buộc (Dependency modeling): Tìm mô hình cục bộ mô tả các phụthuộc đáng kể giữa các biến hoặc giữa các giá trị của một tính năng trong tập dữliệu hoặc trong một phần của tập dữ liệu
- Dò tìm biến đổi và độ lệch (Change and Deviation Dectection): Khám phá nhữngthay đổi quan trọng nhất trong bộ dữ liệu
- => Các thuật toán kể trên đều được sử dụng một cách linh hoạt tùy từng bài toán
và mục đích cụ thể trong thực tế để chọn các thuật toán khác nhau để tiến hànhkhai phá dữ liệu Mỗi thuật toán lại có những ưu và nhược điểm riêng Trong bàitập này thuật toán mà bọn em chọn để giải bài toán với bộ dữ liệu thực tế là thuậttoán phân lớp ID3 dựa trên luật ứng dụng
Trang 8CHƯƠNG 2: LỰA CHỌN DỮ LIỆU VÀ THUẬT TOÁN
2.1 Mô tả bài toán
Bài toán: Bộ dữ liệu khảo sát về việc cho vay của ngân hàng cổ phần thương mại
Scotiabank tại nước Mỹ Bộ dữ liệu mô tả về các yếu tố ảnh hưởng đến quyết định tín dụng của ngân hàng trong quá trình thầm định hồ sơ cho vay.
• Filtering Attributes: Chọn các thuộc tính phù hợp với mô hình
• Filtering samples: Lọc các mẫu (instances, patterns) dữ liệu cho mô hình
• Clean data: Làm sạch dữ liệu như xóa bỏ các dữ liệu bất thường (Outlier)Transformation: Chuyển đổi dữ liệu cho phù hợp với các mô hình như chuyển đổi dữliệu từ numeric qua nomial hay ordinal
Trang 9• Discretization (rời rạc hóa dữ liệu): Nếu bạn có dữ liệu liên tục nhưng một vài
mô hình chỉ áp dụng cho các dữ liệu rời rạc (như luật kết hợp chẳn hạn) thì bạn phảithực hiện việc rời rạc hóa dữ liệu
Dùng excel để xử lý dữ liệu, trong đó, cột age sẽ tách thành <30 => young, 30 – 50 =>middle, >50 => old Bên cạnh đó, phân chia cột job thành 4 thuộc tính: employed,unemployed, retired, student và bỏ các trường không trọng yếu như: balance, day,month, duration, … Chúng ta sẽ được bộ dữ liệu sau:
Bảng 2: Bộ dữ liệu đã được tiền xử lý
2.3 Lựa chọn thuật toán
- Input: Một tập hợp các ví dụ Mỗi ví dụ bao gồm các thuộc tính mô tả một tình huống,hay một đối tượng nào đó, và một giá trị phân loại của nó
- Output: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập dữ liệu rènluyện, và hy vọng là phân loại đúng cho cả các ví dụ chưa gặp trong tương lai
Phương pháp phân lớp dựa trên luật (Rule-based classification)
❖ Ý tưởng: Sử dụng các luật IF – THEN để phân loại
Luật có dạng: IF (Điều kiện) THEN Y
Trang 10Trong đó:
o “Điều kiện”: Kết hợp các thuộc tính
o Y là nhãn lớp
Ví dụ: Age = “Young” AND Job = “Unemployed” THEN decide = No
Luật R phủ một mẫu X nếu các thuộc tính của mẫu thỏa mãn các điều kiện của luật Khi
đó người ta nói rằng luật R phủ một mẫu x Trong trường hợp đó người ta xác định 2 độđo:
- Độ phủ của luật: Coverage(R): Tỉ lệ các mẫu thỏa mãn điều kiện (vế trái) của luật
- Độ chính xác của luật (Accuracy (R): Tỷ lệ các mẫu thỏa mãn cả điều kiện và kếtluận (2 vế trái, phải) của luật
Trong thực tế, nhiều khi bộ dữ liệu không thể tiến hành phân tích được do gặp phải một
số vấn đề như: một mẫu được phủ bởi nhiều luật, có mẫu lại không được phủ bằng luậtnào Những vấn đề trên có các cách giải quyết để tiếp tục thực hiện việc khai phá vàphân tích
- Xếp hạng các luật theo độ ưu tiên:
+ Theo kích thước của luật: Các luật có tập điều kiện lớn hơn sẽ có độ ưu tiên caohơn
+ Theo luật: Các luật được xếp hạng theo độ đo chất lượng luật hoặc theo ý kiếncủa các chuyên gia
+ Theo lớp: Gom các luật thuộc cùng một lớp
- Nếu một mẫu được phủ bởi nhiều luật thì chọn luật có thứ hạng cao nhất
- Nếu không được phủ bởi bất kì luật nào thì gán vào lớp mặc định
Xây dựng luật phân lớp
a Phương pháp trực tiếp :
Rút trích luật trực tiếp từ dữ liệu (thuật toán phủ tuần tự) Các luật được học tuần
tự Mỗi luật trong lớp Ci, sẽ phủ nhiều mẫu của Ci nhưng không phủ (hoặc phủ ít)mẫu của lớp khác
Trang 11- Bắt đầu từ luật rỗng
- Sử dụng hàm Learn-One-Rule để phát triển luật => Thêm thuộc tính làm tăngchất lượng của luật (độ phủ, độ chính xác)
- Loại các mẫu bị phủ bởi luật ra khỏi dữ liệu
- Lặp lại quá trình trên tới khi gặp điều kiện dừng (không còn mẫu hoặc độ đo chấtlượng thấp hơn ngưỡng do người dùng xác định)
b Phương pháp gián tiếp:
Đầu tiên chúng ta xây dựng một mô hình phân lớp cho tập dữ liệu, sau đó chúng
ta rút ra các luật từ mô hình
Phương pháp được xử dụng trong bài là xây dựng các luật từ cây quyết định.Phương pháp này được tiến hành qua các bước như sau:
o Rút trích các luật từ cây quyết định
o Luật tạo ra từ từng đường dẫn tới nút lá
o Mỗi cặp giá trị thuộc tính dọc theo đường dẫn tạo nên phép liên kết
o Các nút lá mang tên của lớp
Trang 12CHƯƠNG 3: GIẢI BÀI TOÁN THEO CÁC BƯỚC CỦA THUẬT
TOÁN
Tiến hành tính tay một bộ dữ liệu mẫu nằm trong bộ dữ liệu gốc Dưới đây là mộtbảng dữ liệu được trích xuất ra từ bộ dữ liệu lớn ban đầu để tiến hành tính toán Loại bỏmột số các thuộc tính để tiến hành tính toán mẫu cho thuật toán Phân lớp dựa trên cácluật theo phương pháp gián tiếp (Dùng cây quyết định) Bộ dữ liệu được sử dụng để tínhtoán ở đây gồm 15 bản ghi với 6 trường dữ liệu:
Bảng 3: Bộ dữ liệu mẫu
Để tiến hành Phân lớp dựa trên các luật chúng ta tiến hành theo 2 bước:
Bước 1: Tạo cây quyết định
Trang 13Để tạo được cây quyết định chúng ta sử dụng các công thức sau:
Entropy: Độ đo hỗn tạp
Pi: Xác suất để một phần tử bất kì trong D thuộc
Ci,D: Tập các phần tử của lớp Ci trong D
Độ đo Information Gain (IG)
Công thức: InfoInfo A ( D)=∑
j
v
¿D∨¿∗Info(Dj)¿ ¿
Áp dụng các công thức trên để xây dựng cây quyết định:
Info của biến mục tiêu
2
4)= 0.8 Info Job (Tình trạng công việc) =158 (−58
5
8−
38
2) = 0.9663
Trang 14Info Housing (Nhà riêng) = 155 (−45
4
5−
15
2
10)= 0.7218 Info Housing min => IG(Housing) max=> chọn Housing làm gốc
Hình 1: Cây quyết định bước 1
Housing = “No”
Bảng 4 Bảng dữ liệu với Housing = ‘No’
Info Age (Tuổi) =15(−1)+1
5(−1)+
3
5(−1)= 0 Info Age (Tuổi) min => IG(Age) max => chọn thuộc tính age làm thuộc tính phân chia
Trang 15Hình 2: Cây quyết định bước 2
Housing = “yes”
Bảng 5: Bảng dữ liệu với Housing = ‘Yes’
Info Age (Tuổi) =102 (−1)+ 5
10(−45
4
5−
15
Trang 16Hình 3: Cây quyết định bước 3
Housing = “yes” and job = “employed”
Bảng 6: Bảng dữ liệu với Housing = ‘Yes’ và Job = ‘employed’
Info Age (Tuổi) =15(−1)+2
5(−1)+
2
5(−1)= 0 Info (Age) min => IG(Age) max => chọn thuộc tính age làm thuộc tính phân chia
Trang 17Hình 4: Cây quyết định hoàn thiện
Bước 2: Xây dựng các luật dựa vào cây quyết định
Trong phương pháp gián tiếp để xây dựng các luật dựa vào cây quyết định chúng tatiến hành như sau:
- Rút trích các luật từ cây quyết định => Luật tạo ra từ đường dẫn tới nút lá => Mỗicặp giá trị thuộc tính theo đường tạo nên các phép liên kết với nhau Các luậtđược tạo ra theo phương pháp này sẽ có dạng như sau: IF (Điều kiện) THEN YDựa vào dữ liệu của bài toán đã đưa ra ở trên cùng với cây quyết định chúng ta cóthể suy ra được một số luật:
Trang 18Hình 5: Các luật rút ra từ cây quyết định
Trang 19CHƯƠNG 4: THỰC HIỆN BÀI TỐN TRÊN PHẦN MỀM
cĩ thể được mở rộng bằng ngơn ngữ R và Python.Các thuật tốn trong Data mining được chia thành 2 loại:
● Thuật tốn Learning được giám sát: Là các thuật tốn yêu cầu đã cĩ đầu raOutput (hoặc gọi là Label hay Target) Một số mơ hình thuộc thuật tốn này cĩthể kể đến như: Nạve Bayes, cây quyết định (Decision Tree), mạng thần kinh(Neural Networks), SVM (Support Vector Machine), mơ hình hồi quy (LogisticRegression),
● Thuật tốn Learning khơng được giám sát: Là các thuật tốn khơng bắt buộc phảibiết trước đầu ra Output nhưng cĩ thể tìm kiếm các khuơn mẫu hoặc các xu
Trang 20hướng mà không có Label hoặc Target, như mô hình K-Mean Clustering,Anomaly Detection, Association Mining.
Với Rapidminer, có thể giúp:
● Tải và chuyển đổi dữ liệu (Extract, Transform, Load (ETL))
● Xử lý dữ liệu và trực quan dữ liệu
● Xây dựng các mô hình dự báo và phân tích thống kê
● Đánh giá và triển khai dữ liệu
Trang 214.2 Chạy thuật toán trên phần mềm
Bảng 7: Bộ dữ liệu gốcThực hiện với bộ dữ liệu gốc gồm 120 bản ghi với 8 trường thuộc tính
Đầu tiên chúng ta sẽ nạp file dữ liệu vào phần mềm, bới các trường thuộc tính đều ởdạng định tính phù hợp với thuật toán phân lớp dựa vào luật nên ta sẽ đi xây dựng môhình cây quyết định
Trang 22Hình 7: Nạp dữ liệu vào phần mềm
Ta sẽ chọn những operator phù hợp, ở đây chúng ta sẽ chọn những operator sau:
- Set role : để gán nhãn cho trường decide
- ID3 : cây quyết định
- Apply model và performance : Dùng để đánh giá độ chính xác của cây quyếtđịnh cũng như luật được sinh ra
Trang 23Hình 8: Thực hiện xây dựng cây quyết định và đánh giá độ chính xác
Hình 9: Cây quyết định
Trang 24Hình 10: Dộ chính xác của mô hình
Cây quyết định được sinh ra với độ chính xác là 57.14%
Sau khi ra được cây quyết định thì chúng ta có thể suy ra được các luật dựa trên câyquyết định này với phần lý thuyết đã được nêu ở trên Có thể đọc một số các kết quả vềluật như sau:
Hình 11: Các luật rút ra từ cây quyết định
CHƯƠNG 5: ĐÁNH GIÁ – KẾT LUẬN
Sau quá trình từ chọn lựa bộ dữ liệu tới việc sử dụng các thuật toán để tiến hành
Trang 25công việc khai phá dữ liệu em đã rút ra được một số các chú ý Trong thực tế, tùy thuộcvào nhu cầu mà chúng ta tiến hành chọn lựa các thuật toán khác nhau để khai phá dữliệu.
- Các Luật được sinh ra phục vụ một cách hiệu quả cho quá trình khai phá dữ liệuvới tỉ lệ chính xác tương đối cao thậm chí có những ưu điểm vượt trội hơn so vớinhững thuật toán khác như phân cụm hay luật kết hợp
- Cung cấp những thông tin hỗ trợ ra quyết định
5.3 Nhược điểm.
Tuy nhiên bên cạnh đó vẫn còn một số những nhược điểm cần khắc phục như:
- Khó giải quyết được các vấn đề nếu có dữ liệu phụ thuộc vào biến thời gian liêntục hay để xảy ra lõi khi có quá nhiều lớp chi phí tính toán để xây dựng cây quyếtđịnh cao
- 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ó kichthước lớn và nhiều giá trị sai là vô cùng lớn
⇨ Thuật toán phân lớp dựa trên Luật còn có rất nhiều những mảng kiến thức chưađược khám vá và tìm hiểu hết Tiềm năng và những lợi ích của phương pháp nàyđang còn rất nhiều đòi hỏi chúng ta phải tiếp tục nghiên cứu, cải tiến để phương
Trang 26pháp được trở nên hoàn thiện hơn trong tương lai, có thể áp dụng được trongnhiều các lĩnh vực khác nhau Tất cả để đem lại được những nguồn thông tin vàtri thức bổ ích.
Trang 27TÀI LIỆU THAM KHẢO
[1] Giáo trình Khai phá dữ liệu – Học viện ngân hàng