Mở đầu Trình bày về lý do chọn đề tài và mục đích của đề tài, đối tượng nghiên cứu và phạm vi dữ liệu. e Chương 2: Tổng quan Giới thiệu tong quan về lĩnh vực khoa hoc dữ liệu, các kĩ thuật phân tích thăm dò dữ liệu đồng thời giới thiệu các mô hình dự đoán và các kĩ thuật sẽ được sử dụng trong bài khóa luận. e Chương 3: Xây dựng các mô hình dự đoán Thu thập và xử lý dữ liệu đồng thời xây dựng và lựa chọn các thuộc tính (features) quan trọng. Sau đó xây dựng các mô hình dự đoán dựa trên các features đã được chọn.
Chương 4: Thực nghiệm và đánh giá Tiến hành kiêm chứng chéo sau đó đưa ra các đánh giá về độ chính xác của các mô hình. Cuối cùng, chọn ra mô hình có độ chính xác cao nhất để minh họa trên web. Chương 5: Minh họa kết quả Xây dựng một trang web tĩnh đơn giản bằng HTML,CSS, Javascript sau đó triển khai lên một máy chủ dé minh họa kết quả dự đoán các trận đấu kế tiếp. Chương 6: Kết luận và hướng phát triên Đưa ra kết luận và đánh giá kết quả đã đạt được của đề tài, hướng phát trién các nghiên cứu tiếp theo và khả năng ứng dụng trong thực tiễn.
TONG QUAN Tóm tắt chương Trong chương 2, chúng tôi sẽ giới thiệu tổng quan về lĩnh vực khoa học dữ liệu, các kĩ thuật phân tích thăm do và xử lí dit liệu đồng thời giới thiệu các mô hình dự đoản và các kĩ thuật sẽ được sử dụng trong bài khóa luận này. Giới thiệu ngành khoa học dữ liệu Khoa học dữ liệu [3] là ngành khoa học nghiên cứu về việc xây dựng và phân tích dữ liệu từ đó trích lọc tri thức từ đữ liệu và ứng dụng vào cuộc sống. Đây là ngành khoa học cần cả kiến thức về lập trình lẫn toán học và thống kê để giải quyết khối lượng đữ liệu và yêu cầu xử lý thông tin lớn. Đây cũng là một trong những ngành hap dẫn nhất trong thé ki 21.
Điều này cũng dễ hiểu bởi với sự phát triển của khoa học kĩ thuật, những vat dụng như tivi tủ lạnh hay thậm chí là đèn cũng đã trở nên “thông minh” và sản sinh ra nhiều dữ liệu. Di kèm với sự gia tăng của dé liệu là nhu cầu dé hiểu về chúng. Một công ty sản xuất cần biết về nhu cầu sắp tới của thị trường đề điều chỉnh chiến lược sản xuất. Một cửa hàng may mặc cần biết xu thế thời trang trong tương lai gần để kịp thời đáp ứng.
Một quốc gia cần thông tin về sức khỏe công dân dé lên các chính sách dân sinh phù hợp. Khoa học dữ liệu chính là lời giải cho những bài toán ấy. Giới thiệu về phân tích dữ liệu khám phá (EDA) Phân tích dữ liệu khám phá (Exploratory Data Analysis - EDA) [4] là một hướng tiếp cận của khoa học dit liệu. EDA cho ta cái nhìn tổng quát về dit liệu cũng như giúp ta hiểu được bản chat của nó.
Là bước đầu tiên trong dự án về khoa học dữ liệu, EDA sử dụng các kĩ thuật thống kê dé làm tiền dé cho việc phân tích. Mục dích của quá trình EDA là: - Kiểm tra các lỗi dữ liệu như missing data hay không nhất quán và các lỗi khác - _ Tìm ra thuộc tinh/bién/feature có ảnh hưởng lớn nhất - Hiểu được cấu trúc dữ liệu Tìm và phân tích các điểm dị biệt của dữ liệu Trong bài khóa luận này, chúng tôi chủ yếu dùng EDA để phân tích các bộ dữ liệu và xử lý các lỗi của dữ liệu như bị mắt hay không nhất quán. Đồng thời chúng tôi cũng chọn ra các thuộc tính có ảnh hưởng lớn nhất thông qua EDA. Các mô hình dự đoán Trong bài khóa luận này, chúng tôi sử dụng 6 mô hình phân loại (Classification models) dé dự đoán kết quả trận đấu.
Các mô hình này gồm có: 2. Decision Tree Decision Tree [5] su dụng một cây nhị phan dé dua ra két quả dự đoán dựa vào giá trị của các thuộc tính được lựa chọn. Có Đói Không? không Không ăn Hình 2. Ví du Decision Tree Xét ví dụ minh họa trên, Decision Tree này dự đoán việc một người có sắp đi ăn hay không.
Phần câu hỏi trong trong ô hình chữ nhật thường là một mệnh đề đúng sai hoặc một điều kiện về ngưỡng của 1 giá trị (ví dụ, “Cân nặng có >53. Decision tree có thê được dùng dé phan loai (classification) hay hổi quy (regression) dữ liệu. Node có câu hỏi ở trên cùng và không có câu hỏi nào dẫn tới nó gọi là rễ/gốc (root), những node không chỉ đến node nào gọi là lá (leaf), những node vừa chỉ tới node này nhưng lại được node khác chỉ gọi là cành (branch). Kết hợp với nhau, chúng tạo nên một cây mà chúng ta gọi là Decision Tree.
Để xác định thuộc tính nào nam ở vị trí nào người ta sử dụng một chi số gọi là Gini impurity. Tuy nhiên trong phạm vi của đề tài, chúng tôi xin không bàn luận sâu hơn. Random forest Random forest [5] sử dung một “rừng” với nhiêu “cây” với mỗi cây là một decision tree đê đưa ra kêt quả cuôi dựa vào kêt quả dự đoán của tat cả các cây. Tắt cả cây trong Random forest độc lập với nhau và bình đăng với nhau.
Ví dụ minh họa: Trong 1 mô hình Random forest 20 cây, 5 cây nói rằng một người A béo phì, 15 cây nói rằng người A không béo phì, kết quả cuối cùng mà Random forest đưa ra là người A không béo phì. ADA Boost ADA Boost [6] cũng sử dụng nhiều cây như Random forest nhưng mỗi cây trong ADA Boost chỉ gồm | root với 2 leaf và được gọi là gốc cây (stump). Mỗi stump được tạo ra phụ thuộc vào stump trước nó và giá tri (hay weight) của mỗi stump cũng khác nhau. Weight của mỗi stump được xác định dựa vào số dự đoán sai của stump đó (hay total error) với bộ dữ liệu dùng dé huấn luyện ( hay training data).
Tuy nhiên, trong phạm vi đề tài, chúng tôi xin không bàn luận và giải thích thêm. Gradient Boost Giống như ADA Boost, Gradient Boost [7] sử dụng nhiều cây dé dự đoán và mỗi cây được tạo ra sẽ ảnh hưởng đến cây sau nó. Tuy nhiên, cây trong Gradient Boost là cây day đủ và chỉ bị giới hạn số lá (thường từ 8-32) thay vì stump như ADA Boost. Tat cả cây trong Gradient Boost có weight giống nhau va được gọi là learning rate.
Tương tự như ADA Boost, các cây sé liên tục được tao ra cho đến khi đạt số lượng tối đa cho phép hoặc không cải thiện mô hình đáng kể. Tương tự như các phần trước, chúng tôi sẽ không bàn luận sâu hơn. Logistic Regression Logistic regression [8] ding một ham Logistic hình chữ “S” dé phân loại dỡ liệu (xem hình minh họa). Không béo phi Can nặng Hình 2.
Ví du Logistic regression Ví dụ ở Hình 2.2 minh họa mô hình Logistic regression dự đoán một người có béo phì không dựa vào cân nặng. Mỗi một chấm cam là một người với cân nặng và kết quả dự đoán tương ứng. Đường đứt nét là xác suất béo phì tương ứng với từng cham cam. Ta có thé thay cân nặng càng lớn thì kha năng béo phi càng cao, tuy nhiên vẫn có những người béo phì nhẹ hơn người không béo phì.
Việc điều chỉnh ham logistic (thay đôi hình dang chữ S) dé đưa ra kết quả chính xác hơn nằm ngoài phạm vi khóa luận này nên chúng tôi không bàn luận thêm. Neural network Các mô hình như Logistic regression va Linear regression có một kiểu hình dáng nhất định và không thể thay đổi nhiều. Xét ví dụ giả định về tương quan giữa lượng thuôc uông và mức độ hiệu quả trong điêu tri như hình sau: Cá (1) J CO) | Hiệu quả | 2. Ví du Neural Network Logistic regression (hình chữ S) va Linear regression (đường thang) không thé nao “fit” đữ liệu một cách hiệu qua.
Những van dé phức tap như thé này là thế mạnh của Neural Network [9]. Nhờ việc sử dụng mạng lưới các node và điều chỉnh qua backpropagation, Neural Network có thé thay đổi hình dang hàm một cách linh hoạt và fit dữ liệu một cách hiệu quả. Hiệu qua | Khéng (0) Hình 2. Ví dụ Neural network 2 Neural Network là một mô hình tương đối phức tạp và việc trình bày sâu hon năm ngoài phạm vi của bài khóa luận nên chúng tôi xin bỏ qua.
Phương pháp kiểm chứng chéo (cross validation) Kiểm chứng chéo (cross validation) [10] là phương thức kiểm tra tính chính xác của mô hình (model) dự đoán một cách khách quan nhất thông qua việc kiểm tra (test) lần lượt tất cả dữ liệu. Bình thường, ta chia dữ liệu thành 2 phần, huấn luyện (train) và kiểm tra (test). Các model sẽ “học” di liệu ở phần train và dự đoán kết quả của phần test. Sau đó ta sẽ dựa vào độ chính xác của kết quả dự đoán mà đánh giá model.
Tuy nhiên, làm sao biết được phần dữ liệu nào train, phần nào test là tốt nhất. Cross validation ra đời để giải quyết vấn đề trên. Cross validation chia dữ liệu thành các phần bằng nhau (hay fold). Thường là chia thành 10 phần.
Mỗi phần này sẽ lần lượt được sử dụng làm phần test cho các model (9 phần còn lại là train). Cuối cùng, tùy vào mục tiêu ban đầu, ta lấy kết quả của cách chia có tỉ lệ dự đoán đúng cao nhất hoặc độ chính xác trung bình dé đánh giá độ chính xác của model đó. Phương pháp T-test và các vấn đề liên quan Phương pháp kiểm định t (hay T-test) là một phương pháp dùng dé xác định xem giá trị trung bình của một quan thé (mean of the population) có khác biệt với một giá trị giả định khác (hypothesized mean) không. Ví dụ, để xác định thời gian từ khi sử dụng một loại thuốc đến khi hết bệnh có lâu hơn thời gian mong đợi là 20 ngày hay không thì người ta dùng phương pháp t-test dé cho ra giá trị t-value.
tf-value T-value hay t-statistic cho ta biết sự khác biệt của dit liệu có ý nghĩa thong kê không. T-value là tỉ lệ giữa “tín hiệu” so với “nhiễu” và được tính theo công thức: Hình 2. Công thức t-value Phan tử số của công thức là tỉ lệ “tín hiệu” với Z là trung bình của mẫu dữ liệu (hay trong ví dụ minh họa ở trên là thời gian hết bệnh trung bình) va po là giá trị trung bình giả thuyết (trong ví dụ là 20 ngày). Phan mẫu số là “độ nhiễu” với S là độ lệch chuẩn (hay standard deviation) dé biểu đạt mức độ dao động trong bộ dữ liệu.