Bài toán 1: Phát hi n các đ c đi m đ c thù liên quan đ n kh năng tham gia ho c không ệm về phân lớp dữ liệu ặc điểm đặc thù liên quan đến khả năng tham gia hoặc không ểm đặc thù liên qua
Trang 1ĐẠI HỌC UEH TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ KHOA CÔNG NGHỆ THÔNG TIN KINH DOANH
****************
ĐỒ ÁN CUỐI KỲ MÔN: KHOA HỌC DỮ LIỆU
ĐỀ TÀI 7: DỰ ĐOÁN KHẢ NĂNG THAM DỰ BUỔI TẬP LUYỆN CỦA THÀNH VIÊN CÂU LẠC BỘ FITNESS Ở CANADA DỰA TRÊN CÁC CÔNG CỤ
KHOA HỌC DỮ LIỆU CỦA ORANGE
GVHD: ThS.GVC Đặng Ngọc Hoàng Thành Lớp HP: 24D1INF50905919 - CT4 - B2-507
Thành phố Hồ Chí Minh, tháng 5 năm 2024
Trang 2MỤC LỤC
N i dung ội dung
BIÊN B N PHÂN CÔNG VÀ ĐÁNH GIÁ THÀNH VIÊN NHÓM ẢN PHÂN CÔNG VÀ ĐÁNH GIÁ THÀNH VIÊN NHÓM 1
DANH M C HÌNH NH ỤC HÌNH ẢNH ẢN PHÂN CÔNG VÀ ĐÁNH GIÁ THÀNH VIÊN NHÓM 2
DANH M C B NG BI U ỤC HÌNH ẢNH ẢN PHÂN CÔNG VÀ ĐÁNH GIÁ THÀNH VIÊN NHÓM ỂU 4
L I C M N ỜI CẢM ƠN ẢN PHÂN CÔNG VÀ ĐÁNH GIÁ THÀNH VIÊN NHÓM ƠN 5
CH ƯƠN NG 1: T NG QUAN ỔNG QUAN 6
1.1 T ng Quan V Bài Toán Phân L p D Li u ổng Quan Về Bài Toán Phân Lớp Dữ Liệu ề Bài Toán Phân Lớp Dữ Liệu ớp Dữ Liệu ữ Liệu ệu 6
1.1.1 Khái ni m v phân l p d li u ệm về phân lớp dữ liệu ề phân lớp dữ liệu ớp dữ liệu ữ liệu ệm về phân lớp dữ liệu 6
1.2 Gi i Thi u V Python và Ph n M m Orange ớp Dữ Liệu ệu ề Bài Toán Phân Lớp Dữ Liệu ần Mềm Orange ề Bài Toán Phân Lớp Dữ Liệu 7
1.2.1 Gi i thi u Python: ớp dữ liệu ệm về phân lớp dữ liệu 7
1.2.2 Gi i thi u ph n m m Orange: ớp dữ liệu ệm về phân lớp dữ liệu ần mềm Orange: ề phân lớp dữ liệu 7
1.3 Lý Do Ch n L a Đ Tài ọn Lựa Đề Tài ựa Đề Tài ề Bài Toán Phân Lớp Dữ Liệu 10
1.4 M c tiêu nghiên c u ục tiêu nghiên cứu ứu 10
1.5 Đ i t ối tượng và phạm vi nghiên cứu ượng và phạm vi nghiên cứu ng và ph m vi nghiên c u ạm vi nghiên cứu ứu 11
CH ƯƠN NG 2: CÁC MÔ HÌNH PHÂN L P D LI ỚP DỮ LIỆ Ữ LIỆ ỆU 11
2.1 Các Mô Hình Phân L p D Li u ớp Dữ Liệu ữ Liệu ệu 11
2.1.1 Mô Hình Logistic Regression 11
2.1.2 Mô Hình Support Vector Machine 14
2.1.3 Mô Hình Neural Network 18
2.1.4 Mô hình kNN (K-nearest neighbor) 21
2.2 Quy trình phân l p d li u ớp Dữ Liệu ữ Liệu ệu 23
2.2.1 Ti n x lý d li u ề phân lớp dữ liệu ử lý dữ liệu ữ liệu ệm về phân lớp dữ liệu 23
2.2.2 Phân L p D Li u ớp dữ liệu ữ liệu ệm về phân lớp dữ liệu 24
2.2.3 Đánh Giá Tính Hi u Qu ệm về phân lớp dữ liệu ả 25
CH ƯƠN NG 3: QUY TRÌNH TH C HI N VÀ CÁC K T QU TH C NGHI M ỰC HIỆN VÀ CÁC KẾT QUẢ THỰC NGHIỆM Ệ ẾT QUẢ THỰC NGHIỆM ẢN PHÂN CÔNG VÀ ĐÁNH GIÁ THÀNH VIÊN NHÓM ỰC HIỆN VÀ CÁC KẾT QUẢ THỰC NGHIỆM Ệ 29
3.1 B d li u ộ dữ liệu ữ Liệu ệu 29
3.1.1 Mô t d li u ả ữ liệu ệm về phân lớp dữ liệu 29
3.1.2 Ti n x lý d li u ề phân lớp dữ liệu ử lý dữ liệu ữ liệu ệm về phân lớp dữ liệu 31
3.2 Các k t qu th c nghi m ết quả thực nghiệm ả thực nghiệm ựa Đề Tài ệu 36
3.2.1 Bài toán 1: Phát hi n các đ c đi m đ c thù liên quan đ n kh năng tham gia ho c không ệm về phân lớp dữ liệu ặc điểm đặc thù liên quan đến khả năng tham gia hoặc không ểm đặc thù liên quan đến khả năng tham gia hoặc không ặc điểm đặc thù liên quan đến khả năng tham gia hoặc không ến khả năng tham gia hoặc không ả ặc điểm đặc thù liên quan đến khả năng tham gia hoặc không tham gia t p luy n c a thành viên câu l c b Fitness d a vào l ệm về phân lớp dữ liệu ạc bộ Fitness dựa vào lược đồ và các công cụ thống kê ộ Fitness dựa vào lược đồ và các công cụ thống kê ựa vào lược đồ và các công cụ thống kê ược đồ và các công cụ thống kê c đ và các công c th ng kê ồ và các công cụ thống kê ụ thống kê ống kê .36
3.2.2 Bài toán 2: D đoán kh năng tham d t p luy n c a thành viên câu l c b Fitness Canada ựa vào lược đồ và các công cụ thống kê ả ựa vào lược đồ và các công cụ thống kê ệm về phân lớp dữ liệu ạc bộ Fitness dựa vào lược đồ và các công cụ thống kê ộ Fitness dựa vào lược đồ và các công cụ thống kê ở Canada (Bài toán phân l p) ớp dữ liệu 42
3.3 Phân tích và đánh giá: 44
3.3.1 Phân tích d a trên Test and Score ựa vào lược đồ và các công cụ thống kê 44
3.3.2 Phân tích d a trên Confusion Matrix ựa vào lược đồ và các công cụ thống kê 45
3.3.3 Phân tích d a trên ROC Analysis ựa vào lược đồ và các công cụ thống kê 48
Trang 33.3.4 L a ch n mô hình ựa vào lược đồ và các công cụ thống kê ọn mô hình 49
CH ƯƠN NG 4: K T LU N ẾT QUẢ THỰC NGHIỆM ẬN 49
4.1 Các k t qu đ t đ ết quả thực nghiệm ả thực nghiệm ạm vi nghiên cứu ượng và phạm vi nghiên cứu 49 c 4.2 H n ch trong d án ạm vi nghiên cứu ết quả thực nghiệm ựa Đề Tài 50 4.3 H ướp Dữ Liệu ng phát tri n d án ển dự án ựa Đề Tài 50
TÀI LI U THAM KH O Ệ ẢN PHÂN CÔNG VÀ ĐÁNH GIÁ THÀNH VIÊN NHÓM 52
Trang 4BIÊN BẢN PHÂN CÔNG VÀ ĐÁNH GIÁ THÀNH VIÊN NHÓM
● Bìa báo cáo, danh mục bảng biểu, hình ảnh, mục lục
● Chương 1: 1.3, 1.4, 1.5
● Chương 2: 2.1.4, 2.2.1
● Chương 4: 4.1 4.2.2
100%
Trang 5DANH MỤC HÌNH ẢNH
Hình 1 Giao diện của Data, Visualize, Model trong Orange 8
Hình 2 Giao diện của Evaluate trong Orange 9
Hình 3 Giao diện của Unsupervised và Add ons trong Orange 9
Hình 4 Hồi quy Logistic 11
Hình 5 Giao diện mô hình Logistic Regression 13
Hình 6 Trực quan mô hình SVM 14
Hình 8 Trực quan mô hình SVM 14
Hình 9 Trực quan mô hình SVM 15
Hình 10 Bảng điều chỉnh tham số của mô hình SVM 16
Hình 11 Bảng điều chỉnh tham số của mô hình Neural Network 20
Hình 12 Bảng điều chỉnh tham số của mô hình kNN 22
Hình 13 Tổng quan tiền xử lý dữ liệu 24
Hình 14 Toàn bộ quy trình thực hiện 29
Hình 15 Biểu diễn trực quan dữ liệu và các thông số thống kê bằng công cụ Feature Statistics 31
Hình 16 Biểu diễn biến days_before bằng công cụ Distribution 32
Hình 17 Biểu diễn biến day_of_week bằng công cụ Distribution……….32
Hình 18 Biểu diễn biến category bằng công cụ Distribution 33
Hình 19 Biểu diễn attended bằng biểu đồ Box Plot 34
Hình 20 Gộp giá trị bằng công cụ Edit Domain 34
Hình 21 Công cụ Select Rows 35
Hình 22 Xử lý dữ liệu thiếu bằng Impute 36
Hình 23 Các phương pháp biểu diễn dữ liệu trực quan trong bài 37
Hình 24 Tỷ lệ tham gia tập luyện theo số tháng làm thành viên câu lạc bộ 37
Hình 25 Tỷ lệ tham gia tập luyện theo cân nặng các thành viên câu lạc bộ 38
Hình 26 Tỷ lệ tham gia tập luyện dựa trên thứ ngày trong tuần và thời điểm trong ngày 39
Hình 27 Tỷ lệ tham gia tập luyện dựa trên loại hình tập 40
Hình 28 Tỷ lệ tham gia tập luyện theo số ngày bắt đầu lớp học 40
Hình 29 Tỷ lệ tham gia tập luyện dựa trên cân nặng và loại bài tập 41
Hình 30 Công cụ Data Sampler chia dữ liệu huấn luyện và dự báo 42
Hình 31 Mô hình phân lớp và dự báo 43
Hình 32 Kết quả Test and Score 44
Hình 33 Confusion Matrix với mô hình kNN 45
Hình 34 Confusion Matrix với mô hình Logistic Regression 46
Hình 35 Confusion Matrix với mô hình SVM 46
Hình 36 Confusion Matrix với mô hình Neural Network 47
Hình 37 Đồ thị biểu diễn đường cong ROC với giá trị biến Target là 1 48
Hình 38 Kết quả dự báo 49
Trang 7DANH MỤC BẢNG BIỂU
Bảng 1: Ưu và khuyết điểm mô hình Logistic Regression 13
Bảng 2: Ưu và khuyết điểm mô hình SVM 18
Bảng 3: Ưu và khuyết điểm mô hình Neural Network 21
Bảng 4: Ưu và khuyết điểm của mô hình kNN 23
Bảng 5: Tổng hợp 3 trạng thái Underfitting, Overfitting và Good fittin 26
Bảng 6 Mô tả dữ liệu các biến có trong dataset 31
Trang 8LỜI CẢM ƠN
Kính gửi Thầy Đặng Ngọc Hoàng Thành,
Nhóm chúng em xin gửi lời cảm ơn chân thành nhất đến Thầy vì đã dành thờigian và tâm huyết để truyền đạt kiến thức của môn Khoa Học Dữ Liệu cho chúng emtrong suốt học kỳ vừa qua Thầy là người thầy rất tận tâm và nhiệt tình, luôn sẵn sànggiải đáp các thắc mắc của chúng em và hướng dẫn chúng em hiểu bài tập một cách chitiết và rõ ràng nhất Mỗi buổi học của Thầy đều là một trải nghiệm quý giá, đem lạicho chúng em không chỉ kiến thức mà còn cả những kinh nghiệm thực tế trong lĩnhvực Khoa Học Dữ Liệu Không chỉ giáo dục, Thầy còn truyền cả niềm đam mê và sựsay mê cho môn học này cho chúng em, khiến cho chúng em luôn có động lực để họctập và phát triển bản thân hơn
Chúng em sẽ mãi nhớ và trân trọng những kiến thức và kinh nghiệm mà Thầy đãtruyền đạt cho chúng em trong suốt thời gian qua Chúng em sẽ cố gắng áp dụngnhững kiến thức này vào thực tế và phát triển bản thân một cách tốt nhất
Một lần nữa, nhóm em xin chân thành cảm ơn Thầy Đặng Ngọc Hoàng Thành vìnhững gì Thầy đã làm cho chúng em Chúc Thầy luôn mạnh khỏe và thành công trong
sự nghiệp giáo dục của mình
Trang 9CHƯƠNG 1: TỔNG QUAN1.1 Tổng Quan Về Bài Toán Phân Lớp Dữ Liệu
1.1.1 Khái niệm về phân lớp dữ liệu
Phân lớp dữ liệu là quá trình phân loại một đối tượng dữ liệu vào một hay nhiềulớp (loại) đã cho trước nhờ một mô hình phân lớp (model) Quá trình này còn đượcgọi là gán nhãn cho đối tượng dữ liệu
Dựa vào số lớp cho sẵn khi tiến hành phân loại đối tượng dữ liệu, bài toán đượcchia thành các loại chủ yếu sau:
- Phân lớp nhị phân (binary classification): là bài toán gán nhãn dữ liệu cho đốitượng vào 1 trong 2 lớp khác nhau (đã cho trước) dựa vào việc dữ liệu đó có haykhông có các đặc trưng (feature) của phân lớp đã cho
- Phân lớp đa lớp: là quá trình gán nhãn dữ liệu cho đối tượng vào nhiều hơn 2lớp đã cho
Hoặc cũng có thể phân loại theo số lớp mà mỗi đối tượng dữ liệu thuộc về nhưsau:
- Phân lớp đơn nhãn: Mỗi đối tượng dữ liệu chỉ thuộc về 1 lớp duy nhất
- Phân lớp đa nhãn: Một đối tượng dữ liệu có thể cùng lúc thuộc về nhiều lớpkhác nhau
Kỹ thuật phân lớp (Classification), cùng với kỹ thuật gom cụm (Clustering) là hai
kỹ thuật quan trọng trong lĩnh vực khai phá dữ liệu (Data Mining) nói riêng và Khoahọc dữ liệu (Data Science) nói chung
Phân lớp dữ liệu có nhiều ứng dụng trong đời sống, đặc biệt là trong lĩnh vực kinh
tế như dự báo giá chứng khoán, đánh giá rủi ro tài chính để cho vay, dự báo xuhướng, dự báo hành vi mua hàng, phát hiện email spam,
Trang 101.2 Giới Thiệu Về Python và Phần Mềm Orange
1.2.1 Giới thiệu Python:
Python là một ngôn ngữ lập trình phổ biến được phát hành vào năm 1991 Pythonđược sử dụng rộng rãi trong phát triển web (phía máy chủ), phát triển phần mềm, toánhọc và viết kịch bản hệ thống Ngoài ra Python có thể được sử dụng để tạo ra các ứngdụng web, kết nối với các hệ thống cơ sở dữ liệu, đọc và chỉnh sửa tệp, xử lý dữ liệulớn và thực hiện các phép toán phức tạp
Python được đánh giá là dễ đọc, dễ học, dễ nhớ và hoạt động trên nhiều nền tảngkhác nhau như Windows, Mac, Linux, Raspberry Pi, Ngôn ngữ này có cú pháp đơngiản giống như tiếng Anh, cho phép các nhà phát triển viết chương trình với ít dònglệnh hơn so với một số ngôn ngữ lập trình khác Python chạy trên hệ thống thông dịch,
có nghĩa là mã có thể được thực thi ngay khi nó được viết, điều này giúp việc tạo mẫunhanh chóng Python là ngôn ngữ được dùng để lập trình xây dựng nên Orange
1.2.2 Giới thiệu phần mềm Orange:
Orange là công cụ phân tích dữ liệu và trực quan hóa mã nguồn mở với giao diệndựa trên hệ thống widgets cho phép người dùng thực hiện phân tích dữ liệu mà khôngcần viết code Người dùng có thể dễ dàng kết nối các widgets lại với nhau để tạo racác luồng xử lý dữ liệu (workflows) mạnh mẽ, giúp thực hiện phân tích từ đơn giảnđến phức tạp một cách trực quan Giao diện thân thiện và hỗ trợ tích hợp với Python,Orange cho phép người dùng mở rộng các chức năng của nó thông qua việc viết scripthoặc tải các gói bổ sung Điều này mang lại sự linh hoạt tối đa cho người dùng trongviệc tùy chỉnh và mở rộng công cụ theo nhu cầu cụ thể của dự án Một số tính nănghữu ích của Orange như:
- Đọc và hiển thị dữ liệu: Orange có thể đọc dữ liệu từ nhiều nguồn khác nhau vàhiển thị chúng dưới dạng bảng
- So sánh các thuật toán máy học: Orange cho phép người dùng so sánh hiệu suấtcủa nhiều thuật toán máy học khác nhau
- Trực quan hóa dữ liệu: Orange cung cấp nhiều công cụ để trực quan hóa dữliệu, giúp người dùng hiểu rõ hơn về dữ liệu của mình
Trang 11- Lựa chọn thuộc tính đặc điểm của dữ liệu: Orange giúp người dùng lựa chọnnhững thuộc tính quan trọng nhất trong dữ liệu của họ.
- Huấn luyện dữ liệu để dự đoán: Orange cho phép người dùng huấn luyện môhình dựa trên dữ liệu hiện có để dự đoán kết quả trong tương lai
- Xử lý dữ liệu lớn (Big Data) với Spark: Orange hỗ trợ xử lý dữ liệu lớn, giúpngười dùng khai thác thông tin từ dữ liệu lớn
- Xử lý ảnh với Deep Learning: Orange cung cấp các công cụ để xử lý và phântích ảnh bằng Deep Learning
- Xử lý văn bản và phân tích mạng xã hội: Orange cung cấp các công cụ để xử lývăn bản và phân tích mạng xã hội
Người dùng có thể dễ dàng kết nối các widgets lại với nhau để tạo ra các luồng xử
lý dữ liệu (workflows) mạnh mẽ, giúp thực hiện phân tích từ đơn giản đến phức tạpmột cách trực quan Các widgets này bao gồm một loạt các công cụ từ nhập dữ liệu,tiền xử lý, phân tích thống kê, phân loại, clustering, đến trực quan hóa dữ liệu
- Data: Dùng để rút trích, biến đổi, và nạp dữ liệu (ETL process)
- Visualize: dùng để biểu diễn biểu đồ (chart) giúp quan sát dữ liệu được tốt hơn
Trang 12- Model: gồm các hàm máy học (machine learning) phân lớp dữ liệu với Tree, Logistics Regression, SVM,
Hình 1 Giao diện của Data, Visualize, Model trong Orange
- Evaluate: Là các phương pháp đánh giá mô hình như : Test&Score, Prediction, Confusion
Hình 2 Giao diện của Evaluate trong Orange
Trang 13Hình 3 Giao diện của Unsupervised và Add ons trong Orange
- Unsupervised: Gồm các hàm máy học (machine learning) gom nhóm dữ liệunhư: Distance, K-means,
- Add ons: Giúp mở rộng các chức năng nâng cao như xử lý dữ liệu lớn (BigData) với Spark, xử lý ảnh với Deep learning, xử lý văn bản, phân tích mạng xã hội, Đây có lẽ là điểm cộng của Orange so với các phần mềm khai phá dữ liệu khác
1.3 Lý Do Chọn Lựa Đề Tài
Cùng với đà phát triển của kinh tế- xã hội, nhu cầu luyện tập thể dục thể thao cũngđang dần tăng lên Đặc biệt, sau khi trải qua bối cảnh đại dịch COVID-19, vấn đềnhân loại quan tâm nhiều nhất là sức khỏe Theo quan điểm chung, sự phát triển bềnvững của mỗi quốc gia phụ thuộc chủ yếu vào chất lượng nguồn nhân lực Một quốcgia không thể phát triển nếu người dân không có sức khỏe Có lẽ vì đó mà lĩnh vựcFitness đang có xu hướng phát triển mạnh mẽ, mang đến nhiều tác động tốt đến sứckhỏe tinh thần, thể chất
Orange là một công cụ phân tích dữ liệu rất đáng tin cậy đã được nhiều tổ chức vàdoanh nghiệp tin dùng Orange cung cấp các thông tin và thuật toán cho việc khám
Trang 14phá và phân tích dữ liệu một cách hiệu quả, với khả năng tự động hóa và phân tích dữliệu một cách hiệu quả, phần mềm Orange đã đem đến những lợi ích nhất định trongviệc dự đoán gian lận trong giao dịch tài chính Việc áp dụng các công cụ dữ liệu củaphần mềm Orange không chỉ góp phần trong việc tăng cường khả năng xử lý các tập
dữ liệu phức tạp và tìm ra các mẫu ẩn trong dữ liệu mà con người có thể bỏ qua, màcòn góp phần trong việc tối ưu hóa quá trình quản lý rủi ro và bảo vệ nguồn vốn chocác tổ chức tài chính
Đề tài “Dự đoán khả năng tham dự buổi tập luyện của thành viên câu lạc bộ
Fitness ở Canada dựa trên các công cụ Khoa học dữ liệu của phần mềm Orange”
có thể được xem là đề tài mang tính cấp thiết và tiềm năng Việc nghiên cứu khôngchỉ đóng góp vào việc nâng cao chất lượng cuộc sống mà còn có thể dự đoán và đápứng nhu cầu tương lai của thị trường
1.4 Mục tiêu nghiên cứu
Mục tiêu của nghiên cứu về chủ đề "Dự đoán khả năng tham dự buổi tập luyện
của thành viên câu lạc bộ Fitness ở Canada dựa trên các công cụ Khoa học dữ liệu của phần mềm Orange" có thể được xác định như sau :
1 Xây dựng một mô hình dự đoán khả năng tham dự buổi tập luyện dựa trên cáccông cụ dữ liệu của phần mềm Orange
2 Sử dụng dữ liệu từ các buổi tập luyện để huấn luyện mô hình và xác định cácyếu tố quyết định việc tham dự
3 Thử nghiệm và đánh giá hiệu suất của mô hình dự đoán
4 Đề xuất các biện pháp phòng ngừa và giảm thiểu khả năng không tham dựluyện tập dựa trên kết quả nghiên cứu
1.5 Đối tượng và phạm vi nghiên cứu
sử dụng các giao dịch tài chính
Bộ dữ liệu gồm: 1500 dòng dữ liệu
Trang 15CHƯƠ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
Hồi quy Logistic ( Logistic Regression ): là một mô hình xác suất dự đoán giá trịđầu ra rời rạc từ một tập các giá trị đầu vào ( biểu diễn dưới dạng vector) Đây 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 giúp dự đoán giá trị của yếu tố này dựa trên yếu tố còn lại và thường cho ra kếtquả hữu hạn(có hoặc không)
Hình 4 Hồi quy Logistic
Mô hình Logistic Regression trong Orange thực hiện một số bước tiền xử lý dữliệu theo thứ tự:
- Loại bỏ các trường hợp có giá trị mục tiêu không xác
định
- Chuyển đổi các biến phân loại
- Loại bỏ các cột trống
- Điền các giá trị bị thiếu với giá trị trung bình
Bên cạnh đó mô hình Logistic Regression còn cho phép thực hiện các điều chỉnhtham số:
Trang 16- Regularization là một kỹ thuật quan trọng trong học máy, giúp ngăn chặn hiệntượng overfitting - khi mô hình quá khớp với dữ liệu huấn luyện và không thể tổngquát hóa tốt trên dữ liệu mới Có hai loại regularization phổ biến là L1 (Lasso) - thêmvào hàm mất mát một thành phần tỷ lệ với tổng giá trị tuyệt đối của các trọng số,trường hợp này trọng số bị đưa về 0 và L2 (Ridge) - thêm vào hàm mất mát mộtthành phần tỷ lệ với tổng bình phương của các trọng số, trường hợp này trọng số phảinhỏ và gần với 0, không đưa về 0
- Strength: Tham số này kiểm soát mức độ regularization Nếu C càng lớn, môhình sẽ càng ít bị regularize (trọng số về 0), tức là mô hình sẽ cố gắng phù hợp hơnvới dữ liệu huấn luyện, có thể dẫn đến overfitting nếu C quá lớn và ngược lại
- Balance class distribution: Tham số quyết định cách xử lý mất cân bằng dữ liệugiữa các lớp Khi dữ liệu của bạn bị mất cân bằng (tức là một số lớp có nhiều mẫu hơncác lớp khác), việc kích hoạt tính năng này sẽ cố gắng tăng trọng số cho các mẫuthuộc lớp thiểu số và giảm trọng số cho các mẫu thuộc lớp đa số
Hình 5 Giao diện mô hình Logistic Regression
Ưu điểm và khuyết điểm của mô hình Logistic Regression:
- Đơn giản, dễ hiểu và dễ tiếp cận cho
người mới
- Chỉ hoạt động cho các tác vụ phân loại,không phù hợp cho các tác vụ hồi quy
Trang 17hoặc phân loại đa lớp.
- Dựa vào giả định về dữ liệu, nếu giả định này không đúng, hiệu suất của mô hình có thể bị ảnh hưởng
- Nếu mô hình được huấn luyện trên mộttập dữ liệu lớn với nhiều biến độc lập, hồi quy Logistic có thể dễ dàng bị overfitting
- Có thể bị ảnh hưởng bởi các giá trị ngoại lai hoặc dữ liệu thiếu
Bảng 1: Ưu và khuyết điểm mô hình Logistic Regression
2.1.2 Mô Hình Support Vector Machine
Mô Hình Support Vector Machine (SVM) là một thuật toán có giám sát, SVMnhận dữ liệu vào, xem chúng như những vector trong không gian và phân loại chúngvà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ềuchiều làm mặt phân cách các lớp dữ liệu
Trang 18Hình 7 Trực quan mô hình SVMCác tham số trong SVM
- Các vectơ hỗ trợ (Support Vectors): Một điểm trong không gian véc tơ có thểđược coi là một véctơ từ gốc tọa độ tới điểm đó Các điểm dữ liệu nằm trên hoặc gầnnhất với siêu phẳng được gọi là véc tơ hỗ trợ, chúng cách đều siêu phẳng, ảnh hưởngđến vị trí và hướng của siêu phẳng Các véctơ này được sử dụng để tối ưu hóa
“margin” và nếu xóa các điểm này, vị trí của siêu phẳng sẽ thay đổi
- 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 ứngvới hai phân lớp
Hình 8 Trực quan mô hình SVM
Trang 19- Multi-class SVM: Phân lớp đa lớp (biên giữa các lớp là tuyến tính)
- Kernel SVM: Dữ liệu là phi tuyến
GIới thiệu mô hình SVM trong phần mềm Orange
Hình 9 Bảng điều chỉnh tham số của mô hình SVM
1 Name: đặt tên bất kì cho mô hình Tên mặc định là phiên bản SVM
2 SVM Type với cài đặt kiểm tra lỗi SVM và ν-SVM dựa trên sự giảm thiểukhác nhau của hàm lỗi Ở bên phải, bạn có thể đặt giới hạn lỗi kiểm tra:
Trang 20số liên quan là:
- Hằng số:
+ g: hằng số gamma trong hàm kernel (giá trị được đề xuất là 1 / k, trong đó k là
số lượng thuộc tính, nhưng vì có thể không có training set nào được cung cấp chowidget, mặc định là 0 và người dùng phải tự thiết lập lựa chọn),
+ c: hằng số được mặc định 1.00
- Hàm chỉ định:
+ Linear (Kernel tuyến tính): sử dụng khi dữ liệu có thể phân chia tuyến tính+ Polynomial (Kernel đa thức): sử dụng khi dữ liệu không thể phân chia tuyếntính và có thể được chuyển đổi thành một không gian cao hơn để phân chia
+ RBF Kernel (hàm cơ sở cực đại Gaussian): là một ví dụ về kernel hàm cơ sởcực đại, được sử dụng rộng rãi trong SVM Kernel này được sử dụng để giải quyết cácvấn đề phân lớp phi tuyến tính
Trang 21+ Sigmoid (Kernel hàm cơ sở mũ): Sử dụng để giải quyết các vấn đề phi tuyếntính, tương tự như RBF kernel.
4 Optimization Parameters
- Numerical Tolerance: đặt độ lệch cho phép so với giá trị mong đợi
- Iteration Limit: đánh dấu tick vào ô cạnh để đặt số lần lặp tối đa được phép
5 Nhấp vào Apply sau khi thay đổi Nếu bạn đánh dấu vào ô bên trái nút Apply,
các thay đổi sẽ được tự động
Ưu điểm và khuyết điểm của mô hình SVM:
- 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 toá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
- Chưa thể hiện tính xác suất trong phân lớp
Bảng 2: Ưu và khuyết điểm mô hình SVM
2.1.3 Mô Hình Neural Network
Giới thiệu:
Neural Network là một mô hình tính toán được lấy cảm hứng
từ cách hoạt động của não bộ người và động vật, bắt chước cách
tế bào thần kinh sinh học truyền tín hiệu cho nhau Nói cách khác,đây còn được xem là hệ thống của các tế bào thần kinh nhân tạo.Mục đích của Neural Network là giúp máy tính có thể tự động học các mẫu và quyluật từ dữ liệu đầu vào, từ đó có thể đưa ra kết quả tốt nhất mà không cần phải thiết kếlại những tiêu chí đầu ra
Trang 22Neural Network là sự kết hợp của những tầng perceptron.
Cấu trúc:
Input: Đây là tập hợp các biến đầu vào của mạng, được sử dụng để huấn luyện hoặc
dự đoán cho mô hình mạngneuron, thường được biểu diễndưới dạng vector
Output: Đây là kết quả mà mô
hình mạng neuron sinh ra sau khi
xử lý các biến đầu vào Đầu ra cóthể là một giá trị số hoặc mộtvector
Hidden Layers: Đây là tầng nằm ở
giữa, thể hiện cho quá trình xử lýthông tin và suy luận của mạng Nó sẽ nhận các thông tin đầu vào ở đầu vào và trả kếtquả ở đầu ra thông qua chức năng kích hoạt
=> Mỗi một Neural Network chỉ có duy nhất 1 tầng vào và 1 tầng ra nhưng lại cónhiều tầng ẩn
Phạm vi sử dụng: Neural Network thường được sử dụng trong các lĩnh vực tàichính, giao dịch, kinh doanh: lập kế hoạch cho doanh nghiệp, bảo trì sản phẩm, tiếpthị, đánh giá rủi ro, Mạng Nowrron còn được áp dụng rất phổ biến để phân biệt sựphụ thuộc giữa các phi tuyến lẫn nhau của đầu vào Đây là điểm đặc biệt mà các môhình phân tích kĩ thuật khác không thể đáp ứng được
Trang 23Giới thiệu mô hình Neural Network trong phần mềm Orange
Hình 10 Bảng điều chỉnh tham số của mô hình Neural Network
1 Name: một tên mà nó sẽ xuất hiện trong các widget khác Tên mặc định:Neural Network
2 Đặt tham số mô hình:
lượng nơ-ron trong lớp ẩn thứ i Ví dụ, mạng nơ ron có 3 lớp có thể định nghĩa là2,3,2
- Chức năng kích hoạt cho lớp ẩn:
+ Danh tính: kích hoạt no-op, hữu ích để thực hiện nút cổ chai tuyến tính+ Logistic: hàm sigmoid logistic
+ tanh: hàm tang hyperbol
+ ReLu: hàm đơn vị tuyến tính được chỉnh lưu
+ L-BFGS-B: một trình tối ưu hóa trong họ phương pháp gần như Newton+ SGD: giảm độ dốc ngẫu nhiên
+ Adam: trình tối ưu hóa dựa trên độ dốc ngẫu nhiên
○ Alpha: Tham số phạt L2 (thuật ngữ chính quy)
○ Số lần lặp tối đa: số lần lặp tối đa
Trang 24- Các tham số khác được đặt thành mặc định của sklearn
- Khi hộp được đánh dấu ( Tự động áp dụng ), tiện ích sẽ tự động thông báo các thay đổi Ngoài ra, hãy nhấp vào Áp dụng
Ưu điểm và khuyết điểm của mô hình Neural Network:
- Dễ thích ứng với nhiều loại thông số
và yêu cầu dữ liệu
- Khả năng học tập và điều chỉnh, có
thể phát hiện bất kì mối quan hệ
phức tạp nào giữa đầu vào và đầu ra
- Linh hoạt: Có thể được áp dụng cho
các bài toán phân loại, đánh giá,
định giá
- Khả năng xử lí thông tin phi cấu trúc
- Có độ khả năng xử lý và phân tích
dữ liệu với độ chính xác cao
- Có tốc độ xử lý nhanh hơn so với kĩ
thuật truyền thống
- Khó để lập mô hình phân tích
- Chiếm tài nguyên máy tính cao
- Tương đối khó hiểu
- Dễ bị overfitting khi không đượcđiều chỉnh cẩn thận
Bảng 3: Ưu và khuyết điểm mô hình Neural Network
2.1.4 Mô hình kNN (K-nearest neighbor)
Tiện ích kNN sử dụng thuật toán kNN để tìm kiếm K điểm dữ liệutrong training set gần nó nhất (K-lân cận) và sử dụng mức trung bìnhcủa chúng để dự đoán
Trang 25Hình 11 Bảng điều chỉnh tham số của mô hình kNN
Name: đặt tên cho mô hình Tên mặc định: kNN.
Hiệu chỉnh Neighbors:
- Đặt số lượng điểm dữ liệu tham khảo lân cận gần nhất (Number ofneighbors)
- Tham số khoảng cách Metric: Euclidean (“đường thẳng”, khoảng cách giữa
2 điểm) Manhattan (tổng số chênh lệch của tất cả các điểm dữ liệu )Maximal (sự chênh lệch lớn nhất giữa các điểm dữ liệu) Mahalanobis(khoảng cách giữa điểm dữ liệu và phân phối)
- Trọng số Weights: Uniform (tất cả các điểm dữ liệu lân cận đều có trọng sốnhư nhau), Distance (điểm dữ liệu lân cận nào gần với điểm dữ liệu cần dựbáo sẽ có trọng số lớn hơn)
Ưu điểm và khuyết điểm của mô hình kNN:
- Dễ sử dụng, thuật toán đơn giản, dễ
dàng triển khai
- Bị ảnh hưởng bởi các điểm dữ liệunhiễu trong tập dữ liệu
Trang 26- Độ phức tạp tính toán của quá trình
training là bằng 0
- Có thể được sử dụng cho cả nhiệm
vụ phân loại và hồi quy
- Không yêu cầu dữ liệu được chuẩn
hóa trước khi huấn luyện
- Việc lựa chọn giá trị k ảnh hưởngđến hiệu suất của mô hình
- Việc tính khoảng cách tới từng điểm
dữ liệu trong training set sẽ tốn rấtnhiều thời gian, đặc biệt là khi xử lýcác tập dữ liệu lớn
Bảng 4: Ưu và khuyết điểm của mô hình kNN
2.2 Quy trình phân lớp dữ liệu
2.2.1 Tiền xử lý dữ liệu
Đây là quá trình xử lý dữ liệu thô/ gốc (raw/ original data) sang định dạng dễ hiểunhằm cải thiện chất lượng dữ liệu trong kết quả khai phá
- Dữ liệu thô/ gốc:
+ Có cấu trúc, bán cấu trúc, phi cấu trúc
+ Được đưa vào từ các nguồn dữ liệu trong các hệ thống xử lí tập tin (fileprocessing systems)
- Chất lượng dữ liệu (data quality): tính chính xác, tính hiện hành, tính toàn vẹn,tính nhất quán:
+ Tính chính xác: giá trị được ghi nhận đúng với giá trị thực
+ Tính hiện hành: giá trị được ghi nhận không bị lỗi thời
+ Tính toàn vẹn: tất cả các giá trị dành cho một biến/ thuộc tính đều được ghinhận
+ Tính nhất quán: tất cả các dữ liệu điều được biểu diễn như nhau trong tất cả cáctrường hợp
Quá trình tiền xử lí dữ liệu bao gồm: Làm sạch dữ liệu, Tích hợp và biến đổi dữliệu, và Rút gọn dữ liệu
- Làm sạch dữ liệu (data cleaning/cleansing): loại bỏ nhiễu (remove noise), hiệu
chỉnh những phần dữ liệu không nhất quán
- Tích hợp dữ liệu (data integration): trộn dữ liệu từ nhiều nguồn khác nhau vào
Trang 27- Biến đổi dữ liệu (data transformation): chuẩn hóa dữ liệu
- Rút gọn dữ liệu (data reduction): thu giảm kich thước dữ liệu (giảm số phần tử)
bằng kết hợp dữ liệu, loại bỏ điểm dư thừa, gom cụm dữ liệu
Hình 12 Tổng quan tiền xử lý dữ liệu
2.2.2 Phân Lớp Dữ Liệu
2.2.2.1 Quá trình phân lớp dữ liệu
Quá trình phân lớp dữ liệu gồm hai 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” hoặc “huấn luyện”), bao gồm:
- Chuẩn bị tập dữ liệu huấn luyện: Bộ dữ liệu đầu vào đã được tiền xử lý, sau đótiến hành chọn ra các đặc trưng tốt (good feature), lược bỏ các đặc trưng không tốt,gây nhiễu (noise) Cuối cùng, chia bộ dữ liệu thành hai phần, một phần lớn phục vụcho huấn luyện (training dataset), phần còn lại dùng để kiểm thử mô hình (testingdataset)
- Xây dựng mô hình phân lớp: Mục đích của mô hình huấn luyện là tìm ra hàmf(x) để gán nhãn cho các đối tượng dữ liệu