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

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

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 (672.44 KB, 27 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>HỌC VIỆN NGÂN HÀNG</b>

<b>KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ </b>

<b>BÁO CÁO BÀI TẬP MÔN KHAI PHÁ DỮ LIỆU</b>

<b>ĐỀ TÀI:</b>

<b>KHAI PHÁ DỮ LIỆU BẰNG PHƯƠNG PHÁPPHÂN LỚP DỰA TRÊN LUẬT ỨNG DỤNG DỰ</b>

<b>ĐOÁN KHẢ NĂNG ĐĂNG KÝ TÍN DỤNG TẠI</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>LỜI MỞ ĐẦU</b>

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 tố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ự đốn khả năng đăng ký tín dụng.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>Bảng 2: Bộ dữ liệu đã được tiền xử lý4</b>

<b>Bảng 6: Bảng dữ liệu với Housing = ‘Yes’ và Job = ‘employed’11</b>

<b>DANH MỤC HÌNH</b>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU</b>

<b>1.1.Khái niệm</b>

<i><b>Khai phá dữ liệu (data mining) Là q trình tính tốn để tìm ra các mẫu trong</b></i>

<b>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</b>

tính. Mục tiêu tổng thể của q 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. Ngồ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à q 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 q 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ó.

<i>Khai phá dữ liệu là một bước của quá trình khai thác tri thức (Knowledge Discovery</i>

<i>Process), bao gồm:</i>

<i>● Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề (Problem</i>

<i>understanding and data understanding).</i>

<i>● Chuẩn bị dữ liệu (Data preparation), bao gồm các q 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).</i>

<i>● Khai thác dữ liệu (Data mining): xác định nhiệm vụ khai thác dữ liệu và lựa</i>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<i>chọn kỹ thuật khai thác dữ liệu. Kết quả cho ta một nguồn tri thức thô.</i>

<i>● Đá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</i>

tri thức thu được.

<i>● Triển khai (Deployment).</i>

Quá trình khai thác tri thức khơng chỉ là một q trình tuần tự từ bước đầu tiên đến bước cuối cùng mà là một q trình lặp và có quay trở lại các bước đã qua.

<b>1.2. Các phương pháp khai phá dữ liệu </b>

- 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 tố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 tố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.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>CHƯƠNG 2: LỰA CHỌN DỮ LIỆU VÀ THUẬT TỐN</b>

<b>2.1 . Mơ tả bài tốn </b>

<b>Bài tố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 </b>

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.

<b>2.2. Tiền xử lý dữ liệu.</b>

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

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="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ý

<b>2.3. Lựa chọn thuật tốn</b>

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

<b>Phương pháp phân lớp dựa trên luật (Rule-based classification)</b>

❖ Ý 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

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="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

<b>Xây dựng luật phân lớp</b>

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 tố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.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>CHƯƠNG 3: GIẢI BÀI TOÁN THEO CÁC BƯỚC CỦA THUẬTTỐN</b>

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 tố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 tố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>Bước 1: Tạo cây quyết định</b>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="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: Info<i>Info<sub>A</sub>( D)=</i>

<i><small>jv</small></i>

¿<i>D∨</i>¿∗<i>Info(Dj)</i><sup>¿ ¿</sup>

<b>Áp dụng các công thức trên để xây dựng cây quyết định: </b>

Info của biến mục tiêu

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>Info Housing (Nhà riêng) = </b><sub>15</sub><sup>5</sup>

(

<sup>−4</sup>5 <b>Info Housing min => IG(Housing) max=> chọn Housing làm gốc</b>

<i>Hình 1: Cây quyết định bước 1</i>

<b>Housing = “No” </b>

Bảng 4. Bảng dữ liệu với Housing = ‘No’

<b>Info Age (Tuổi) =</b><sup>1</sup><sub>5</sub>(−1)+1

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<i>Hình 2: Cây quyết định bước 2</i>

<b>Housing = “yes”</b>

Bảng 5: Bảng dữ liệu với Housing = ‘Yes’

<b>Info Age (Tuổi) =</b><sub>10</sub><sup>2</sup> (−1)+ 5

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<i>Hình 3: Cây quyết định bước 3</i>

<b>Housing = “yes” and job = “employed”</b>

Bảng 6: Bảng dữ liệu với Housing = ‘Yes’ và Job = ‘employed’

<b>Info Age (Tuổi) =</b><sup>1</sup><sub>5</sub>(−1)+2

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<i>Hình 4: Cây quyết định hồn thiện</i>

<b>Bước 2: Xây dựng các luật dựa vào cây quyết định</b>

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:

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

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

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

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

<b>4.1 Lựa chọn cơng cụ </b>

<i>Hình 6: Cơng cụ RapidMiner</i>

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

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

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

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

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<i>Hình 7: Nạp dữ liệu vào phần mềm</i>

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

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<i>Hình 8: Thực hiện xây dựng cây quyết định và đánh giá độ chính xác</i>

<i>Hình 9: Cây quyết định</i>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<i>Hình 10: Dộ chính xác của mơ hình</i>

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:

<i>Hình 11: Các luật rút ra từ cây quyết định</i>

<b>CHƯƠNG 5: ĐÁNH GIÁ – KẾT LUẬN</b>

Sau quá trình từ chọn lựa bộ dữ liệu tới việc sử dụng các thuật tốn để tiến hành

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="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.

<b>5.1. Kết quả đạt được</b>

Đề 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 tốn trên phần mềm RapidMiner nhằm tăng độ chính xác cao của bài toán.

<b>5.2. Ưu điểm</b>

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

<b>5.3. Nhược điểm.</b>

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ó q nhiều lớp chi phí tính tốn để xây dựng cây quyết định cao.

- Tài ngun tính tố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 tố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

</div>

×