BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HCM
KHOA CÔNG NGHỆ THƠNG TIN
----
BÀI TẬP LỚN CUỐI KỲ
ĐỀ TÀI: DỰ ĐỐN MƯA
Học phần: MÁY HỌC
Giáo viên: NGUYỄN VIỆT LINH
Thực hiện:
18031101_Nguyễn Trung Hải
18075311_Trần Phạm Hải Âu
18081491_Trần Đơng Hồng
18086161_Hà Danh Phúc
Thành phố Hồ Chí Minh, ngày 12 tháng 12 năm 2021
LỜI CẢM ƠN
Lời đầu tiên, nhóm xin gửi lời cảm ơn chân thành đến thầy giáo Nguyễn Việt Linh,
người đã hướng dẫn và chỉ bảo tận tình cho nhóm trong suốt q trình hồn thành học
phần này.
Nhóm cũng xin cảm ơn các thầy, cô giáo khoa công nghệ thông tin đã tận tình chỉ bảo
trong quá trình học tập tại trường Đại học Cơng Nghiệp Thành Phố Hồ Chí Minh.
Mặc dù nhóm đã cố gắng rất nhiều trong q trình thực hiện nhưng do thời gian và
trình độ cịn hạn chế, bài báo cáo không thể tránh khỏi những thiếu sót. Kính mong thầy
cơ chỉ bảo và đóng góp ý kiến để bài báo cáo của nhóm được hồn thiện hơn.
Nhóm xin chân thành cảm ơn!
MỤC LỤC
Chương 1: TỔNG QUAN.......................................................................................................................4
1.1
Giới thiệu....................................................................................................................................4
1.2
Mơ tả bài tốn.............................................................................................................................4
Chương 2: GIẢI QUYẾT BÀI TOÁN...................................................................................................5
2.1 Cơ sở lý thuyết...............................................................................................................................5
2.1.1 Logictic Regression.................................................................................................................5
2.1.2 Random Forest........................................................................................................................5
2.1.3 Decision Tree...........................................................................................................................6
2.1.4 Support Vector Machine (SVM)...........................................................................................6
2.2 Giải quyết bài tốn........................................................................................................................7
2.2.1 Cơng cụ....................................................................................................................................7
2.2.2 Dữ liệu......................................................................................................................................7
2.2.3 Đánh giá...................................................................................................................................7
2.3.4 So sánh các phương pháp.....................................................................................................10
2.3.5 Kết quả...................................................................................................................................10
Chương 3: KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU......................................................................11
3.1 Kết luận........................................................................................................................................11
3.1.1 Hạn chế..................................................................................................................................11
3.2 Hướng phát triển......................................................................................................................11
TÀI LIỆU THAM KHẢO....................................................................................................................11
Chương 1: TỔNG QUAN
1.1 Giới thiệu
Với sự phát triển của Công nghệ thông tin đã tạo ra một lượng lớn cơ sở dữ liệu và dữ
liệu khổng lồ trong nhiều lĩnh vực khác nhau. Việc nghiên cứu cơ sở dữ liệu và công
nghệ thông tin đã tạo ra một cách tiếp cận để lưu trữ và sử dụng dữ liệu quý giá này
nhằm mục đích đưa ra quyết định sau này. “Khai phá dữ liệu là một q trình trích xuất
thơng tin hữu ích và các mẫu từ dữ liệu khổng lồ. Nó cịn được gọi là q trình khám
phá tri thức, khai thác tri thức từ dữ liệu, khai thác tri thức hoặc phân tích dữ liệu/ phân
tích mẫu”. Khai thác dữ liệu có tầm quan trọng liên quan đến việc tìm kiếm các mẫu,
dự báo, khám phá kiến thức, v.v., trong các lĩnh vực kinh doanh khác nhau. Các kỹ
thuật và thuật toán khai thác dữ liệu như phân loại, phân cụm, v.v., giúp tìm ra các mơ
hình để quyết định xu hướng phát triển trong tương lai của các doanh nghiệp. Khai thác
dữ liệu có phạm vi ứng dụng rộng rãi hầu như trong mọi ngành nơi dữ liệu được tạo ra,
đó là lý do tại sao khai thác dữ liệu được coi là một trong những biên giới quan trọng
nhất trong cơ sở dữ liệu và hệ thống thông tin và là một trong những phát triển liên
ngành hứa hẹn nhất trong Công nghệ thông tin.
Một trong những mục tiêu của khai phá dữ liệu là để đưa ra các dự báo trong tương lai
nhằm phục vụ một số quyết định hay mục đích nào đó. Trong đó có lĩnh vực nghiên
cứu về dự báo chuỗi thời gian và phát triển các mơ hình dự báo.
1.2 Mơ tả bài tốn
Bài tốn dự mưa dựa vào dữ liệu thời tiết của TP.HCM từ năm 2008-2018.
Input: Đầu vào sử dụng 10 đặc trưng liên quan thời tiết: maxtempC
(nhiệt độ cao nhất (độ C) trong ngày), uvIndex (chỉ số tia cực tím, hay
chỉ số UV, là một phép đo tiêu chuẩn quốc tế về cường độ của bức xạ tia
cực tím (UV) gây cháy nắng tại một địa điểm và thời gian cụ thể),
winddirDegree (hướng gió ở độ cao 10m so với bề mặt), precipMM
(nước ở thể lỏng hoặc rắn rơi từ khí quyển xuống mặt đất (mm)),
humidity (lượng hơi nước trong khí quyển), Visibility (khoảng cách mà
vật thể hoặc ánh sáng có thể được nhận biết một cách rõ ràng), Pressure
(lực gây ra bởi sự tương tác của khí quyển và lực hấp dẫn. Cịn được gọi
là áp suất khí quyển), Cloudcover (độ che phủ của đám mây),
DewPointC (nhiệt độ mà khơng khí phải được làm mát để hơi nước
ngưng tụ và tạo thành sương mù hoặc mây (độ C)), FeelsLikeC (Cảm
giác nhiệt độ thực tế ngoài trời (độ C)).
Model: Sử dụng 4 model khác nhau: Logistic Regression, Random
Forest, Decision Tree, Support Vector Machine (SVM) để so sánh đánh
giá hiệu quả.
Ouput: Kết quả đầu ra gồm 3 lớp mưa, có thể mưa và khơng mưa.
Chương 2: GIẢI QUYẾT BÀI TOÁN
2.1 Cơ sở lý thuyết
2.1.1 Logictic Regression
Logistic Regression là 1 thuật toán phân loại được dùng để gán các đối tượng cho 1 tập
hợp giá trị rời rạc (như 0, 1, 2, ...). Một ví dụ điển hình là phân loại Email, gồm có
email cơng việc, email gia đình, email spam, ... Giao dịch trực tuyến có là an tồn hay
khơng an tồn, khối u lành tính hay ác tình. Thuật tốn trên dùng hàm sigmoid logistic
để đưa ra đánh giá theo xác suất.
2.1.2 Random Forest
Random Forests là thuật tốn học có giám sát (supervised learning). Nó có thể được sử
dụng cho cả phân lớp và hồi quy. Nó cũng là thuật tốn linh hoạt và dễ sử dụng nhất.
Một khu rừng bao gồm cây cối. Người ta nói rằng càng có nhiều cây thì rừng càng
mạnh. Random forests tạo ra cây quyết định trên các mẫu dữ liệu được chọn ngẫu nhiên,
được dự đoán từ mỗi cây và chọn giải pháp tốt nhất bằng cách bỏ phiếu. Nó cũng cung
cấp một chỉ báo khá tốt về tầm quan trọng của tính năng. Random forests có nhiều ứng
dụng, chẳng hạn như cơng cụ đề xuất, phân loại hình ảnh và lựa chọn tính năng. Nó có
thể được sử dụng để phân loại các ứng viên cho vay trung thành, xác định hoạt động
gian lận và dự đoán các bệnh. Nó nằm ở cơ sở của thuật tốn Boruta, chọn các tính năng
quan trọng trong tập dữ liệu.
2.1.3 Decision Tree
Cây quyết định (Decision Tree - Viết tắt DT) là một cấu trúc phân nhánh để giải các bài
toán machine learning. Các mẫu dữ liệu/data samples xuất phát từ gốc của cây quyết
định và di chuyển theo các điều kiện đặt ra để đi đến một nút lá/leaf node/leaf. Nút lá sẽ
đưa ra câu trả lời cho bài tốn cần giải (phân loại, hồi quy, hay phân bố).
Hình 2.1 Minh họa thuật toán Decision Tree
2.1.4 Support Vector Machine (SVM)
SVM là một thuật tốn giám sát, nó có thể sử dụng cho cả việc phân loại hoặc đệ quy.
Tuy nhiên nó được sử dụng chủ yếu cho việc phân loại. Trong thuật toán này, chúng ta
vẽ đồi thị dữ liệu là các điểm trong n chiều ( ở đây n là số lượng các tính năng bạn có)
với giá trị của mỗi tính năng sẽ là một phần liên kết. Sau đó chúng ta thực hiện tìm
"đường bay" (hyper-plane) phân chia các lớp. Hyper-plane nó chỉ hiểu đơn giản là 1
đường thẳng có thể phân chia các lớp ra thành hai phần riêng biệt.
Hình 2.2 Thuật tốn SVM
2.2 Giải quyết bài tốn
2.2.1 Cơng cụ
Sử dụng Visual Studio Code (VS Code) làm trình soạn thảo code. VS Code là một
trình soạn thảo mã nguồn mở gọn nhẹ nhưng có khả năng vận hành mạnh mẽ trên 3 nền
tảng là Windows, Linux và macOS được phát triển bởi Microsoft. Nó hỗ trợ cho
JavaScript, Node.js và TypeScript, Python cũng như cung cấp một hệ sinh thái mở rộng
vô cùng phong phú cho nhiều ngơn ngữ lập trình khác.
2.2.2 Dữ liệu
Dữ liệu thời tiết trong 10 năm (từ 2008-2018) của TP.HCM được sưu tầm từ nguồn
Internet. Dữ liệu gồm 3658 dòng tương ứng 3658 ngày được xử lý, chọn lọc ra 10 đặc
trưng ảnh hưởng nhất. Mỗi dòng được gán nhãn tương ứng 0 (trời mưa), 1 (trời có thể
mưa), 2 (trời khơng mưa).
Hình 2.3 Dữ liệu của bài tốn
2.2.3 Đánh giá
Kết quả đạt được với mỗi phương pháp khá khả quan độ chính xác trên 80%. Đối với
từng phương pháp khác nhau thì kết quả dự đốn trên tập test khác nhau.
Logistic Regression: Kết quả test cho thấy ở lớp 0 (mưa) và lớp 2 (khơng mưa) kết quả
dự đốn khá chính xác, lớp 1 (có thể mưa) có kết quả dự đốn kém đúng 64/132.
Hình 2.4 Kết quả test Logistic Regression
Random Forests: Kết quả test cho thấy ở lớp 0 (mưa) và lớp 2 (khơng mưa) kết quả dự
đốn khá chính xác, lớp 1 (có thể mưa) có kết quả dự đốn kém đúng 48/132.
Hình 2.5 Kết quả test Ramdom Forest
Decision Tree: Kết quả test cho thấy ở lớp 0 (mưa) và lớp 2 (khơng mưa) kết quả dự
đốn khá chính xác, lớp 1 (có thể mưa) có kết quả dự đốn kém đúng 81/132.
Hình 2.6 Kết quả test Decision Tree
Support Vector Machine (SVM): Kết quả test cho thấy ở lớp 0 (mưa) và lớp 2 (không
mưa) kết quả dự đốn khá chính xác, lớp 1 (có thể mưa) có kết quả dự đốn kém đúng
73/132.
Hình 2.7 Kết quả test SVM
2.3.4 So sánh các phương pháp
Trong 4 phương pháp trên thì Decision Tree có kết quả tốt nhất, thời gian xử lý nhanh
nhất.
Hình 2.8 Bảng so sánh kết quả 4 phương pháp
2.3.5 Kết quả
Nhóm em dùng Decision Tree để dự đốn trên tập dữ liệu mới. Kết quả đạt được:
Hình 2.9 Kết quả dự đoán
Chương 3: KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU
3.1 Kết luận
3.1.1 Hạn chế
Độ chính xác của model cịn thấp.
Chưa xây dựng được hệ thống hồn chỉnh, dự đốn kết quả thời gian thực.
3.2 Hướng phát triển
Xây dựng hệ thống hoàn chỉnh có thể dự đốn trong thời gian thưc.
Triển khai lên thiết bị IOT để có ứng dụng thực tế.
TÀI LIỆU THAM KHẢO
[1]
[7h30 am_ 19/9/2021]
[2]
a/p/gioi-thieu-ve-support-vector-machine-svm-6J3ZgPVElmB.
[3]
a/p/phan-lop-bang-random-forests-trong-python-djeZ1D2QKWz.
[4]
/>