Học kì 1, năm học 2026–2027
Viện Trí tuệ nhân tạo, Trường ĐH Công nghệ, ĐHQGHN
Dữ liệu thô → dữ liệu sạch → thông tin → quyết định.
Một phần dữ liệu thật từ Inside Airbnb:
id,name,price,minimum_nights,review_scores_rating
52811,"Room w/ view — metro 5min","$45,647.00",2,4.87
78230,"Cozy studio!!!",,1,
99182,"APT LUXO ★★★★★","$1.00",999,3.2
Dữ liệu thật bẩn → kết luận rút từ dữ liệu bẩn thì… cũng bẩn.
Môn này dạy bạn tự xây dựng quá trình đó bằng Python.
| Giai đoạn | Bài | Nội dung |
|---|---|---|
| Nền tảng | 1–5 | Công cụ, Python, NumPy, pandas |
| Dữ liệu thật | 6–8, 10 | File/API/SQL, chuỗi & regex, thời gian, làm sạch |
| Hiện đại | 11–14 | LLM cho dữ liệu phi cấu trúc, trực quan hoá, kể chuyện |
| Đánh giá | 9, 15 | Thi giữa kỳ · vấn đáp bài tập lớn |
Mỗi bài: slide + notebook thực hành trên Colab, làm ngay tại lớp.
Python + notebook + môi trường tái lập được.
Notebook là một tài liệu sống, có thể chạy từng ô (cell) một:
import pandas as pd
df = pd.read_csv("https://raw.githubusercontent.com/mwaskom/"
"seaborn-data/master/penguins.csv")
df.shape
(344, 7)
Notebook bài này sẽ cho bạn chạy thử toàn bộ — kể cả khi chưa hiểu code cũng có thể chạy để xem kết quả.
Trên máy cá nhân, dùng venv để tách môi trường từng dự án, tránh giẫm chân nhau (xung đột thư viện):
python -m venv .venv # tạo môi trường tại thư mục .venv
source .venv/bin/activate # đi vào môi trường (Windows: .venv\Scripts\activate)
pip install pandas matplotlib # cài thư viện vào môi trường, không đụng máy chung
Khi không còn sử dụng, bạn có thể xoá thư mục .venv mà không ảnh hưởng đến các môi trường khác.
Chạy trong môi trường riêng của dự án:
python -m pip freeze > requirements.txt # lưu phiên bản thư viện
python -m pip install -r requirements.txt # cài lại thư viện
Phiên bản Python được ghi riêng trong .python-version.
Tạo và commit tệp này ở gốc repo. Nội dung là một dòng ghi phiên bản đã kiểm thử, ví dụ:
3.12.3
Chọn đúng Python khi tạo venv; .python-version không tự cài hay đổi Python.
Minh bạch với AI: khai báo, hiểu, kiểm chứng.
Hỏi một chatbot: "Tính giá trung bình theo loại phòng từ listings.csv":
import pandas as pd
df = pd.read_csv("listings.csv")
df.groupby("room_type")["price"].mean()
Đoạn code đúng cú pháp và có thể chạy. Tuy nhiên, kết quả vẫn phụ thuộc vào các quyết định phân tích chưa được nêu rõ.
Cột price có ô trống. Theo mặc định, mean()
sẽ bỏ qua các ô này:
prices = pd.Series([100, 200, None, None, 300])
prices.mean() # bỏ ô trống: (100+200+300)/3
200.0
Nếu ô trống nghĩa là "phòng ngừng cho thuê" thì có thể bỏ qua; nếu là "quên khai giá" thì kết quả có thể bị sai lệch. AI có thể áp dụng mặc định này mà không hỏi lại.
Nếu không hiểu code, bạn có thể bỏ qua vấn đề của hàm mean() trong ví dụ trên
và tạo ra một báo cáo sai mà không nhận biết.
Đo nền tảng của chính bạn.
Đo khả năng chỉ đạo & kiểm chứng.
Mọi bài tập đều ghi nhãn 🚫 đóng hoặc ✅ mở ngay trên đề. Nếu không thấy nhãn, hãy hỏi giảng viên trước khi dùng AI.
Khai báo đầy đủ không bị trừ điểm — giấu diếm là vấn đề.
Chi tiết + hậu quả: trang "Chính sách AI" trên website môn học — đọc trước bài 2.
Bước 4 giúp bạn xác nhận rằng kết quả phù hợp với dữ liệu và mục tiêu phân tích. Mỗi bài đều có mục "Làm việc với AI thì sao?".
Điểm số, bài tập lớn, và việc cần làm tuần này.
| Đầu điểm | Trọng số | Chế độ |
|---|---|---|
| Thực hành — nộp bài lab | 10% | ✅ mở |
| Kiểm tra trên lớp (chuyên cần) — 2 bài giấy 15 phút | 10% | 🚫 đóng |
| Thi giữa kỳ | 20% | 🚫 đóng |
| Bài tập lớn nhóm + vấn đáp | 60% | ✅ mở (vấn đáp 🚫 đóng) |
Bài tập lớn chiếm 60% tổng điểm; sản phẩm, khả năng giải thích và kiểm chứng là các căn cứ đánh giá chính.
Đề chi tiết có trên website môn học. Thành phố của từng nhóm công bố trên Canvas Portal đầu kỳ.
mean() bỏ NaN); đề xuất cú pháp
không tồn tại ở phiên bản thư viện đang dùng.
Notebook bài này giúp bạn thực hành quy trình kiểm chứng lần đầu.