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ứ
Trang 1Ạ Ọ
TR ƯỜ NG CÔNG NGH VÀ THIẾẾT KẾẾ Ệ KHOA CÔNG NGH THÔNG TIN KINH DOANH Ệ
DỰ ÁN CUỐI KÌ MÔN KHOA HỌC DỮ LIỆU
Đề 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ềm Orange
Nhóm 2: Trần Ngọc Mỹ Anh
Lê Trần Yến My Đinh Quang Tiến Nguyễn Quang Thắng Nguyễn Ngọc Hoàn Vũ
31211023415 31211027273 31211027339 31211027329 3121102117 HP: 23D1INF50905923
P: Khoa học dữ liệu
viên: Đặng Ngọc Hoàng Thành
Trang 2Mục lục
Phụ lục 1
CHƯƠNG 1: TỔNG QUAN 1
1.1 Tổng quan về bài toán phân lớp dữ liệu 1
1.2 Giới thiệu về Python và phần mềm Orange 1
1.3 Lý do lựa chọn đề tài 1
CHƯƠNG 2 CÁC MÔ HÌNH PHÂN LỚP DỮ LIỆU 1
2.1 Các Mô Hình Phân Lớp Dữ Liệu 1
2.1.1 Mô hình Logistic Regression 1
2.1.2 Mô hình decision tree 1
2.1.3 Mô Hình Support Vector Machine 1
2.2 Quy trình phân lớp dữ liệu 1
2.2.1 Tiền xử lý dữ liệu 1
2.2.2 Phân lớp dữ liệu 1
2.2.3 Đánh giá tính hiệu quả 1
CHƯƠNG 3 CÁC KẾT QUẢ THỰC NGHIỆM 1
3.1 Bộ dữ liệu 1
3.1.1 Mô tả dữ liệu 1
3.1.2 Làm sạch dữ liệu 1
3.2 Các kết quả thực nghiệm 1
3.2.1 Xây dựng mô hình 1
3.2.2 Sử dụng mô hình 1
3.2.3 Kết quả dự báo 1
3.3 Phân tích và đánh giá 1
3.3.1 Phân tích dựa trên ma trận nhầm lẫn(Confusion Matrix) 1
3.3.2 Phân tích dựa trên ROC analysis 1
3.3.3 Lựa chọn mô hình 1
CHƯƠNG 4 KẾT LUẬN 1
4.1 Các kết quả đạt được 1
4.2 Những hạn chế và hướng phát triển 1
TÀI LIỆU THAM KHẢO 1
Trang 3Phụ lục Link file Orange + Dữ liệu đã xử lý:
https://drive.google.com/drive/folders/1V8RiDeIYliNp33tRKnqxWMSLZapqDC7o?fbclid=IwAR2dXL0RlnFCQC5QPW3E1usWG9LWLm7Jk84RCxD87gld3nmtT4R95DtQChk
Link Dữ liệu Kaggle:
https://www.kaggle.com/datasets/subhamjain/loan-prediction-based-on-customer-behavior
Trang 4LỜI CẢM ƠN
Đầ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
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
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 hoàn thiện hơn
Trang 5CHƯƠNG 1: TỔNG QUAN
1.1 Tổng quan về bài toán phân lớp dữ liệu
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ạngnơ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êncứ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 Quá trìnhgán nhãn (thuộc lớp nào) cho đối tượng dữ liệu chính là quá 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àyhô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áchhà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ự đoán có thể dự đoá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ề thuthập và nghề nghiệp của khách hàng
1.2 Giới thiệu về Python và phần mềm Orange
Python là ngôn ngữ lập trình máy tính bậc cao thường được sử dụng để xâydự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ềuchương trình khác nhau và không chuyên 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 giaodiệ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ântí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ườidù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ếthợ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ử
Trang 6nghiệ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ệnlõ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:
Data: dùng để rút trích, biến đổi, và nạp dữ liệu (ETL process).
Trang 7Visualize: dùng để biểu diễn biểu đồ (chart) giúp quan sát dữ liệu được tốt hơn.
Model: gồm các hàm machine learning phân lớp dữ liệu, có cả Neural Network gồm
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
Trang 8Evaluate: các phương pháp đánh giá mô hình máy học.
Unsupervised: gồm các hàm machine learning gom nhóm dữ liệu.
1.3 Lý do lựa chọn đề tài
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ủacá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ânhà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
Trang 9nhiê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
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ềm Orange”.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
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ệclà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ệuLoan Prediction là rất cần thiết và hữu ích trong thời điểm hiện tại
CHƯƠNG 2 CÁC MÔ HÌNH PHÂN LỚP DỮ LIỆU
2.1 Các Mô Hình Phân Lớp Dữ Liệu
2.1.1 Mô hình Logistic Regression
2.1.1.1 Định nghĩa
Hồi quy logistic là một kỹ thuật phân tích dữ liệu sử dụng toá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ự đoán giá trị của những yếu tố đó dựa trên yếu tố còn lại Dự đoá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 chuyên sâu này để phân tích dự đoán nhằm giảm chi phí hoạt động, tăng độ hiệu quả và đổi chỉnh quy mô nhanh hơn
2.1.1.2 Thuật toán:
Đối với bài toán phân lớp
Tập nhãn y y y1, 2, ,yn
với n là số lớpMột đối tượng dữ liệu x x x1, 2, ,xd với d là thuộc tính của mỗi dòng dữ liệu và được biểu diễn dưới dạng vector
Hàm logistic (0 1 1 2 2 )
1( 1)
(1 ) w w x w x w x d d
P y
e dự đoán đối tượng xem đối tượng x
sở hữu các thuộc tính cụ thể sẽ thuộc vào lớp y nào
Trong đó:
d là số lượng đặc trưng (thuộc tính) của dữ liệu,
Trang 10w 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
phù hợp
0
d
i i i
- 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
- 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)
2.1.2 Mô hình decision tree
2.1.2.1 Khái niệm:
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
.
x0 x 1x 2 xd
w0 w1 w2 wd
0 1
Trang 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útgố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 đó
2.1.2.2.Thuật toán CLS
Thuật toán CLS được thiết kế theo chiến lược chia để trị từ trên xuống Nó gồmcá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 mang giá trị:
● “yes” thì gán nhãn cho nút T là “yes” và dừng lại T lúc này là nútlá
● “no” thì gán nhãn cho nút T là “no” và dừng lại T lúc này là nút lá
3 Trường hợp ngược lại các mẫu của tập huấn luyện thuộc cả hai lớp “yes” và
● 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
2.1.2.3.Thuật toán ID3
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 quá 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)
Trang 12begin
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 Vend
Trang 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
2.1.3 Mô Hình Support Vector Machine
2.1.3.1.Khái niệm
SVM là một thuật toá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
Margin
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ânlớp sai (misclassfication) đói với điểm dữ liệu mới đưa vào
Trang 14Support vectors
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
2.1.3.2 Thuật toán
Số chiều của không gian bài toá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
Trang 15Phươ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 bT 0 và giá trị margin = w
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:
Trang 162.2 Quy trình phân lớp dữ liệu
2.2.1 Tiền xử lý dữ liệu
Khái niệm: Là quá trình xử lý dữ liệu thô/gốc (raw/original data)( có thể có
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 toà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 quán : 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
Các bước tiền xử lý dữ liệu:
+ 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) Quá trình này có thể bao gồm các công việc sau:
Tóm tắt hoá dữ liệu: Là quá 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
Trang 17nguyê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 quá 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ị thaythế 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ấtquá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 đó
Trang 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 quá 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ựcthể 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 nguyên 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 quán 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ảiquyế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”.)
Trang 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ó.
Quá 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êntố/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)
Một số phương pháp rút gọn dữ liệu có thể kể đến như:
Trang 201 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à quá 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
2.2.2 Phân lớp dữ liệu
2.2.2.1 Tổng quan về phân lớp dữ liệu
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ệuCô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…
Trang 21Kế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