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 nh .................................15
1.2 Ôn tậ p về 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 nhn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.2.4 Phân ph i ln 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 C ơ 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 tn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.3 Đalung ...................................................... 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 g tr b thiế u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.2.2 X g tr sai ho c không nh t quán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.3 Co giãn chuẩ n hóa d liệ u ..............................62
2.4 Gi m chi u biế n đ i d li u .............................63
2.4.1 Lymu....................................................... 64
2.4.2 L a ch n đ c t 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 C ơ 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 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 n b n c gi i ...................................... 122
3.9.1 Tu chnh mũi tên chú giả i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
3.9.2 Tu chnh cách hiể n th c a tr c bi u đ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Bài tậ p C ơ ng 3 ......................................... 130
4H c máy .................................................... 133
4.1 Các ki ni m cơ b n .................................... 133
4.1.1 H c và suy di n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.1.2 Đánh g 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 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 n b n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
4.2.3 Đctrưngnh................................................. 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 ng cư ng .......................................... 156
Bài tậ p C ơ ng 4 ......................................... 158
5Cơ s d li u SQL ........................................ 161
5.1 Cơ s d li u cơ b n ..................................... 161
5.1.1 CREATETABLE 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 ng cao .................................. 168
5.2.1 Truyvncon .................................................. 168
5.2.2 Tiưutruyvn ................................................. 168
5.2.3 NoSQL ....................................................... 170
Bài tậ p C ơ ng 5 ......................................... 171
6H khuyế n nghị ............................................. 177
6.1 Gi i thi u chung .......................................... 177
6.1.1 H khuyế n ngh 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 Giithiu ..................................................... 190
Bài tậ p C ơ ng 6 ......................................... 191
Tài liệ u tham khả o ........................................... 197