
NHẬ PMÔN
KHOAHỌ C DỮ LIỆ U
Nguyễ n Kiề u Linh, Vũ Hoài Nam,
Đinh Xuân Trư ờ ng

This page is intentionally left blank

Mụ c lụ c
Mở đầ u ...................................................... 13
1Kiế n thứ c cơ sở .............................................. 15
1.1 Ôn tậ p về đạ i số tuyế n tính .................................15
1.2 Ôn tậ p về xác suấ t ..........................................20
1.2.1 Độ c lậ p xác suấ t và phụ thuộ c xác suấ t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2.2 Xác suấ t có điề u kiệ n và quy tắ c Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2.3 Biế n ngẫ u nhiên . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.2.4 Phân phố i liên tụ c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.2.5 Phân phố i chuẩ n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.3 Giả thuyế t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3.1 Khoả ng tin cậ y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3.2 Kiể m định giả thuyế t thố ng kê . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.3.3 Vídụ .......................................................... 34
Bài tậ p Chư ơ ng 1 ...........................................36
2Chuẩ n bị dữ liệ u ............................................. 41
2.1 Thu thậ p dữ liệ u .............................................41
2.1.1 Thuậ t toán thu thậ p cơ bả n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.1.2 Thu thậ p ư u tiên . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.3 Đaluồng ...................................................... 47
2.1.4 Tránh các bẫ y Spider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.1.5 Phát hiệ n sự trùng lặ p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.1.6 Áp dụ ng thu thậ p dữ liệ u - Web Scraping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2 Làm sạ ch dữ liệ u ...........................................58
2.2.1 Xử lý giá trị bị thiế u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

2.2.2 Xử lý giá trị sai hoặ c không nhấ t quán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.3 Co giãn và chuẩ n hóa dữ liệ u ..............................62
2.4 Giả m chiề u và biế n đổ i dữ liệ u .............................63
2.4.1 Lấymẫu....................................................... 64
2.4.2 Lự a chọ n đặ c trư ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.4.3 Giả m chiề u dữ liệ u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.4.4 Biế n đổ i dữ liệ u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Bài tậ p Chư ơ ng 2 ...........................................77
3Trự c quan hóa dữ liệ u ........................................ 81
3.1 Cơ bả n về Matplotlib .......................................81
3.2 Đồ thị dạ ng đư ờ ng .........................................87
3.3 Đồ thị điể m rờ i rạ c ..........................................92
3.4 Trự c quan hóa lỗ i ...........................................95
3.5 Đồ thị đư ờ ng viề n ..........................................99
3.6 Histograms và mậ t độ ..................................... 102
3.7 Đồ thị ba chiề u ........................................... 107
3.8 Dữ liệ u địa lý .............................................. 113
3.8.1 Trự c quan dữ liệ u trên bả n đồ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
3.9 Văn bả n và chú giả i ...................................... 122
3.9.1 Tuỳ chỉnh mũi tên chú giả i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
3.9.2 Tuỳ chỉnh cách hiể n thị củ a trụ c biể u đồ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Bài tậ p Chư ơ ng 3 ......................................... 130
4Họ c máy .................................................... 133
4.1 Các khái niệ m cơ bả n .................................... 133
4.1.1 Họ c và suy diễ n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.1.2 Đánh giá mô hình . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
4.1.3 Overfitting và Underfitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4.1.4 Bias- Sai số định kiế n và Variance - Phư ơ ng sai . . . . . . . . . . . . . . . . . . . . . . . 140
4.2 Lự a chọ n và trích chọ n đặ c trư ng . . . . . . . . . . . . . . . . . . . . . . . . 142
4.2.1 Đặ c trư ng phân loạ i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
4.2.2 Đặ c trư ng văn bả n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
4.2.3 Đặctrưngảnh................................................. 146
4.3 Họ c có giám sát .......................................... 150
4.4 Họ c không giám sát ...................................... 153

4.5 Họ c bán giám sát ......................................... 154
4.6 Họ c tăng cư ờ ng .......................................... 156
Bài tậ p Chư ơ ng 4 ......................................... 158
5Cơ sở dữ liệ u và SQL ........................................ 161
5.1 Cơ sở dữ liệ u cơ bả n ..................................... 161
5.1.1 CREATETABLEvà INSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
5.1.2 UPDATE....................................................... 163
5.1.3 DELETE ....................................................... 164
5.1.4 SELECT ....................................................... 164
5.1.5 GROUPBY .................................................... 165
5.1.6 ORDERBY..................................................... 166
5.1.7 JOIN......................................................... 166
5.2 Cơ sở dữ liệ u nâng cao .................................. 168
5.2.1 Truyvấncon .................................................. 168
5.2.2 Tốiưutruyvấn ................................................. 168
5.2.3 NoSQL ....................................................... 170
Bài tậ p Chư ơ ng 5 ......................................... 171
6Hệ khuyế n nghị ............................................. 177
6.1 Giớ i thiệ u chung .......................................... 177
6.1.1 Hệ khuyế n nghị là gì . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
6.1.2 Hệ khuyế n nghị hoạ t độ ng thế nào . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
6.2 Lọ c dự a trên nộ i dung .................................... 179
6.2.1 Utilitymatrix ................................................... 180
6.2.2 Hồ sơ củ a sả n phẩ m (item profiles) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
6.2.3 Xây dự ng hàm mấ t mát . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
6.2.4 Ví dụ hàm mấ t mát cho user P2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
6.3 Lọ c cộ ng tác .............................................. 184
6.3.1 Lọ c cộ ng tác dự a trên ngư ờ i dùng (user-user collaborative filtering) . . . . . . 184
6.3.2 Lọ c cộ ng tác dự a trên sả n phẩ m (item-item collaborative filtering) . . . . . . . 188
6.4
Lọ c cộ ng tác dự a trên phân rã ma trậ n (matrix factorization 190
6.4.1 Giớithiệu ..................................................... 190
Bài tậ p Chư ơ ng 6 ......................................... 191
Tài liệ u tham khả o ........................................... 197

