BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN KINH DOANH ĐỒ ÁN KẾT THÚC MÔN HỌC KHOA HỌC DỮ LIỆU Chuyên ngành Khoa Học Dữ Liệu Sinh viên thực hiện Vũ Nguyễn Năn.
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN KINH DOANH ĐỒ ÁN KẾT THÚC MÔN HỌC KHOA HỌC DỮ LIỆU Chuyên ngành: Khoa Học Dữ Liệu Sinh viên thực hiện: Vũ Nguyễn Năng Khánh - DS001 Nguyễn Minh Nhật Đồng Đan Hoài - DS001 Huỳnh Thị Cẩm Nhung - DS001 Nguyễn Phúc Hải - DS001 Khóa: K46 Giảng viên: Thầy Trương Việt Phương Tp Hồ Chí Minh, ngày 18 tháng 09 năm 2022 Giảng viên: Thầy Trương Việt Phương MỤC LỤC NỘI DUNG Phân Công Nhiệm Vụ, Tỉ Lệ Điểm Thành Viên Chọn liệu mô tả A/ Bộ liệu chọn: B/ Tóm Tắt Dữ Liệu: C/ Dataset Overview: D/ Biến phụ thuộc: 11 E/ Mục tiêu phân tích: 11 Tiền Xử Lý Dữ Liệu 13 A/ Tổng Quan Các Vấn Đề Dữ Liệu Đang Gặp Phải 13 B/ Xử Lý Dữ Liệu Bị Thiếu 13 Thực trạng: 13 Nguyên nhân: 13 Giải pháp: 13 C/ Xử Lý Dữ Liệu Bị Nhiễu 16 Thực trạng: 16 Nguyên nhân: 16 Giải pháp: 17 D/ Xử Lý Dữ Liệu Dư Thừa 17 Thực trạng: 17 Giải pháp: 17 E/ Workflow Link Python, Dataset 19 Link Orange: 19 Link Python: 19 Link liệu tiền xử lý: 19 2|Khoa học liệu Giảng viên: Thầy Trương Việt Phương Tiến Hành Phân Cụm, Chọn Số Cụm Tốt Nhất So Sánh với Nhãn Hiện Có, Nhận Xét 20 A/ Workflow Clustering 20 B/ Tiến hành phân cụm 20 C/ Chọn Số Phân Cụm Tốt Nhất Giải Thích 25 Phân cụm theo phương pháp Hierarchical Clustering (Agnes Dendrogram): 25 Phân cụm theo phương pháp Partitioning Clustering (K-means): 27 D/ So Sánh Với Nhãn Hiện Có Và Nhận Xét: 29 E/ Link Orange file Excel: 32 Tiến Hành Phân Lớp, Dự Báo Từ 10% Dữ Liệu từ Bộ Dữ Liệu Phân Lớp 33 A/ Đánh Giá Lựa Chọn Mơ Hình Phân Lớp 33 B/ Mơ Hình Mạng Neuron 37 Khái niệm: 37 Cách thức hoạt động: 38 Dự đoán phân lớp so sánh kết dự đoán với liệu ban đầu 40 C/ Workflow, code Python (link Colab) 41 D/ Data 42 Phụ Lục 43 A/ Tài liệu tham khảo: 43 3|Khoa học liệu Giảng viên: Thầy Trương Việt Phương MỤC LỤC HÌNH ẢNH Hình 1 Năm dịng đầu DataFrame Hình Kích cỡ DataFrame Hình Mơ tả liệu Hình 10 Hình Dữ liệu nhà có 100 phòng tắm 10 Hình Diện tích nhà 10 Hình Giá thuê nhà theo thành phố 11 Hình Code Python thống kê phần trăm liệu bị thiếu thuộc tính 13 Hình 2 14 Hình 14 Hình Sử dụng Orange để tính Mean, Median cho thuộc tính BHK 15 Hình Biểu đồ cho thấy biến không hợp lý 16 Hình 17 Hình 17 Hình Thống kê liệu dư thừa 17 Hình Sử dụng Orange để loại bỏ thuộc tính Have Bathroom 18 Hình 10 18 Hình 11 Workflow 19 Hình Workflow 20 Hình Nhập file liệu vào Orange chọn Area Type làm Target 20 Hình 3 21 Hình 22 Hình 23 Hình Dùng Orange tính Distance sử dụng chuẩn hóa Euclid 23 Hình 24 Hình 25 Hình 25 Hình 10 Đánh giá Silhouette Plot Hierarchical Clustering 26 Hình 11 Đánh giá Silhouette Scores K-means 27 Hình 12 Silhouette Index 28 4|Khoa học liệu Giảng viên: Thầy Trương Việt Phương Hình 13 Dataset thể đánh giá Silhouette score cho liệu sau phân cụm theo thuật toán K-means 29 Hình 14 29 Hình 15 Công thức thay giá trị Area Type theo phân cụm 30 Hình 16 Bảng Excel sau thay giá trị theo phân cụm 30 Hình 17 Công thức so sánh nhãn dự báo 30 Hình 18 Bảng Excel sau so sánh 31 Hình 19 Cơng thức tính số giá trị giống khác 31 Hình Đọc file liệu vào phần mềm Orange 33 Hình Bảng liệu chi tiết 34 Hình Bảng tham số mơ hình định 34 Hình 4 Tham số mơ hình hồi quy Logistics 35 Hình Tham số mơ hình Random Forest 35 Hình Tham số mơ hình Support Vector Machine (SVM) 36 Hình Tham số mơ hình Neural Network 36 Hình Bảng kết đánh giá mơ hình 37 Hình Cơng thức Mơ hình mạng Neuron 38 Hình 10 Cơng thức Mơ hình mạng Neuron 38 Hình 11 Mơ hình mạng Neuron 39 Hình 12 Bảng Excel so sánh với liệu có nhãn 40 Hình 13 Workflow 41 Hình 14 Code Python lấy ngẫu nhiên 10% liệu 41 5|Khoa học liệu Giảng viên: Thầy Trương Việt Phương LỜI CẢM ƠN Trong thời đại nay, tồn liệu điều quan trọng W Edwards Deming có câu nói: "In God we trust; all others must bring data." (Chúng ta tin vào Chúa, tất thứ lại phải đem đến liệu cho chúng ta) Sự bùng nổ mặt thông tin lại khiến cho mức độ quan trọng tăng cao Gần hoạt động người cần đến liệu từ việc mua sắm, khám bệnh, việc quan trọng định kinh doanh cần có liệu Vì thế, nhóm chúng em làm đồ án kết thúc môn học với mục đích liệu để so sánh kết dự báo thông qua phương pháp học so với liệu thực tế Trong q trình làm đồ án mơn học cịn hạn chế, sai sót, chưa tối ưu hóa mặt kiến thức, kỹ xử lý liệu hay lập trình Chúng em mong nhận lời nhận xét từ thầy hướng dẫn để cải thiện Đặc biệt nhóm xin chân thành gửi lời cảm ơn đến thầy Ths.Trương Việt Phương hỗ trợ, giúp đỡ, bảo chúng em mặt kiến thức mặt kỹ cần thiết môn học để thực Đồ án kết thúc môn Khoa học liệu Chúng em xin chân thành cảm ơn Sinh viên, Nguyễn Phúc Hải 6|Khoa học liệu Giảng viên: Thầy Trương Việt Phương Phân Công Nhiệm Vụ, Tỉ Lệ Điểm Thành Viên Thành Viên Nhiệm Vụ, Phân Công Tỉ Lệ Điểm Thành Viên Vũ Nguyễn Năng Khánh Chọn dataset, tiền xử lý liệu, phân lớp liệu so sánh 10% liệu 20% Nguyễn Minh Nhật Chọn dataset, tiền xử lý liệu, phân lớp liệu so sánh 10% liệu 20% Đồng Đan Hoài Chọn dataset, mô tả data + thống kê, phân cụm 20% Huỳnh Thị Cẩm Nhung Chọn dataset, mục tiêu phân tích, phân cụm, hồn thiện file Docs đồ án 20% Nguyễn Phúc Hải Chọn dataset, tiền xử lý liệu, phân cụm, hoàn thiện file Docs đồ án 20% 7|Khoa học liệu Giảng viên: Thầy Trương Việt Phương Chọn liệu mô tả A/ Bộ liệu chọn: House Renting B/ Tóm Tắt Dữ Liệu: Dữ liệu thu thập bao gồm 4746 dòng với biến “Area Type” biến phụ thuộc Mô tả biến: o Posted On: Dữ liệu ghi vào ngày tháng năm o BHK: Tổng số phòng ngủ, sảnh, phòng bếp (Numeric) o Rent: Giá cho thuê nhà / hộ (Numeric) o Size: Kích thước nhà / hộ tính theo Square Feet (1 square feet = 0.0929 mét vuông) o Floor: Nhà/Căn hộ nằm tầng tổng số tầng có (Ground out of 2, out of 1, out of 3, …) -> biến skip metadata o Area Type: Kích thước Nhà/Căn hộ tính tốn dựa diện tích xây dựng (Super Area) hay diện tích thơng thủy (Carpet Area) hay diện tích Tim tường (Build Area) o Area Locality: Vị trí Nhà/Căn hộ -> biến skip metadata o City: Nhà/Căn hộ thành phố (biến có giá trị: Kolkata, Delhi, Hyderabad, Bangalore, Chennai, Mumbai) o Furnishing Status: Tình trạng nội thất Nhà/Căn hộ (biến có giá trị: Furnished, Semi – Furnished, Unfurnished) o Tenant Preferred: Người thuê ưu tiên/hưởng ưu đãi (biến có giá trị: Bachelors, Family, Bachelors/Family) o Bathroom: Số lượng phòng tắm (Numeric) o Point of Contact: Liên hệ với để biết thêm thông tin Nhà/Căn hộ (biến có giá trị: Contact Owner, Contact Builder, Contact Agent) o Have Bathroom: = có phòng tắm 8|Khoa học liệu Giảng viên: Thầy Trương Việt Phương C/ Dataset Overview: Bộ liệu khảo sát tình trạng thuê nhà Ấn Độ giai đoạn tháng (Từ ngày 13/4/2022 đến 11/7/2022) Lấy năm dịng DataFrame Hình 1 Năm dịng đầu DataFrame Xem kích cỡ DataFrame( gồm có 4746 dịng 13 cột) Hình Kích cỡ DataFrame DataFrame gồm có 13 thuộc tính kiểu liệu định lượng(int64) 13 kiểu liệu định tính(object) Mơ tả liệu: Hình Mơ tả liệu 9|Khoa học liệu Giảng viên: Thầy Trương Việt Phương Dữ liệu nhà có giá cao nhất: Hình Hình Dữ liệu nhà có 100 phịng tắm Diện tích nhà: Hình Diện tích nhà 10 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương Hình 13 Dataset thể đánh giá Silhouette score cho liệu sau phân cụm theo thuật toán K-means D/ So Sánh Với Nhãn Hiện Có Và Nhận Xét: Mở file House_Renting_Clean_2 dùng để phân cụm phương pháp K-means Ghi liệu Area Type từ file House_Renting_Clean để so sánh với Cluster Hình 14 29 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương Thực hàm excel để xem biến Area Type thay đổi sau phân cụm: Hình 15 Công thức thay giá trị Area Type theo phân cụm Ta kết quả: Hình 16 Bảng Excel sau thay giá trị theo phân cụm Tới thấy có số khác biệt nhãn có nhãn sau phân cụm phương pháp K-means Tiếp theo ta sử dụng hàm excel để so sánh nhãn có nhãn sau phân cụm: Hình 17 Công thức so sánh nhãn dự báo 30 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương Ta kết quả: Hình 18 Bảng Excel sau so sánh Sau ta đếm giá trị TRUE VÀ FALSE để xem có giá trị giống khác hàm excel: Hình 19 Cơng thức tính số giá trị giống khác Ta thu số giá trị TRUE là: 2779 giá trị FALSE là: 1967 Nhận xét: Trong thuật toán K-means clustering, nhãn (label) điểm liệu Mục đích làm thể để phân liệu thành cụm (cluster) khác cho liệu cụm có tính chất giống Sau q trình phân cụm có vài giá trị “Carpet Area” “Super Area” có nhiều điểm chung với nên ta gộp chúng lại chung cụm “C1” “C2” Chính vậy, có khác rõ rệt nhãn có nhãn sau phân cụm - Trước phân cụm, ta có tổng số giá trị “Super Area” 2446 “Carpet Area” 2300 - Sau phân cụm thực số hàm excel trên, ta có tổng số giá trị “Super Area” 3625 “Carpet Area” 1125 Tương ứng với cụm 3625 cụm 1125 31 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương E/ Link Orange file Excel: File liệu sau phân cụm: House_Renting_Clean_2 File liệu sau so sánh nhãn: House_Renting_Clean_3 File Orange phân cụm: Clustering 32 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương Tiến Hành Phân Lớp, Dự Báo Từ 10% Dữ Liệu từ Bộ Dữ Liệu Phân Lớp A/ Đánh Giá Lựa Chọn Mơ Hình Phân Lớp Đầu tiên, file liệu đọc vào phần mềm Orange biến Area type chọn để làm biến target cho trình phân lớp Hình bên cho ta thấy tổng quan liệu đầu vào mà ta xử lý Hình Đọc file liệu vào phần mềm Orange 33 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương Ta bảng liệu sau: Hình Bảng liệu chi tiết Từ bảng liệu, mơ hình phân lớp khác thử nghiệm đánh giá để chọn mơ hình tốt Chi tiết tham số cho mơ sau: Hình Bảng tham số mơ hình định 34 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương Hình 4 Tham số mơ hình hồi quy Logistics Hình Tham số mơ hình Random Forest 35 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương Hình Tham số mơ hình Support Vector Machine (SVM) Hình Tham số mơ hình Neural Network 36 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương Sau đó, với mơ hình, ta kiểm tra đánh giá, kết đạt sau: Hình Bảng kết đánh giá mơ hình Dựa vào kết test and score từ phần mềm Orange, thấy thuật tốn với số đánh giá cao Mạng Nơron - Neural Network: 0.86 AUC, 0.804 CA, 0.803 F1, 0.807 Precision 0.804 Recall Vì nhóm định chọn sử dụng mơ hình Neural Network để tiến hành phân lớp B/ Mơ Hình Mạng Neuron - Khái niệm: Mạng nơ-ron, gọi mạng nơ-ron nhân tạo (ANN) mạng nơ-ron mơ (SNN), mơ hình quản lý thông tin vận hành cách mô lại hệ thống thần kinh sinh học não cách tế bào thần kinh hoạt động để hiểu đầu vào từ giác quan người Mạng Nơron xây dựng từ nút nơron kết nối nút này, Mỗi nút đại diện cho hàm đầu cụ thể kết nối nút đại diện cho mức độ ảnh hưởng nút lên nút xung quanh gán trọng số tương ứng Chính vậy, kết đầu mạng Nơron nhân tạo phụ thuộc vào cách mà nút mạng kết nối trọng số tương ứng với kết nối Mạng Nơron ứng dụng nhiều lĩnh vực đa dạng như: phân loại chữ số viết tay, nhận dạng giọng nói dự đốn giá cổ phiếu, xếp hạng tín dụng, phân tích hành vi khách hàng, hỗ trợ định, dự đoán tỷ giá hối đoái lãi suất, Ưu điểm mạng Nơron nhân tạo khả xấp xỉ hàm phi tuyến, nhờ phát mối liên hệ phức tạp ẩn liệu Tuy nhiên, hiệu mạng Nơron nhân 37 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương tạo lại phụ thuộc nhiều vào cấu trúc mạng mà việc tìm cấu trúc tối ưu thường phức tạp tốn nhiều tài nguyên - Cách thức hoạt động: Mỗi nút Nơron xem mơ hình hồi quy tuyến tính riêng biệt, bao gồm liệu đầu vào, trọng số, độ lệch (hoặc ngưỡng) đầu Hình Cơng thức Mơ hình mạng Neuron Hình 10 Cơng thức Mơ hình mạng Neuron Khi lớp đầu vào xác định, trọng số định Các trọng số giúp xác định tầm quan trọng biến định nào, với biến lớn đóng góp đáng kể vào đầu so với đầu vào khác Tất đầu vào sau nhân với trọng số tương ứng chúng sau cộng lại với Sau đó, đầu chuyển qua hàm kích hoạt hàm xác định đầu Nếu đầu vượt ngưỡng định, kích hoạt nút truyền liệu đến lớp mạng Điều dẫn đến kết đầu nút trở thành đầu vào nút 38 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương Hình 11 Mơ hình mạng Neuron 39 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương - Dự đoán phân lớp so sánh kết dự đoán với liệu ban đầu Trích 10% data (476 rows) từ data tiền xử lý (4744 rows) để dự đoán (đã skip cột Area Type) Sau so sánh với liệu có nhãn, ta nhận 83% tỷ lệ xác Một tỷ lệ xác cao chấp nhận Hình 12 Bảng Excel so sánh với liệu có nhãn 40 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương C/ Workflow, code Python (link Colab) Hình 13 Workflow Hình 14 Code Python lấy ngẫu nhiên 10% liệu 41 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương D/ Data Dữ liệu predict: Prediction.xlsx - Google Trang tính Dữ liệu tiền xử lý: happiness_cleaned.xlsx - Google Trang tính Dữ liệu trích 20%: Sample.xlsx - Google Trang tính 42 | K h o a h ọ c d ữ l i ệ u Giảng viên: Thầy Trương Việt Phương Phụ Lục A/ Tài liệu tham khảo: https://scikit-learn.org/stable/auto_examples/cluster/plot_linkage_comparison.html https://stats.stackexchange.com/questions/195446/choosing-the-right-linkagemethod-for-hierarchical-clustering https://nlp.stanford.edu/IR-book/completelink.html Slide giảng phân cụm https://www.kaggle.com/datasets/iamsouravbanerjee/house-rent-predictiondataset?fbclid=IwAR1oPJHTh0r_XRDVnBOvSozqYAAUDP5hm1AednbTlPc GERFmWTZsqyn-jJY 43 | K h o a h ọ c d ữ l i ệ u ... Tiền Xử Lý Dữ Liệu A/ Tổng Quan Các Vấn Đề Dữ Liệu Đang Gặp Phải - Dữ liệu bị thiếu - Dữ liệu bị nhiễu - Dữ liệu dư thừa B/ Xử Lý Dữ Liệu Bị Thiếu Hình Code Python thống kê phần trăm liệu bị thiếu... tính kiểu liệu định lượng(int64) 13 kiểu liệu định tính(object) Mơ tả liệu: Hình Mơ tả liệu 9 |Khoa học liệu Giảng viên: Thầy Trương Việt Phương Dữ liệu nhà có giá cao nhất: Hình Hình Dữ liệu nhà... tiền xử lý liệu, phân cụm, hoàn thiện file Docs đồ án 20% 7 |Khoa học liệu Giảng viên: Thầy Trương Việt Phương Chọn liệu mô tả A/ Bộ liệu chọn: House Renting B/ Tóm Tắt Dữ Liệu: Dữ liệu thu thập