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

PHÂN TÍCH VÀ DỰ BÁO BỘ DỮ LIỆU BANKING MARKETING

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 (1.67 MB, 29 trang )

Đại học Kinh Tế TP.HCM
KHOA QUẢN TRỊ
⁂⁂⁂

BỘ MÔN
KHOA HỌC DỮ LIỆU
ĐỀ TÀI: PHÂN TÍCH VÀ DỰ BÁO BỘ DỮ LIỆU “BANKING MARKETING”
Giảng viên hướng dẫn: Trương Việt Phương
Sinh viên thực hiện:
Lớp: KHDL_S2

TP.HCM - Năm 2021


LỜI CẢM ƠN

Để hoàn thành tiểu luận này, em xin gửi lời cảm ơn chân thành đến:
Giảng viên bộ môn Khoa học dữ liệu - Thầy Trương Việt Phương đã giảng dạy tận
tình, chi tiết để em có đủ kiến thức và vận dụng chúng vào bài tiểu luận này.
Ban giám hiệu trường Đại học Kinh Tế Thành phố Hồ Chí Minh vì đã tạo điều kiện về
cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài liệu thuận lợi cho
việc tìm kiếm, nghiên cứu thơng tin.
Do chưa có nhiều kinh nghiệm làm để tài cũng như những hạn chế về kiến thức, trong
bài tiểu luận chắc chắn sẽ không tránh khỏi những thiếu sót. Rất mong nhận được sự nhận
xét, ý kiến đóng góp, phê bình từ phía thầy để bài tiểu luận được hồn thiện hơn.
Lời cuối cùng, em xin kính chúc thầy nhiều sức khỏe, thành công và hạnh phúc


MỤC LỤC



CHƯƠNG I: MỞ ĐẦU
1.1. Chọn bộ dữ liệu:

Dữ liệu “ Banking Marketing “ này liên quan đến các chiến dịch tiếp thị trực
tiếp của một tổ chức ngân hàng tại Bồ Đào Nha. Các chiến dịch tiếp thị này sẽ được
tính tốn dựa trên các cuộc gọi điện thoại đã thực hiện. Thơng thường, với một
khách hàng thì sẽ có rất nhiều liên hệ, để truy cập và tìm hiểu xem họ có đăng ký
(‘yes’) hay khơng đăng ký (‘no’) sản phẩm của ngân hàng hay không – sản phẩm ở
đây chính là việc đăng ký chính sách tiền gửi có kỳ hạn.
1.2. Mơ tả bộ dữ liệu:
1.2.1. Biến đầu vào (Input Variables):
1.2.1.1. Thuộc tính dữ liệu khách hàng (Bank Client Data):
a) Độ tuổi (Age):
- Được định dạng “Numeric”.
- Thuộc tính này nhằm xác định độ tuổi của các đối tượng được thực hiện

khảo sát.
b) Nghề nghiệp (Job):
- Được định dạng “Categorical”.
- Thuộc tính này nhằm xác định nghề nghiệp của các đối tượng được thực

hiện khảo sát. Trong đó, các loại nghề nghiệp bao gồm:



Quản trị viên (Admin)
Cơng nhân phổ thơng




(Blue-collar)
Chủ doanh nghiệp



(Entrepreneur)
Người giúp việc nhà



(Housemaid)
Nhà quản lý



(Management)
Tự do (Self-employed)

4





Dịch vụ (Services)
Học sinh (Student)
Kỹ thuật viên





(Technician)
Đã nghỉ hưu (Retired)
Thất nghiệp



(Unemployed)
Chưa xác định
(Unknown)


c) Tình trạng hơn nhân (Marital):
- Được định dạng “Categorical”.
- Thuộc tính này nhằm xác định tình trạng hơn nhân của các đối tượng được

thực hiện khảo sát. Trong đó, các loại tình trạng bao gồm:
• Đã kết hơn (Married)
• Đã ly hơn (Divorced)
• Độc thân (Single)
d) Trình độ văn hóa (Education):
- Được định dạng “Categorical”.
- Thuộc tính này nhằm xác định trình độ văn hóa của các đối tượng được

thực hiện khảo sát. Trong đó, các trình độ bao gồm:


4 năm tiểu học




(Basic.4y)
6 năm tiểu học




(Basic.6y)
Tốt nghiệp Trung học
cơ sở (Basic.9y)
Tốt ngiệp Trung học
phổ thơng (High
school)

3




Thất học (Illiterate)
Đào tạo nghiệp vụ



(Professional Course)
Tốt nghiệp đại học



(University Degree)

Chưa xác định
(Unknown)


e) Tình trạng tín dụng bị vỡ nợ (Default):
- Được định dạng “Categorical”.
- Thuộc tính này nhằm xác định tình trạng tín dụng có bị vỡ nợ hay khơng

của các đối tượng được thực hiện khảo sát. Trong đó, các tình trạng bao
gồm:



f)

Có (Yes)
Khơng (No)
Chưa xác định (Unknown)

Tình trạng nhà ở (Housing):
- Được định dạng “Categorical”.
- Thuộc tính này nhằm xác tình trạng có khoản vay nhà ở hay khơng của các
đối tượng được thực hiện khảo sát. Trong đó, các tình trạng bao gồm:
• Có (Yes)
• Khơng (No)
• Chưa xác định (Unknown)

g) Tình trạng vay nợ (Loan):
- Được định dạng “Categorical”.
- Thuộc tính này nhằm xác tình trạng có vay nợ hay không của các đối tượng


được thực hiện khảo sát. Trong đó, các tình trạng bao gồm:
• Có (Yes)
• Khơng (No)
• Chưa xác định (Unknown)
1.2.1.2. Thuộc tính liên quan đến lần liên lạc gần nhất trong chiến dịch hiện tại:
a) Liên lạc (Contact):
- Được định dạng “Categorical”.
- Thuộc tính này nhằm xác hình thức liên lạc với các đối tượng được thực

hiện khảo sát. Trong đó, các hình thức bao gồm:
• Điện thoại di động (Cellular)
• Điện thoại dây (Telephone)
b) Tháng liên lạc (Month):
- Được định dạng “Categorical”.
- Thuộc tính này nhằm xác định tháng liên lạc gần nhất trong năm của các đối

tượng được thực hiện khảo sát. Trong đó, các tháng bao gồm:

3

















Tháng 1 (Jan)
Tháng 2 (Feb)
Tháng 3 (Mar)
Tháng 4 (Apr)
Tháng 5 (May)
Tháng 6 (Jun)

Tháng 7 (Jul)
Tháng 8 (Aug)
Tháng 9 (Sep)
Tháng 10 (Oct)
Tháng 11 (Nov)
Tháng 12 (Dec)

c) Thứ trong tuần (Day of Week):
- Được định dạng “Categorical”.
- Thuộc tính này nhằm xác định thứ liên lạc gần nhất trong tuần của các đối

tượng được thực hiện khảo sát. Trong đó, các thứ bao gồm:








Thứ Hai (Mon)
Thứ Ba (Tue)
Thứ tư (Wed)

4

Thứ năm (Thu)
Thứ sáu (Fri)



d) Khoảng thời gian (Duration):
- Được định dạng “Numeric”
- Thuộc tính này nhằm xác định khoảng thời gian liên lạc gần đây nhất của
các đối tượng được thực hiện khảo sát.
 Đơn vị của khoảng thời gian: Giây (s)
 Thuộc tính này ảnh hưởng nhiều đến biến đầu ra ( Nếu ‘Duration’ mang giá trị là 0

thì biến đầu ra ‘y’=0). Khi cuộc gọi được thực hiện xong, ‘y’ sẽ được xác định.
 Thuộc tính này chỉ nên được đưa vào cho mục đích kiểm chuẩn. Cịn nếu như cho
mục đích dự đốn thực tế thì thuộc tính này nên được loại bỏ.

1.2.1.3. Các thuộc tính khác (Other Attributes):
a) Chiến dịch (Campaign):
- Được định dạng “Numeric”.
- Thuộc tính này nhằm xác định số liên hệ được thực hiện trong chiến dịch
này của các đối tượng được thực hiện khảo sát.


b) Số ngày chờ (Pdays):
Được định dạng “Numeric”.
- Thuộc tính này nhằm xác định số ngày đã trôi qua kể từ lần liên hệ cuối
được thực hiện trong chiến dịch trước của các đối tượng được thực hiện
khảo sát.
 Nếu thuộc tính này cho ra giá trị 999 nghĩa là đối tượng này chưa được liên hệ
trước đây.



c) Số liên hệ (Previous):
- Được định dạng “Numeric”.
- Thuộc tính này nhằm xác định số liên hệ được thực hiện trước chiến này

của các đối tượng được thực hiện khảo sát.

d) Kết quả chiến dịch (Poutcome):
- Được định dạng “Categorical”.
- Thuộc tính này nhằm xác định kết quả của chiến dịch tiếp thị trước đó của
các đối tượng được thực hiện khảo sát. Các kết quả bao gồm:
• Thành cơng (Success)
• Thất bại (Failure)
• Khơng tồn tại (Nonexistent)

1.2.1.4. Thuộc tính bối cảnh kinh tế, xã hội (Social and Economic Context Attributes):

a) Tỷ lệ thay đổi việc làm (Emp.var.rate):
- Được định dạng “Numeric”, giá trị này được chỉ báo hàng quý.

5



-

Thuộc tính này nhằm xác định tỷ lệ thay đổi việc làm của các đối tượng

được thực hiện khảo sát.

b) Chỉ số giá tiêu dùng (Cons.price.idx):
- Được định dạng “Numeric”, giá trị này được chỉ báo hàng tháng.
- Thuộc tính này nhằm xác định chỉ số giá tiêu dùng của các đối tượng được
thực hiện khảo sát.

c) Chỉ số niềm tin người tiêu dùng (Cons.conf.idx):
- Được định dạng “Numeric”, giá trị này được chỉ báo hàng tháng.
- Thuộc tính này nhằm xác định chỉ số niềm tin tiêu dùng của các đối tượng
được thực hiện khảo sát.

d) Lãi suất 3 tháng Euribor (Euribor3m):
- Được định dạng “Numeric”, giá trị này được chỉ báo hàng ngày.
- Thuộc tính này nhằm xác định lãi suất 3 tháng Euribor của các đối tượng
được thực hiện khảo sát

e) Số lượng nhân cơng (Nr.employed):
- Được định dạng “Numeric”, giá trị này được chỉ báo hàng quý.
- Thuộc tính này nhằm xác định số lượng nhân cơng của các đối tượng được
thực hiện khảo sát.

1.2.2. Biến đầu ra (Output Variable):
- Biến ‘y’: Khách hàng có quyết định đăng ký gửi tiền lãi có kỳ hạn hay

khơng?
- Nhị phân: ‘Yes’, ‘No’

1.3. Mục tiêu phân tích:
• Từ bộ dữ liệu “Banking Marketing” ban đầu, ta sẽ có thể tiến hành dự đoán và
phân loại xem liệu khách hàng sẽ đăng ký (‘yes’) hay không đăng ký (‘no’) gửi tiền lãi
có kỳ hạn .





• CHƯƠNG II: NỘI DUNG

• 2.1. Tiền xử lý bộ dữ liệu:



• 2.1.1. “Role” của các thuộc tính:
• Từ bộ dữ liệu “Banking Marketing” ban đầu, ta có được “Type” và “Role” của

21 thuộc tính như sau (Hình 2.1.1.a,b):



5










2.1.1.b:
Type
vàcủa
Rolecác
của
các thuộc
Hình Hình
2.1.1.a:
Type và
Role
thuộc
tính
tính









• Đến đây, ta thực hiện q trình xử lý bằng cách điều chỉnh các thuộc tính sang

“Type” và “Role” sao cho hợp lý. Cụ thể:

 Vì ở đây ta thực hiện xử lý dữ liệu nhằm mục đích dự báo cho biến đầu ra là y, cho

nên ta sẽ chuyển “Role” của thuộc tính y từ Feature => Target.
 Những thuộc tính duration, campaign, pdays, previous khơng có yếu tố ảnh
hưởng đến việc dự báo kết quả đầu ra y = có đồng ý đăng ký gửi tiền lãi có kỳ hạn
hay khơng, cho nên những thuộc tính này ta sẽ chuyển “Role” của chúng từ
Feature => Skip.
 Đối với những thuộc tính có “Type” là Categorical như contact, month, day of
week thì ta khơng cần phải chuyển đổi “Role” của chúng từ Feature => Skip. Bởi
lẽ, khi tiến hành phân cụm phân cấp, chỉ những thuộc tính Numeric sẽ được sử
dụng để tính khoảng cách giữa các cụm.

5




Kết quả ta thu được:




Hình 2.1.1.c: Kết quả xử lý “Role” của các biến thuộc tính



• 2.1.2. “Missing Value” trong bộ dữ liệu:




Hình 2.1.2.a: Chuỗi thực hiện tiền xử lý dữ liệu trên Orange
5


Hình 2.1.2.b: Qúa trình thực hiện Preprocess



• Để xử lý các mẫu có “Missing Value”, ta tiến hành thực hiện Preprocess, chọn

Impute Missing Values, sau đó chọn Average/Most frequent nhằm mục đích điền những
mẫu này bằng các giá trị trung bình hoặc các giá trị có tần số xuất hiện thường xuyên. Sau
khi thực hiện, ta có kết quả như sau:

5

















Kết quả thu được ta tiến hành lưu giữ ở định dạng

Excel, để từ đó ta tiếp tục lấy dữ liệu kết quả này tiến hành phân cụm và phân lớp.


Hình 2.1.2.c: Kết quả tiền xử lý dữ liệu

5


• 2.2. Khai thác bộ dữ liệu:
• 2.2.1. Phân cụm dữ liệu:


Sau khi xử lý xong và định dạng ở excel, ta tiếp tục

phân cụm dữ liệu từ dữ liệu đã được tiền xử lý trước đó, cụ thể:



Hình 2.2.1.a: Chuỗi thực hiện q trình phân cụm trên Orange






2.2.1.1. Phân cụm phân cấp (Hierarchical Clustering):
Ta tiến hành phân cụm phân cấp dựa vào thuật toán


Hierarchical Clustering. Sau khi chạy dữ liệu, ta có:

5





Hình 2.2.1.b: Kết quả phân cụm phân cấp trên Orange




Ở đây, tính liên kết giữa các đối tượng (Linkage), ta

sẽ sử dụng phương pháp tính tốn khoảng cách trung bình (Average). Kết quả cho thấy
được ta nên chia toàn bộ các mẫu trong bộ dữ liệu ra làm 2 phân cụm.

5




5













Hình 2.2.1.c,d,e: Bảng Silhouette Plot cho 2 phân cụm
phân cấp





Nguyên tắc: Gía trị

Silhouette nằm ở

trong khoảng từ -1

đến 1, nếu như giá trị

này càng lớn (tức

càng về gần 1) thì

kết quả phân cụm sẽ

càng tốt (càng đáng


tin cậy).



Ở đây ta có thể thấy

khi phân ra là 2 cụm,

với cụm 1 (màu

xanh) các giá trị

Silhouette của các

mẫu sẽ nằm ở trong khoảng từ 0,65 cho đến 0,85. Còn đối với cụm thứ 2 (màu đỏ) thì giá
trị này sẽ chạy trong khoảng từ 0,45 cho đến 0,75. Những khoảng này đều nằm ở trong
khoảng dương và dần về gần giá trị 1, vì vậy kết quả phân cụm như thế này là đáng tin cậy.



2.2.1.2. Phân cụm phân hoạch (Partitioning Clustering):

5




Ta tiến hành phân cụm phân hoạch dựa vào thuật tốn K-means.
Sau khi chạy dữ liệu, ta có:






Hình 2.2.1.f: Phân tích k-Means cho bộ dữ liệu









• Trong thuật tốn k-Means, ta phân tích thử xem với bộ dữ liệu này ta nên lựa chọn

phân ra làm bao nhiêu cụm là hợp lý nhất. Và để đánh giá xem phương án nào là tối ưu

5


nhất thì ta sẽ dựa vào giá trị Silhouette. Cụ thể, ta có thể thấy nếu như ta phân bộ dữ liệu
này ra làm 2,3,4,5,6,7 cụm thì giá trị Silhouette trung bình của các phân cụm đó lần lượt sẽ
là 0,296 , 0,154 , 0,161 , 0,171 , 0,171 và 0,181. Gía trị Silhouette trung bình càng lớn thì
phương án phân cụm sẽ càng đáng tin cậy.
 Vì vậy ta sẽ lựa chọn phương án phân ra làm 2 cụm.
• Đồng thời phân tích kỹ hơn về giá trị Silhouette của từng cụm của phương án chia 2

cụm này, ta có:




5




















• Ở đây ta có thể thấy khi phân ra là 2 cụm, với cụm 1 (màu xanh) các giá trị

Silhouette
ở trong
đến 0,85.

của các mẫu sẽ nằm

Hình 2.2.1.g,h,i: Bảng Silhouette Plot cho 2 phân cụm
phân hoạch

khoảng từ 0,7 cho
Còn đối với cụm

thứ 2 (màu

đỏ) thì giá trị này sẽ

chạy trong

khoảng từ 0,45 cho

đến 0,7.

Những khoảng này

đều nằm ở

trong khoảng dương

(trừ ở cụm

thứ 2 có một mẫu

có giá trị

âm) và dần về gần


giá trị 1, vì

vậy kết quả phân

cụm như thế

này là đáng tin cậy.

• Đồng

thời, tham khảo dựa

trên kinh

nghiệm của các tác

giả trong tài

liệu “Data mining

and

Predictive

analytics”

của nhà xuất bản

Wiley:


5


• Nếu điểm trung bình Silhouette từ 0,5 trở lên chứng tỏ rằng những cụm được phân ra

sát với thực tế.
• Nếu điểm trung bình Silhouette từ 0,25 đến 0,5 chứng tỏ rằng cần thêm kiến thức
chuyên môn, kinh nghiệm để dánh giá thêm khả năng phân cụm có trong thực tế.
• Nếu điểm trung bình Silhouette dưới 0,25 thì khơng nên tin tưởng cụm và cần phải đi
tìm nhiều bằng chứng khác.

 Khi phân tích đến đây, có thể thấy người thực hiện bộ dữ liệu này cần phải có thêm
nhiều chun mơn cũng như kinh nghiệm hơn nữa để giúp cho chất lượng của bộ dữ
liệu này được bảo đảm, có độ tin cậy và thực tế cao hơn.


• 2.2.2. Trích xuất dữ liệu:
• Sau khi đã tiến hành phân cụm, ta bắt đầu tiến hành trích xuất dữ liệu ra bảng dưới

định dạng excel để tiến hành phân lớp. Với mỗi đối tượng được phân cụm dựa trên 2
phương pháp phân cấp và phân hoạch này, ta đều sử dụng cơng thức của Euclidean để tính
tốn khoảng cách những điểm gần trung tâm nhất. Vì vậy khi trích xuất dữ liệu ra bảng
Data Table, ta sẽ đưa 2 đầu vào phân cụm này vào để chạy ra kết quả, cụ thể ta có:





5







Hình 2.2.2.a: Trích xuất dữ liệu đã phân cụm


• Sau đó lưu ở định dạng excel để ta tiến hành chọn 1 trong 2 cụm, tiếp tục tiến hành

thực hiện phân lớp dữ liệu 1 trong 2 cụm đó, cụ thể hơn ta sẽ lựa chọn cụm 2.

Hình 2.2.2.b: Bảng dữ liệu excel khi đã phân cụm




5




• 2.2.3. Phân lớp dữ liệu:


Sau khi tiến hành trích xuất dữ liệu ra làm 2 cụm C1

và C2, ta sử dụng dữ liệu mẫu C2 để tiến hành bắt đầu phân lớp dữ liệu




Hình 2.2.3.a: Chuỗi q trình thực hiện phân lớp trên Orange




Ở đây ta sẽ thực hiện quá trình phân lớp dựa trên 3

phương pháp: Logistic Regression, SVM và Tree. Chúng ta sẽ đánh giá xem trong 3
phương pháp này, đâu là phương pháp tốt nhất để phân lớp dữ liệu bằng việc thông qua
Text and Score. Ta có bảng sau đây:

5






Hình 2.2.3.b: Bảng đánh giá Text and Score




Ở đây ta sẽ chia nhỏ dữ liệu ra làm 5 phần (Number of folds: 5) để
tiến hành kiểm tra.

a) Chỉ số AUC:

5



-

Nguyên tắc: Gía trị này là một số dương ≤ 1. Nếu giá trị này càng lớn thì

-

mơ hình phân lớp ấy sẽ càng tốt.
Ta có thể thấy chỉ số AUC của 3 phương pháp Logistic Regression, SVM

và Tree lần lượt là 0,776; 0,685 và 0,609

b) Chỉ số CA:
- Chỉ số CA thể hiện tỷ lệ số mẫu được phân lớp đúng trong tồn bộ tập dữ
-

liệu
Ngun tắc: Gía trị này là một số dương ≤1. Nếu giá trị này càng lớn thì mơ

-

hình phân lớp ấy sẽ càng tốt.
Ta có thể thấy chỉ số CA của 3 phương pháp Logistic Regression, SVM và

Tree lần lượt là 0,789; 0,738 và 0,754.

c) Chỉ số Precision:
- Chỉ số độ chính xác (Precision) cho biết trong số m mẫu được phân vào lớp
-


i (ở trong trường hợp này là 5 lớp) thì có tỷ lệ bao nhiêu mẫu có đúng.
Ta có thể thấy chỉ số Precision của 3 phương pháp Logistic Regression,

SVM và Tree lần lượt là 0,765; 0,727 và 0,746.

d) Chỉ số Recall:
- Chỉ số độ phủ (Recall) hay còn được gọi độ nhạy (Sensitivity) hoặc TPR
-

(True Positive Rate).
Ta có thể thấy chỉ số Recall của 3 phương pháp Logistic Regression, SVM

và Tree lần lượt là 0,789; 0,738 và 0,754.

e) Chỉ số F1:
- Là chỉ số giá trị trung bình điều hịa của 2 độ đo Precision và Recall
- Ta có thể thấy chỉ số F1 của 3 phương pháp Logistic Regression, SVM và
Tree lần lượt là 0,764; 0,732 và 0,749.
 Chỉ số F1 chỉ thường được sử dụng cho phân lớp đa lớp hoặc phân lớp đa nhãn.
 Các chỉ số Precision và Recall thường được sử dụng cho phân lớp nhị phân .

f) Ma trận nhầm lẫn (Confusion Matrix):

Ở đây ta sẽ xem xét xác suất dự đốn chính xác với
thực tế của 3 phương pháp Logistic Regression, SVM và Tree. Nếu phương pháp
nào có xác suất phần tram dự đốn chính xác với thực tế (No-No; Yes-Yes) lớn hơn
thì phương án ấy sẽ tối ưu hơn. Ta có:






5


×