1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

27 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 1,5 MB

Nội dung

- 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 1

HỌ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ÁPPHÂ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

Trang 3

LỜ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, nhu cầ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ân tạ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 xin nghiê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 5

Bả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 6

CHƯƠ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ốngkê 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ích thô, 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ệu trướ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 Khai thá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 trong hoạ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 đang có.

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 7

chọ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ước cuố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 đối tượ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ệu thà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ìm cá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ác

phươ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ững thay đổ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ành khai 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ài tậ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ật toán phân lớp ID3 dựa trên luật ứng dụng.

Trang 8

CHƯƠ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.

Bảng 1: Bộ dữ liệu gốc

Bộ dữ liệu với gần 200 bản ghi với rất nhiều các thông tin đã được thu thập được trên thực tế Với bộ dữ liệu như trên thì người dùng có thể tiến hành việc khai phá dữ liệu dựa trên nhiều các thuật toán khác nhau phụ thuộc vào nhu cầu.

2.2 Tiền xử lý dữ liệu.

Trong quy trình khai phá dữ liệu, công việc xử lý dữ liệu trước khi đưa vào các mô hình là rất cần thiết, bước này làm cho dữ liệu ban đầu qua thu thập được có thể áp dụng được (thích hợp) với thuật toán Công việc cụ thể của tiền xử lý dữ liệu:

• 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ải thự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èn luyệ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 10

Trong đó:

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ết

luậ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ật nà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 cao hơ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ến củ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ăng chấ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ất lượ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 12

CHƯƠNG 3: GIẢI BÀI TOÁN THEO CÁC BƯỚC CỦA THUẬTTOÁ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ột bả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ác luậ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ính toá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: InfoInfoA( D)=

jv

¿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

Trang 14

Info Housing (Nhà riêng) = 155 (−45 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

Trang 15

Hì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

Trang 16

Hì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

Trang 17

Hì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 ta tiế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ỗi cặ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 Y Dự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 18

Hình 5: Các luật rút ra từ cây quyết định

Trang 19

CHƯƠNG 4: THỰC HIỆN BÀI TỐN TRÊN PHẦN MỀM

4.1 Lựa chọn cơng cụ

Hình 6: Cơng cụ RapidMiner

Cơng cụ mà em sử dụng để chạy các thuật tốn khai phá dữ liệu ở đây là cơng cụ RapidMiner Rapidminer là một mã nguồn mở, là một mơi trường cho Machine learning và Data mining và được viết bằng ngơn ngữ lập trình Java Chúng sử dụng mơ hình Client/Server với máy chủ là on-premise hoặc public cloud hoặc private cloud Rapidminer cung cấp các lược đồ Learning Schemas, các mơ hình và các thuật tốn, và 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 ra Output (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 (Logistic Regression),

● 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ải biế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 20

hướ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 21

4.2 Chạy thuật toán trên phần mềm

Bảng 7: Bộ dữ liệu gốc

Thự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 22

Hì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 23

Hì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 24

Hì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ây quyế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 25

cô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ộc và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.

5.1 Kết quả đạt được

Đề tài đã trình bày tổng quan về phân lớp dựa trên luật nhằm trợ giúp cho việc ra quyết định xây dựng chiến lược trong dự đoán đăng ký tín dụng.

Đề tài đã thực hiện được các bước xây dựng thuật toán bằng tay và thực hiện bài toán trên phần mềm RapidMiner nhằm tăng độ chính xác cao của bài toán.

5.2 Ưu điểm

Việc sử dụng thuật toán phân lớp theo các luật dưới 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 luật đã được chứng minh ra tất hữu ích trong nhiều lĩnh vực khác nhau Dạng output của phương pháp này là lụa chọn “khôn ngoan”

- 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ệu vớ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ới nhữ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ên tụ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ó kich thướ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

Ngày đăng: 28/03/2024, 21:38

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w