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

Phân tích khả năng trả nợ của khách hàng dựatrên bộ dữ liệu loan prediction bằng phần mềm orange

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 (2.55 MB, 42 trang )

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

<b>TRƯỜNG CÔNG NGH VÀ THIẾẾT KẾẾỆKHOA CÔNG NGH THÔNG TIN KINH DOANHỆ</b>

<b>DỰ ÁN CUỐI KÌMƠN KHOA HỌC DỮ LIỆU</b>

<i><b>Đề tài: Phân tích khả năng trả nợ của khách hàng dựa</b></i>

trên bộ dữ liệu Loan Prediction bằng phần mềm Orange

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

<b>Mục lục </b>

<b>Phụ lục...1</b>

<b>CHƯƠNG 1: TỔNG QUAN...1</b>

<b>1.1 Tổng quan về bài toán phân lớp dữ liệu...1</b>

<b>1.2 Giới thiệu về Python và phần mềm Orange...1</b>

<b>1.3 Lý do lựa chọn đề tài...1</b>

<b>CHƯƠNG 2. CÁC MƠ HÌNH PHÂN LỚP DỮ LIỆU...1</b>

<b>2.1. Các Mơ Hình Phân Lớp Dữ Liệu...1</b>

<b>2.1.1 Mơ hình Logistic Regression...1</b>

<b>2.1.2 Mơ hình decision tree...1</b>

<b>2.1.3 Mơ Hình Support Vector Machine...1</b>

<b>2.2 Quy trình phân lớp dữ liệu...1</b>

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

<b>2.2.2 Phân lớp dữ liệu...1</b>

<b>2.2.3 Đánh giá tính hiệu quả...1</b>

<b>CHƯƠNG 3. CÁC KẾT QUẢ THỰC NGHIỆM...1</b>

<b>3.3.1 Phân tích dựa trên ma trận nhầm lẫn(Confusion Matrix)...1</b>

<b>3.3.2 Phân tích dựa trên ROC analysis...1</b>

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

<b>LỜI CẢM ƠN </b>

Đầu tiên, em xin cảm Đại học UEH đã đưa môn học Khoa học dữ liệu vào chương trình giảng dạy, mơn học đã giúp em tiếp cận gần hơn đến với dữ liệu và các phương pháp khai thác dữ liệu. Đặc biệt, em xin gửi lời cảm ơn sâu

<b>sắc đến giảng viên phụ trách bộ môn này của chúng em - thầy Đặng Ngọc Hoàng Thành. Trong suốt học phần, thầy đã rất nhiệt tình dạy dỗ, truyền đạt </b>

những kiến thức quý báu cho chúng em, bên cạnh đó thầy còn rất tận tâm hỗ trợ khi chúng em gặp khó khăn và cần sự giúp đỡ từ thầy. Chúng em cảm thấy rất biết ơn và vô cùng yêu quý thái độ nhiệt tình, thân thiện và tận tâm này từ thầy. Nhờ vậy, chúng em đã tích lũy được rất nhiều kiến thức bổ ích để làm nền tảng vững chắc cho các môn học sau này. Và hơn thế nữa, chúng em cũng rất cảm kích và trân trọng vì nhờ sự hỗ trợ của thầy, chúng em đã hoàn thiện đề tài nghiên cứu này một cách chỉn chu và trọn vẹn nhất.

Bộ môn Khoa học dữ liệu là môn học bổ ích, nó giúp cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của sinh viên - đặc biệt là đối với sinh viên thuộc khoa Công nghệ thông tin kinh doanh. Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ. Mặc dù chúng em đã cố gắng hết sức nhưng chắc chắn bài nghiên cứu này khó có thể tránh khỏi những thiếu sót và nhiều chỗ cịn chưa chính xác, kính mong thầy xem xét và góp ý để bài nghiên cứu của nhóm được hồn thiện hơn.

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

<b>CHƯƠNG 1: TỔNG QUAN </b>

<b>1.1 Tổng quan về bài toán phân lớp dữ liệu</b>

Kỹ thuật phân lớp dữ liệu trong khai phá dữ liệu là một trong những vấn đề nghiên cứu mở rộng hiện nay; tập trung chủ yếu vào thống kê, máy học và mạng nơtrôn. Kỹ thuật phân lớp được đánh giá là một kỹ thuật khai phá dữ liệu được sử dụng rộng rãi nhất với nhiều mở rộng.

Ngày nay, phân lớp dữ liệu (classification) là một trong những hướng nghiên cứu chính của khai phá dữ liệu. Phân lớp dữ liệu là quá trình phân một đối tượng dữ liệu vào một hay nhiều lớp (loại) đã cho trước nhờ một mơ hình phân lớp. Q trình gán nhãn (thuộc lớp nào) cho đối tượng dữ liệu chính là q trình phân lớp dữ liệu.

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à ngày 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ự đốn có thể dự đốn được lượng tiền tiêu dùng của khách hàng tiềm năng dựa trên những thông tin về thu thập và nghề nghiệp của khách hàng.

<b>1.2 Giới thiệu về Python và phần mềm Orange </b>

Python là ngôn ngữ lập trình máy tính bậc cao thường được sử dụng để xây dựng trang web và phần mềm, tự động hóa các tác vụ và tiến hành phân tích dữ liệu. Python là ngơn ngữ có mục đích chung, nghĩa là nó có thể được sử dụng để tạo nhiều chương trình khác nhau và khơng chun biệt cho bất kỳ vấn đề cụ thể nào.

Phần mềm Orange - một trong những phần mềm có thể giúp cho việc khai phá dữ liệu trở nên dễ dàng hơn.

Phần mềm Orange được biết đến bởi việc tích hợp các công cụ khai phá dữ liệu mã nguồn mở và học máy thơng minh, đơn giản, được lập trình bằng Python với giao diện trực quan và tương tác dễ dàng. Với nhiều chức năng, phần mềm này có thể phân tích được những dữ liệu từ đơn giản đến phức tạp, tạo ra những đồ hoạ đẹp mắt và thú vị và còn giúp việc khai thác dữ liệu và máy học trở nên dễ dàng hơn cả cho người dùng mới và chuyên gia.

Thực chất, Orange là một thư viện quy trình và đối tượng cốt lõi của C++ kết hợp rất nhiều thuật toán Data mining và học máy tiêu chuẩn và khơng tiêu chuẩn. Nó là một cơng cụ trực quan hóa dữ liệu, Data mining và máy học nguồn mở. Orange là một môi trường có thể viết kịch bản để tạo mẫu nhanh các thuật toán và mẫu thử

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

nghiệm mới nhất. Nó là một nhóm các mơ-đun dựa trên python tồn tại trong thư viện lõi. Nó triển khai một số chức năng mà thời gian thực thi không cần thiết và điều đó được thực hiện bằng Python.

Orange cung cấp cho người dùng tập các toolbox tinh gọn nhất giúp ta bắt tay ngay vào phân tích dữ liệu gồm:

<b>Data: dùng để rút trích, biến đổi, và nạp dữ liệu (ETL process).</b>

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

<b>Visualize: dùng để biểu diễn biểu đồ (chart) giúp quan sát dữ liệu được tốt hơn.</b>

<b>Model: gồm các hàm machine learning phân lớp dữ liệu, có cả Neural Network gồm </b>

các hyper-parameter cơ bản để bạn xây dựng nhanh Deep learning thần thánh mà các fan Deep-learning based đang theo đuổi.

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

<b>Evaluate: các phương pháp đánh giá mơ hình máy học.</b>

<b>Unsupervised: gồm các hàm machine learning gom nhóm dữ liệu.</b>

<b>1.3 Lý do lựa chọn đề tài</b>

Trong hoàn cảnh kinh tế khó khăn hiện nay, nhu cầu vay tiền từ ngân hàng của các cá nhân đang ngày càng tăng cao. Trong khi đó, việc thẩm định tín dụng của ngân hàng vẫn cịn gặp nhiều khó khăn. Đánh giá khách hàng đòi hỏi nhiều yếu tố, tuy

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

nhiên hiện tại khả năng thẩm định tín dụng của ngân hàng còn hạn chế, chủ yếu việc đánh giá cịn phụ thuộc vào năng lực và cảm tính của bộ phận tín dụng. Điều này đặt ra rất nhiều rủi ro cho ngân hàng trong quá trình cho vay tiền.

<b>Trước tình hình đó, nhóm chúng tơi đã quyết định chọn đề tài “Phân tích khảnăng trả nợ của khách hàng dựa trên bộ dữ liệu Loan Prediction bằng phần mềmOrange”.Việc phân tích này sẽ giúp cho các ngân hàng có thể đánh giá rủi ro vay tiền</b>

của mình một cách chính xác và khoa học hơn.

Bộ dữ liệu này sử dụng các thông tin về tuổi tác, thu nhập, kinh nghiệm việc làm, nghề nghiệp, tình trạng hơn nhân…Bằng cách sử dụng các cơng cụ phân tích dữ liệu, chúng tơi hy vọng có thể đưa ra những kết luận và dự đoán về khả năng trả nợ của khách hàng trong tương lai.

Tóm lại, việc phân tích khả năng trả nợ của khách hàng thơng qua bộ dữ liệu Loan Prediction là rất cần thiết và hữu ích trong thời điểm hiện tại.

<b>CHƯƠNG 2. CÁC MƠ HÌNH PHÂN LỚP DỮ LIỆU2.1. Các Mơ Hình Phân Lớp Dữ Liệu</b>

<b>2.1.1 Mơ hình Logistic Regression2.1.1.1 Định nghĩa </b>

Hồi quy logistic là một kỹ thuật phân tích dữ liệu sử dụng tốn học để tìm ra mối quan hệ giữa hai yếu tố dữ liệu. Sau đó, kỹ thuật này sử dụng mối quan hệ đã tìm được để dự đốn giá trị của những yếu tố đó dựa trên yếu tố cịn lại. Dự đốn thường cho ra một số kết quả hữu hạn, như có hoặc không.

Hồi quy logistic là một kỹ thuật quan trọng trong lĩnh vực trí tuệ nhân tạo và máy học (AI/ML). Mơ hình ML là các chương trình phần mềm có thể được đào tạo để thực hiện các tác vụ xử lý dữ liệu phức tạp mà không cần sự can thiệp của con người. Mơ hình ML được xây dựng bằng hồi quy logistic có thể giúp các tổ chức thu được thông tin chuyên sâu hữu ích từ dữ liệu kinh doanh của mình. Họ có thể sử dụng những thơng tin chun sâu này để phân tích dự đốn nhằm giảm chi phí hoạt động, tăng độ hiệu quả và đổi chỉnh quy mơ nhanh hơn.

<b>2.1.1.2 Thuật tốn: </b>

Đối với bài toán phân lớp Tập nhãn y y y<small>1</small>, <small>2</small>,...,y<sub>n</sub>

với n là số lớp

Một đối tượng dữ liệu x x x<small>1</small>, <small>2</small>,...,x<sub>d</sub> <sub> với d là thuộc tính của mỗi dòng dữ liệu và </sub> được biểu diễn dưới dạng vector

e <sub> dự đoán đối tượng xem đối tượng x </sub> sở hữu các thuộc tính cụ thể sẽ thuộc vào lớp y nào.

Trong đó:

<i><b>d là số lượng đặc trưng (thuộc tính) của dữ liệu,</b></i>

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

<i><b>w là trọng số ban đầu sẽ được khởi tạo ngẫu nhiên, sau đó sẽ được điều chỉnh lại cho </b></i>

- Logistics là một phương pháp mạnh mẽ trong việc xử lý các dữ liệu phân loại (classification) vì nó cho phép tính tốn chính xác xác suất mà một quan sát (observation) được phân loại vào một nhóm nhất định.

- Logistics là một phương pháp linh hoạt và có thể được áp dụng nhiều lĩnh vực khác nhau, bao gồm kinh tế, y học , khoa học xã hội và kỹ thuật.

- Logistics dễ dàng hiểu và áp dụng vì nó dựa trên mơ hình hồi quy tuyến tính đơn giản.

Nhược điểm :

- Logistics khơng thể xử lý các dữ liệu đa trị (multional data) và phụ thuộc vào giải định về sự độc lập giữa các quan sát.

- Logistics có thể gặp vấn đề khi dữ liệu không phân bố đều (imbalanced data) hoặc khi có nhiều biến độc lập (independent variables) liên quan mật thiết với nhau.

- Logistics không thể xử lý các dữ liệu không liên tục (non-continuous data) hoặc dữ liệu không tuân theo phân phối chuẩn (non-normal data).

<b>2.1.2 Mơ hình decision tree2.1.2.1. Khái niệm: </b>

Cây quyết định là đồ thị các quyết định cùng các kết quả khả dĩ đi kèm nhằm hỗ trợ quá trình ra quyết định. Trong lĩnh vực khai thác dữ liệu, cây quyết định là phương pháp nhằm mô tả, phân loại và tổng quát hóa tập dữ liệu cho trước. Cấu trúc của một cây quyết định bao gồm các nút và các nhánh.

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

- Nút dưới cùng được gọi là nút lá, trong mô hình phân tích dữ liệu là các giá trị của các nhãn lớp. các nút khác được gọi là nút con. Nút đầu tiên được gọi là nút gốc của cây.

- Mỗi một nhánh của cây xuất hiện từ một nút p nào đó tương ứng với một phép so sánh dựa trên miền giá trị của nút đó.

<b>2.1.2.2.Thuật tốn CLS</b>

Thuật tốn CLS được thiết kế theo chiến lược chia để trị từ trên xuống. Nó gồm các bước sau:

1. Tạo nút T, nút này gồm tất cả các mẫu của tập huấn luyện.

2. Nếu tất cả các mẫu trong T thuộc cùng một lớp và có thuộc tính quyết định

● Chia tập mẫu trong T thành các tập hợp con T1,T2,...,Tn chia theo giá trị của X

● Tạo n nút con Ti (i=1,2,...,n) với nút chua là nút T. ● Tạo các nhánh nối từ nút T đến các nút Ti (i=1,2,...,n) là các

thuộc tính của X.

4. Thực hiện lặp cho các nút con Ti (i=1,2,...,n) và quay lại bước 2.

<b>2.1.2.3.Thuật toán ID3</b>

ID3 được xem như là một cải tiến của CLS với khả năng lựa chọn thuộc tính tốt nhất để tiếp tục triển khai cây tại mỗi bước. ID3 xây dựng quyết định từ trên xuống, sử dụng độ đo information Gain để đo tính hiệu quả của các thuộc tính phân lớp. Trong q trình xây dựng cây quyết định theo thuật toán ID3 tại mỗi bước phát triển cây, thuộc tính được chọn là thuộc tính có giá trị Gain lớn nhất.

Hàm xây dựng cây quyết định thuật toán ID3 Fuction induce_tree ( tập_ví_dụ, tập_thuộc_tính)

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

begin

if mọi ví dụ trong tập_ví_dụ đều nằm trong cùng một lớp then return một nút lá được nhấn bởi lớp đó

else if tập_thuộc_tính là rỗng then

return nút lá được gắn nhãn bởi tuyến của tất cả các lớp trong tập_ví_dụ else begin

chọn một thuộc tính P, lấy nó làm gốc cho cây hiện tại; xóa P ra khỏi tập_thuộc_tính;

với mỗi giá trị V của P begin

tạo một nhánh của cây gán nhãn V;

đặt vào phân_vùng các ví dụ trong tập_ví_dụ có giá trị V tại thuộc tính P; gọi induce_tree(phân_vùng v tập_thuộc_tính), gắn kết quả vào nhánh V

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

- Có thể xử lý trên nhiều kiểu dữ liệu khác nhau. - Xử lý tốt một lượng dữ liệu lớn trong thời gian ngắn Khuyết điểm:

- Khó giải quyết trong tình huống dữ liệu phụ thuộc thời gian - Chi phí xây dựng mơ hình cao

<b>2.1.3 Mơ Hình Support Vector Machine2.1.3.1.Khái niệm</b>

SVM là một thuật tốn có giám sát, SVM nhận dữ liệu vào, xem chúng như những vector trong không gian và phân loại chúng vào các lớp khác nhau bằng cách xây dựng một siêu phẳng trong không gian nhiều chiều làm mặt phân cách các lớp dữ liệu.

Để tối ưu kết quả phân lớp thì phải xác định siêu phẳng (hyperlane) có khoảng cách đến các điểm dữ liệu (margin) của tất cả các lớp xa nhất có thể.

SVM có nhiều biến thể phù hợp với các bài toán phân loại khác nhau.

Là khoảng cách giữa siêu phẳng đến 2 điểm dữ liệu gần nhất tương ứng với các phân lớp. SVM cố gắng tối ưu bằng cách tối đa hóa giá trị margin này, từ đó tìm ra siêu phẳng đẹp nhât để phân 2 lớp dữ liêu. Nhờ vậy, SVM có thể giảm thiếu việc phân lớp sai (misclassfication) đói với điểm dữ liệu mới đưa vào

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

<i><b>Support vectors</b></i>

Bài toán của chúng ta trở thành tìm ra 2 đường biên của 2 lớp dữ liệu sao cho khoảng cách giữa 2 đường này là lớn nhất. Siêu phẳng cách đều 2 biên đó chính là siêu phẳng cần tìm. cách điểm xanh, đỏ nằm trên 2 đường bên (màu xanh lá) được gọi là các support vector, vì chúng có nhiệm vụ hỗ trợ để tìm ra siêu phẳng

<b>2.1.3.2 Thuật tốn </b>

Số chiều của khơng gian bài tốn (cịn gọi là không gian đặc trưng) tương ứng với số lương thuộc tính (đặc trưng) của một đối tượng dữ liệu.

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

Phương trình biểu diễn siêu phẳng cần tìm (hyperlane) trong khơng gian đa chiều là: và giá trị margin W x b<sup>T</sup> <sup>0</sup><sub> và giá trị margin = </sub><sup>w</sup>

Mục tiêu của SVM là cần tìm giá trị margin cực đại đồng nghĩa với việc w đạt cực tiểu với điều kiện:

( <small>T</small> ) 1, 1,2,...,

Hàm mục tiêu cần tối ưu là một norm nên là một hàm lồi => bài toán quy hoạch toàn phương (Quadratic Programing)

Các biến thể của SVM

<b>2.1.3.3 Ưu điểm và Nhược điểm </b>

Ưu điểm:

- Tiết kiệm bộ nhớ (do quá trình test chỉ cần so điểm dữ liệu mới với mặt siêu phẳng tìm được mà khơng cần tính tốn lại)

- Linh hoạt: vừa có thể phân lớp tuyến tính và phi tuyến (sử dụng các kernel

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

<b>2.2 Quy trình phân lớp dữ liệu2.2.1 Tiền xử lý dữ liệu</b>

<b>Khái niệm: Là q trình xử lý dữ liệu thơ/gốc (raw/original data)( có thể có </b>

cấu trúc hoặc khơng có cấu trúc; nằm ở nhiều định dạng khác nhau (tập tin hoặc CSDL)), nhằm cải thiện chất lượng dữ liệu (quality of the data) và do đó, cải thiện chất lượng của kết quả khai phá.

Khi nói về chất lượng của dữ liệu(Data quality) thì các tính chất sau đây thường được nhắc đến:

+ Tính chính xác: Độ chính xác của thông tin và mức độ đúng đắn của dữ liệu so với thực tế

+ Tính hiện hành: Đánh giá mức độ cập nhật và đồng bộ của dữ liệu. Dữ liệu cập nhật càng nhanh và càng chính xác thì tính hiện hành càng cao

+Tính tồn vẹn: Tiêu chí này xem như liệu một tập dữ liệu có tuân theo các quy tắc và tiêu chuẩn đã đặt ra hay khơng. Có bất kỳ giá trị nào bị thiếu có thể làm tổn hại đến hiệu quả của dữ liệu hoặc khiến các nhà phân tích không nhận ra các mối quan hệ hoặc mẫu quan trọng khơng?

+ Tính nhất qn : Tất cả các lần lặp lại của một phần dữ liệu phải giống nhau.

<b>Các bước tiền xử lý dữ liệu: </b>

+ Làm sạch dữ liệu: Là quá trình loại bỏ nhiễu (remove noise), hiệu chỉnh những phần dữ liệu không nhất quán (correct data inconsistencies). Q trình này có thể bao gồm các cơng việc sau:

Tóm tắt hố dữ liệu: Là q trình trích xuất thơng tin quan trọng và đại diện của dữ liệu. Trong bước này ta cần xác định được thuộc tính (properties) của dữ liệu về xu hướng chính (central tendency) và sự phân tán (dispersion) được sử dụng để mô tả và hiểu về phân bố của dữ liệu. Một số độ đo của xu hướng chính có thể kể đến như mean, median, mode, midrange…hay độ do của sự phân tán như quartiles, interquartile range (IQR), variance

Ngoài ra, việc nhận diện dữ liệu nổi bật/hiếm (outliers) hoặc nhiễu (noise) trong tập dữ liệu cũng rất quan trọng. Outliers là các giá trị rất khác biệt so với các giá trị còn lại trong tập dữ liệu, trong khi noise là các giá trị khơng có ý nghĩa hoặc sai lệch so với các giá trị khác. Việc nhận diện và loại bỏ outliers và noise sẽ cải thiện độ chính xác của phân tích dữ liệu và giúp đưa ra quyết định chính xác hơn.

Xử lý dữ liệu bị thiếu (missing data): Dữ liệu bị thiếu là một vấn đề phổ biến trong quá trình thu thập dữ liệu. Nguyên nhân dẫn đến việc dữ liệu bị thiếu có thể đến từ nhiều nguồn khách quan(Dữ liệu bị thiếu do lỗi hệ thống hoặc thiên tai, tai nạn, hoặc do không thu thập đủ dữ liệu vì lý do thời gian, tài nguyên…) và chủ quan(Người sử dụng không cung cấp đủ thông tin yêu cầu). Tuy nhiên

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

nguyên nhân dù đến từ nguồn nào thì ta cũng phải đưa ra giải pháp cho việc xử lý dữ liệu bị thiếu, một số phương pháp có thể kể đến như:

1. Bỏ qua: Đây là giải pháp đơn giản nhất, trong đó các mẫu bị thiếu sẽ được bỏ qua trong q trình phân tích. Tuy nhiên, nếu tỷ lệ dữ liệu bị thiếu quá cao, việc bỏ qua dữ liệu sẽ dẫn đến giảm đáng kể độ chính xác và độ tin cậy của phân tích.

2. Xử lý tay (không tự động, bán tự động): Đây là phương pháp thủ cơng, trong đó người phân tích sẽ kiểm tra và điền vào các giá trị bị thiếu dựa trên kiến thức chuyên môn và thông tin khác.

3. Dùng giá trị thay thế (tự động): Đây là phương pháp sử dụng giá trị thay thế cho các giá trị bị thiếu dựa trên các thống kê như trung bình, trung vị, trị phổ biến nhất, trị dự đoán... Phương pháp này thường được sử dụng khi tỷ lệ dữ liệu bị thiếu không quá cao.

4. Ngăn chặn dữ liệu bị thiếu: Phương pháp này là việc thiết kế tốt cơ sở dữ liệu và các thủ tục nhập liệu (các ràng buộc dữ liệu), nhằm đảm bảo dữ liệu được nhập đầy đủ và chính xác từ đầu.

Xử lý dữ liệu bị nhiễu (noisy data): Là các giá trị dữ liệu bất thường hoặc sai lệch có thể ảnh hưởng đến kết quả cuối cùng. Việc xử lý dữ liệu bị nhiễu bao gồm việc loại bỏ các giá trị dữ liệu bất thường hoặc giảm thiểu tác động của dữ liệu nhiễu. Nguyên nhân gây ra dữ liệu nhiễu có thể kể đến như sự khơng nhất quán trong quy ước đặt tên hay mã dữ liệu, định dạng không nhất quán của các vùng dữ liệu, thiết bị ghi nhận dữ liệu bị lỗi

Một số phương pháp xử lý dữ liệu bị nhiễu: 1. Sử dụng các bộ siêu dữ liệu (metadata)

2. Áp dụng các ràng buộc dữ liệu (data constraints) trong cơ sở dữ liệu: Các ràng buộc này bao gồm các quy tắc và giới hạn mà các dữ liệu phải tuân thủ để đảm bảo tính nhất quán và chính xác của chúng. Ví dụ, ràng buộc kiểm tra kiểu dữ liệu (data type) đảm bảo rằng giá trị nhập vào phải tuân thủ đúng kiểu dữ liệu được định nghĩa trước đó.

3. Các nhà phân tích thực hiện kiểm tra để phát hiện các vấn đề không nhất quán trong dữ liệu: Nhà phân tích dữ liệu có thể sử dụng các kỹ thuật phân tích dữ liệu để nhận diện và sửa chữa các dữ liệu không nhất quán như trùng lặp, sai định dạng.

4. Điều chỉnh dữ liệu không nhất quán bằng tay: Điều chỉnh các quy ước đặt tên hoặc mã dữ liệu để đảm bảo nhất quán. Ví dụ, đổi tên hoặc mã dữ liệu cho phù hợp với quy ước đã được thiết lập trước đó.

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

+ Tích hợp dữ liệu: Là quá trình kết hợp dữ liệu từ các nguồn khác nhau thành một tập dữ liệu lớn hơn hoặc một kho dữ liệu duy nhất, giúp cho việc truy xuất và sử dụng dữ liệu trở nên dễ dàng hơn.

Một số vấn đề mà tích hợp dữ liệu thường gặp phải như:

1. Vấn đề nhận dạng thực thể: Trong q trình tích hợp dữ liệu từ các nguồn khác nhau, các thực thể diễn tả cùng một thực thể thực nhưng lại có các cách đặt tên khác nhau. Điều này dẫn đến khó khăn trong việc nhận dạng chính xác các thực thể tương đương nhau trong các nguồn dữ liệu khác nhau(Ví dụ: ở mức lược đồ (schema): customer_id trong nguồn S1 và cust_number trong nguồn S2 hay ở mức thể hiện (instance): “R & D” trong nguồn S1 và “Research &

Development” trong nguồn S2. “Male” và “Female” trong nguồn S1 và “Nam” và “Nữ” trong nguồn S2.)

2. Vấn đề dư thừa (redundancy): Là một vấn đề phổ biến khi tích hợp dữ liệu. Nó xảy ra khi có nhiều bản sao của cùng một thông tin trong các nguồn dữ liệu khác nhau. Khi dữ liệu được lưu trữ nhiều lần, nó khơng chỉ tốn tài ngun lưu trữ mà cịn có thể dẫn đến những vấn đề về tính nhất quán và tính chính xác của dữ liệu. Nguyên nhân của vấn đề này có thể đến từ việc tổ chức dữ liệu kém, khơng nhất qn trong việc đặt tên chiều/thuộc tính…

Giải pháp: Ta có thể sử dụng phân tích tương quan (correlation analysis) để giải quyết các dữ liệu dư thừa. Đối với các thuộc tính số (numerical attributes), ta có thể đánh giá tương quan giữa hai thuộc tính với các hệ số tương quan(chẳng hạn như hệ số tương quan Pearson). Đối với các thuộc tính rời rạc

(categorical/discrete attributes), ta có thể đánh giá tương quan giữa hai thuộc tính với phép kiểm thử (chi bình phương)

3. Vấn đề mâu thuẫn giá trị dữ liệu: Cho cùng một thực thể thật, các giá trị thuộc tính đến từ các nguồn dữ liệu khác nhau có thể khác nhau về cách biểu diễn (representation), đo lường (scaling), và mã hóa (encoding) ( Ví dụ:Mâu thuẫn do định dạng: dd/mm/yyyy và mm/dd/yyyy, mâu thuẫn do đơn vị: gram và kg, mâu thuẫn do mã hóa: “yes” và “no” với “1” và “0”.)

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

+ Chuyển đổi dữ liệu: Là quá trình thay đổi hoặc biến đổi dữ liệu từ một định dạng hoặc cấu trúc sang một định dạng hoặc cấu trúc khác mà phù hợp với mục đích sử dụng của nó.

Q trình này có thể bao gồm các bước như:

1. Làm trơn dữ liệu (smoothing): Các phương pháp binning (bin means, bin medians, bin boundaries), hồi quy, các kỹ thuật gom cụm (phân tích phần tử biên), các phương pháp rời rạc hóa dữ liệu

2. Kết hợp dữ liệu (aggregation): Các tác vụ kết hợp/tóm tắt dữ liệu, chuyển dữ liệu ở mức chi tiết này sang dữ liệu ở mức kém chi tiết hơn, hỗ trợ việc phân tích dữ liệu ở nhiều độ mịn thời gian khác nhau

3. Tổng quát hóa dữ liệu (generalization): Chuyển đổi dữ liệu cấp thấp/nguyên tố/thô sang các khái niệm ở mức cao hơn thông qua các phân cấp ý niệm 4. Chuẩn hóa dữ liệu (normalization)

5. Xây dựng thuộc tính (attribute/feature construction): Các thuộc tính mới được xây dựng và thêm vào từ tập các thuộc tính sẵn có.

+ Rút gọn dữ liệu (data reduction): thu giảm kích thước dữ liệu (nghĩa là giảm số phần tử) bằng kết hợp dữ liệu (data aggregation), loại bỏ các đặc điểm dư thừa (redundant features) (nghĩa là giảm số chiều/thuộc tính dữ liệu), gom cụm dữ liệu

Một số phương pháp rút gọn dữ liệu có thể kể đến như:

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

1. Kết hợp khối dữ liệu (data cube aggregation): là phương pháp tập trung vào các khối dữ liệu và thực hiện kết hợp các khối để giảm kích thước dữ liệu. Ví dụ: kết hợp dữ liệu bằng các hàm nhóm: average, min, max, sum, count 2. Chọn tập con các thuộc tính (attribute subset selection): là phương pháp

giảm số lượng thuộc tính trong dữ liệu bằng cách chọn một tập con các thuộc tính quan trọng nhất. Việc chọn tập con các thuộc tính này dựa trên các tiêu chí như độ quan trọng, độ tương quan giữa các thuộc tính, độ phân loại và độ phân biệt của các thuộc tính.

3. Thu giảm chiều (dimensionality reduction): là phương pháp giảm số lượng chiều của dữ liệu bằng cách giảm số lượng thuộc tính hoặc biến. Một số phương pháp thu giảm chiều có thể kể đến như biển đổi wavelet hay phân tích nhân tố chính

4. Thu giảm lượng (numerosity reduction): là phương pháp giảm số lượng phần tử của dữ liệu bằng cách kết hợp các phần tử có tính chất tương tự nhau. Một số phương pháp thu giảm lượng có thể kể đến như mơ hình ước lượng các dữ liệu, các phương pháp phi thông số…

5. Tạo phân cấp ý niệm (concept hierarchy generation): là phương pháp phân cấp các giá trị của thuộc tính thành các nhóm hoặc lớp, giúp giảm kích thước dữ liệu. phương pháp này giúp khai phá dữ liệu ở nhiều mức trừu tượng và áp dụng cho một số thuộc tính số như binning, histogram analysis, entropy-based discretization… hay thuộc tính rời rạc nhuw

categorical/discrete attribute

6. Rời rạc hóa (discretization) là q trình chuyển đổi dữ liệu liên tục thành dữ liệu rời rạc, thông thường được sử dụng để xử lý dữ liệu liên tục trong khai phá dữ liệu. Rời rạc hóa được sử dụng để giảm số chiều của dữ liệu và làm cho dữ liệu dễ dàng hiểu và xử lý. Ta có thể thực hiện rời rạc hóa dữ liệu theo hai cách: Top down và bottom up, supervised và unsupervised

<b>2.2.2 Phân lớp dữ liệu</b>

<b>2.2.2.1 Tổng quan về phân lớp dữ liệu</b>

Quá trình phân lớp dữ liệu gồm 2 bước chính:

Bước 1: Xây dựng mơ hình (hay còn gọi là giai đoạn “học” hay “tập huấn" ). Mục đích của bước này là xây dựng một mơ hình xác định một tập các lớp dữ liệu

Công đoạn này được xem là công đoạn quan trọng trong các bài toán về Machine Learning.

Dữ liệu đầu vào: là dữ liệu mẫu đã được gán nhãn và tiền xử lý. Các thuật toán phân lớp: cây quyết định, hàm số toán học, tập luật…

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

Kết quả của bước này là mô hình phân lớp đã được huấn luyện (trình phân lớp).

Quá trình phân lớp dữ liệu - Bước xây dựng mơ hình phân lớp

Bước 2: Kiểm tra và đánh giá, bước này sử dụng mơ hình phân lớp đã được xây dựng ở bước 1 vào việc phân lớp. Chia thành 2 bước nhỏ:

Bước 2.1: Đánh giá mơ hình (Kiểm tra tính đúng đắn của mơ hình)

Dữ liệu đầu vào: là một tập dữ liệu mẫu khác đã được gán nhãn và tiền xử lý. Tuy nhiên lúc đưa vào mơ hình phân lớp, ta “lờ” đi thuộc tính đã được gán nhãn.

Tính đúng đắn của mơ hình sẽ được xác định bằng cách so sánh thuộc tính gán nhãn của dữ liệu đầu vào và kết quả phân lớp của mô hình.

</div>

×