



















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Phân lớp: Mall Customers Phân cụm: Cardiovascular Disease Khoa CNTT trường Đại học mở Hà Nội
Typology: Assignments
1 / 27
This page cannot be seen from the preview
Don't miss anything!
Thành viên nhóm 9: Giảng viên: Hà Nội, Ngày 22 Tháng 10 Năm 2024
1. Thành viên nhóm, nhiệm vụ các thành viên 2. Bài toán A. Phân lớp Phân lớp (classification) là một trong những kỹ thuật phổ biến và quan trọng nhất trong khai phá dữ liệu (data mining). Nó thuộc loại bài toán học có giám sát (supervised learning), mục tiêu là phân loại các đối tượng vào những nhóm hay lớp khác nhau dựa trên một số đặc điểm hoặc thuộc tính đã cho. Vấn đề: Phân lớp là bài toán tìm một hàm ánh xạ từ tập các đối tượng (dữ liệu đầu vào) sang một tập hữu hạn các lớp (nhãn). Mỗi đối tượng được mô tả bởi một vector đặc trưng (feature vector), và nhiệm vụ là xác định nhãn phù hợp cho đối tượng đó. Tập dữ liệu: · Dữ liệu huấn luyện (Training data): Đây là tập dữ liệu mà mỗi đối tượng (bản ghi) đã được gắn nhãn. Tập này được sử dụng để "dạy" mô hình học phân lớp. · Dữ liệu kiểm thử (Testing data): Tập dữ liệu được sử dụng để đánh giá hiệu quả của mô hình đã học, kiểm tra xem mô hình có phân loại đúng không. Các phương pháp: · Cây quyết định (Decision Tree): Là mô hình phân lớp dựa trên cấu trúc cây, trong đó mỗi nút là một quyết định về thuộc tính của dữ liệu. · Naive Bayes: Dựa trên định lý Bayes, giả định rằng các thuộc tính là độc lập với nhau. Các bước trong quá trình phân lớp: 1. Tiền xử lý dữ liệu: Làm sạch và chuẩn bị dữ liệu, xử lý các giá trị thiếu, chuẩn hóa hoặc chuẩn hoá các thuộc tính để đảm bảo dữ liệu phù hợp cho mô hình. 2. Lựa chọn đặc trưng (Feature Selection): Chọn những đặc trưng quan trọng có ảnh hưởng lớn đến quá trình phân loại để giảm thiểu độ phức tạp và cải thiện hiệu quả. 3. Huấn luyện mô hình (Model Training): Dùng dữ liệu huấn luyện để dạy mô hình học cách phân lớp. 4. Đánh giá mô hình (Model Evaluation): Sử dụng các tiêu chí đánh giá như độ chính xác (accuracy), độ nhạy (recall), độ đặc hiệu (specificity) để kiểm tra chất lượng mô hình.
· Age (Tuổi): Kiểu số nguyên, có thể giúp xác định các nhóm khách hàng có độ tuổi tương đồng, từ đó phân tích xem tuổi có ảnh hưởng đến hành vi mua sắm hay không. · Annual Income (k$): Thu nhập hàng năm của khách hàng, yếu tố quan trọng để phân nhóm khách hàng có mức sống và khả năng chi tiêu tương ứng. · Spending Score (1-100): Mức chi tiêu (đánh giá khả năng tiêu dùng của khách hàng), thường dựa trên hành vi mua sắm và sự hài lòng của khách hàng.
2. Tiền xử lý dữ liệu Dữ liệu bài toán không có dữ liệu bị thiếu nên không cần xử lý bước này. Dữ liệu minh hoạ chưa tiền xử lý A. Giới tính (Gender) Thuộc tính giới tính có thể có 2 giá trị là Male và Female. Tức là thuộc tính này đã được rời rạc hoá (kiểu thuộc tính là Nominal). Nên không cần xử lý. Giới tính Nam chiếm 88 bản ghi Giới tính Nữ chiếm 112 bản ghi B. Tuổi (Age) Thuộc tính tuổi có các giá trị kiểu Số (Numeric) từ 18 đến 70 tuổi. Tuổi trung bình là 38.85 tuổi
Xử lý: Chuyển dữ liệu từ kiểu Numeric sang kiểu Nominal · Chia tuổi thành 3 nhóm tuổi riêng biệt: [18-35], (35-53], (53-70] (cách chia: các nhóm có độ dài gần bằng nhau) · Đặt tên cho mỗi nhóm tuổi lần lượt là: thanh_nien, trung_nien, cao_tuoi để dễ nhận biết · Kết quả sau khi chia có 98 bản ghi là thanh_nien, 66 bản ghi là trung_nien và có 36 bản ghi là cao_tuoi C. Thu nhập hàng năm (Annual Income) Thuộc tính này có các giá trị kiểu Số từ 15 đến 137 k$. Thu nhập hàng năm trung bình là 60.56 k$. Xử lý: Chuyển dữ liệu từ kiểu Numeric sang kiểu Nominal · Chia thu nhập hàng năm thành 3 khoảng sau: [15-56], (56-96], (96- 137] (cách chia: tương tự như chia thuộc tính Age) · Đặt tên cho mỗi nhóm lấn lượt là: tn_thap, tn_trung_binh, tn_cao · Kết quả sau khi chia có 86 bản ghi là tn_thap (tn là thu nhập), 94 bản ghi là tn_trung_binh và 20 bản ghi là tn_cao D. Mức chi tiêu (Spending Score) Thuộc tính này là thuộc tính để phân lớp có các giá trị kiểu Số từ 1 đến 99.
Dữ liệu minh hoạ sau tiền xử lý
3. Lựa chọn phương pháp Cả 2 phương pháp Naïve Bayes và ID3 Decision Tree (cây quyết định) đều có thể sử dụng cho dữ liệu vừa được tiền xử lý. Mỗi phương pháp đều có ưu và nhược điểm riêng. A. Naive Bayes Ưu điểm: Dữ liệu trong các thuộc tính nếu độc lập thì giúp mô hình đơn giản hơn Nhược điểm: Cho kết quả kém khi dữ liệu không thực sự độc lập B. Cây quyết định Ưu điểm: Dữ liệu không nhất thiết là độc lập với nhau, có thể tạo biểu đồ quyết định mà có thể dễ dàng diễn giải so với Naive Bayes Nhược điểm: Có thể dễ bị overfitting, hiệu suất có thể giảm khi kích thước dữ liệu lớn hoặc khi có nhiều thuộc tính Lựa chọn phương pháp Naive Bayes để xây dựng mô hình dễ dung hơn: Do dữ liệu đã tiền xử lý thành các dữ liệu độc lập (Nominal) và có khá nhiều thuộc tính (4 thuộc tính). 4. Kết quả Sử dụng Weka để hỗ trợ việc xây dựng mô hình A. Tranning set Mô hình thu được sau khi Tranning là:
Mô hình Tranning Đánh giá mô hình Tranning: · Giới tính (Gender): o Male: Ở mct (mức chi tiêu) thấp và cao có số lượng tương đương nhau là 25 mẫu. Còn mct trung bình thì chiếm số lượng cao nhất là 41 mẫu. o Female: Giới tính nữ ở mct trung bình chiếm 55 mẫu cao nhất trong 3 mct. Còn ở mct thấp thì chỉ chiếm 26 mẫu (thấp nhất). Có nhiều khách hàng giới tính cả nam cả nữ chiếm phần lớn đều chi tiêu ở mức trung bình · Tuổi (Age): o Thanh niên: Có 40 và 48 mẫu ở mct trung bình và cao. Còn ở mct thấp chỉ có 13 mẫu. o Trung niên: Có 27 và 31 mẫu ở mct thấp và trung bình. Chỉ có 11 mẫu ở mct cao. o Cao tuổi: Có 31 mẫu chi tiêu ở mức trung bình và chỉ có 1 mẫu chi tiêu ở mức cao. Thanh niên chi tiêu hầu hết ở mức trung bình và cao. Còn Trung niên và Cao tuổi thì phần lớn chi tiêu ở mức thấp vào trung bình. · Thu nhập hàng năm: o Thấp: Thu nhập thấp phần lớn chi tiêu ở mức trung bình còn chi tiêu ở mức cao và thấp thì ngang nhau.
· Precision: o Mức chi tiêu thấp: 66.7% mẫu dự đoán dương tính thật trên tổng số dự đoán dương tính o Mức chi tiêu trung bình: 50% o Mức chi tiêu cao: 42.1% · Recall: o Mức chi tiêp thấp: 37.5% mẫu dự đoán dương tính thật trên tổng số mẫu dương tính thật o Mức chi tiêu trung bình: 64% o Mức chi tiêu cao: 42.1% C. Kết luận Mô hình dự đoán cho kết quả khá thấp (50%). Do khi tiền xử lý dữ liệu chưa được tốt khi phân các thuộc tính thành các nhóm chưa hợp lý. Để cải thiện kết quả trên cần phải chi lại các thuộc tính thành các khoảng khác. Ví dụ chia như sau: · Tuổi: · Thu nhập hàng năm: · Mức chi tiêu:
Visualize của các thuộc tính sau khi chia như trên Kết quả tốt hơn trước (47 mẫu đoán đúng: đạt 78.3%) khi test 60 mẫu trên
1. Mô tả bài Cardiovascular Disease Bài toán phân cụm trong dữ liệu liên quan đến bệnh tim mạch (Cardiovascular Disease) sẽ tập trung vào việc nhóm các bệnh nhân dựa trên các đặc điểm nhân khẩu học và y tế, nhằm tìm ra các nhóm bệnh nhân có đặc điểm tương tự nhau. Việc phân cụm này có thể giúp hiểu sâu hơn về nhóm nguy cơ, đặc điểm hành vi hoặc sinh lý của các bệnh nhân, từ đó hỗ trợ đưa ra các quyết định y tế chính xác hơn.
· ap_hi : Huyết áp tâm thu (Systolic blood pressure). Thấp nhất là - (giá trị không thực tế, cần được xử lý) và cao nhất là 16020 (giá trị cũng không thực tế) · ap_lo : Huyết áp tâm trương (Diastolic blood pressure). Thấp nhất là -70 (giá trị không thực tế, cần được xử lý) và cao nhất là 11000 (giá trị cũng không thực tế) · cholesterol : Mức cholesterol trong máu (1: Bình thường, 2: Cao, 3: Rất cao). Chiếm lần lượt là 75%, 14%, 11% · gluc : Mức glucose trong máu (1: Bình thường, 2: Cao, 3: Rất cao). Chiếm lần lượt là 85%, 7%, 8% · smoke : Bệnh nhân có hút thuốc hay không? (0: Không, 1: Có).
· alco : Bệnh nhân có uống rựu hay không? (0: Không, 1: Có). · active : Bệnh nhân có hoạt động thể chất hay không? (0: Không, 1: Có). · cardio : Nhãn mục tiêu, biểu thị có bệnh tim mạch không? (0: Không, 1: Có).
2. Tiền xử lý dữ liệu Dùng python để tiền xử lý dữ liệu Dữ liệu minh hoạ chưa tiền xử lý Các thư viện cần dùng: numpy
B. Bỏ các giái trị ngoại lệ Sử dụng phương pháp lấy ngưỡng dưới là 10% và ngưỡng trên là 90% vùng tứ phân vị để lọc dữ liệu của cột height, weight, ap_lo và ap_hi. Bỏ các mẫu mà có ap_lo > ap_hi vì điều này không chính xác về mặt y khoa. Sau khi lọc thì dữ liệu từ 70000 bản ghi giảm xuống còn 300 bản ghi. Vùng chiều cao giao động từ 55-250cm thành 156-174cm Vùng cân nặng giao động từ 10-200kg thành 60-91kg
Vùng huyết áp tâm thu (ap_hi) giao động từ -150-16020 thành 112- Vùng huyết áp tâm trương (ap_lo) giao động từ -70-11000 thành 81- Dữ liệu đã sạch hơn trước khá nhiều C. Chuyển đổi dữ liệu Cột age đang ở đơn vị là ngày (khó quan sát và không khái quát). Do đó, cần chuyển cột age sang đơn vị là năm Dữ liệu sau khi chuyển thì mẫu có tuổi thấp nhất là 39, cao nhất là 64 tuổi