1. Khoa học dữ liệu là gì?
Khoa học dữ liệu là lĩnh vực liên ngành kết hợp toán học, thống kê, khoa học máy tính và kiến thức chuyên môn; nó dùng các phương pháp khoa học, thuật toán, quy trình cùng máy tính để rút ra tri thức và hiểu biết từ dữ liệu.
Vai trò nổi bật của máy tính trong lĩnh vực này:
- Lưu trữ được khối lượng dữ liệu rất lớn: tệp tin, cơ sở dữ liệu, dữ liệu trực tuyến; dữ liệu có thể lưu phân tán trên nhiều máy chủ, trên điện toán đám mây.
- Tính toán hiệu năng cao: nhiều bộ xử lí, nhiều máy tính làm việc song song giúp xử lí dữ liệu lớn trong thời gian ngắn.
- Cung cấp phần mềm, thư viện và thuật toán (thống kê, học máy) để phân tích dữ liệu.
- Xử lí nhanh, chính xác các thao tác lặp lại như tính tổng, trung bình, sắp xếp, tìm kiếm, lọc, đếm tần số.
- Hỗ trợ trực quan hoá bằng biểu đồ và báo cáo sinh động, giúp con người dễ ra quyết định.
2. Phân loại dữ liệu
- Dữ liệu có cấu trúc: được tổ chức theo hàng và cột, ví dụ bảng tính, cơ sở dữ liệu quan hệ.
- Dữ liệu bán cấu trúc: có nhãn hoặc cấu trúc không nghiêm ngặt, ví dụ tệp dạng JSON, XML.
- Dữ liệu phi cấu trúc: không theo hàng và cột cố định, ví dụ văn bản, hình ảnh, âm thanh, video, nhật kí hệ thống.
3. Quy trình giải quyết vấn đề bằng khoa học dữ liệu
- 1.Xác định vấn đề: làm rõ mục tiêu cần trả lời hoặc quyết định cần đưa ra.
- 2.Thu thập dữ liệu: chọn nguồn đáng tin cậy, ghi rõ cách thu thập và phạm vi dữ liệu.
- 3.Tiền xử lí dữ liệu: làm sạch, loại lỗi, xử lí giá trị thiếu, chuẩn hoá định dạng.
- 4.Phân tích và khai thác: dùng công cụ tính toán, thống kê, mô hình để tìm quy luật, xu hướng.
- 5.Trực quan hoá: biểu diễn kết quả bằng biểu đồ, bảng cho dễ quan sát.
- 6.Diễn giải và quyết định: giải thích ý nghĩa kết quả và đề xuất hành động phù hợp.
4. Dữ liệu lớn và các đặc điểm
| Đặc điểm thường được nhắc đến | |
|---|---|
| Đặc điểm | Ý nghĩa |
| Volume (Khối lượng) | Dữ liệu có quy mô rất lớn, thường đo bằng gigabyte, terabyte, petabyte trở lên. |
| Velocity (Tốc độ) | Dữ liệu sinh ra và cần xử lí với tốc độ cao, đôi khi gần như thời gian thực. |
| Variety (Đa dạng) | Dữ liệu tồn tại ở nhiều dạng: bảng biểu, văn bản, hình ảnh, âm thanh, video. |
| Veracity (Xác thực) | Dữ liệu có độ tin cậy khác nhau; cần kiểm chứng chất lượng trước khi dùng. |
| Value (Giá trị) | Giá trị thực sự thu được sau khi phân tích và khai thác. |
5. Ví dụ minh hoạ
Cho danh sách điểm Toán của một lớp (thang điểm 10): . Hãy viết chương trình tính số học sinh, tổng điểm, điểm trung bình, điểm cao nhất, điểm thấp nhất và số học sinh đạt loại giỏi (từ trở lên).
Lời giải · 2 bước
Ta lưu dữ liệu vào danh sách rồi dùng các hàm có sẵn:
# Danh sach diem Toan thang diem 10
diem = [8.5, 7.0, 9.25, 6.75, 8.0, 5.5, 9.0, 7.5, 8.0, 10.0]
so_hoc_sinh = len(diem)
tong_diem = sum(diem)
diem_trung_binh = tong_diem / so_hoc_sinh
diem_cao = max(diem)
diem_thap = min(diem)
so_gioi = 0
for d in diem:
if d >= 8.0:
so_gioi = so_gioi + 1
print("So hoc sinh:", so_hoc_sinh)
print("Tong diem:", tong_diem)
print("Diem trung binh:", round(diem_trung_binh, 2))
print("Diem cao nhat:", diem_cao)
print("Diem thap nhat:", diem_thap)
print("So hoc sinh gioi:", so_gioi)Bước 2
Kết quả tính được: tổng là ; điểm trung bình là ; điểm cao nhất là ; điểm thấp nhất là ; số học sinh giỏi là .
Với dữ liệu điểm trên, hãy tìm giá trị trung vị.
Lời giải · 2 bước
Trung vị là giá trị nằm giữa dãy số đã được sắp xếp tăng dần.
diem_sap_xep = sorted(diem)
n = len(diem_sap_xep)
if n % 2 == 1:
trung_vi = diem_sap_xep[n // 2]
else:
a = diem_sap_xep[n // 2 - 1]
b = diem_sap_xep[n // 2]
trung_vi = (a + b) / 2
print("Day da sap xep:", diem_sap_xep)
print("Trung vi:", trung_vi)Bước 2
Dãy đã sắp xếp là . Vì số lượng các giá trị là chẵn nên trung vị là trung bình cộng của hai số ở giữa ( và ), tức là .
6. Lưu ý và lỗi hay gặp
- Dữ liệu có giá trị thiếu hoặc định dạng chưa đồng nhất phải được xử lí trước; nếu không, kết quả phân tích sẽ sai.
- Trung bình rất nhạy với giá trị ngoại lai quá lớn hoặc quá nhỏ; khi đó nên xem thêm trung vị để đánh giá đại diện.
- Ta chỉ nên nói đến mối liên hệ tương quan, không vội kết luận nguyên nhân và hệ quả chỉ vì hai yếu tố cùng thay đổi.
- Phạm vi tổng quát hoá phải phù hợp với nguồn dữ liệu; dữ liệu của một lớp không tự động đúng cho cả trường.
7. Câu hỏi ôn tập
- 1.Hoạt động nào sau đây KHÔNG thuộc quy trình khoa học dữ liệu?
A. Thu thập dữ liệu. B. Tiền xử lí dữ liệu. C. Trực quan hoá. D. Cài đặt hệ điều hành. - 2.Cho dãy số đã sắp xếp . Hãy cho biết trung vị và mốt.
- 3.Nêu ba trong số các đặc điểm thường dùng để nói về dữ liệu lớn.
- 4.Máy tính giúp ích gì ở bước phân tích dữ liệu? Hãy nêu hai vai trò cụ thể.
Gợi ý trả lời
- 1.Đáp án D. Cài đặt hệ điều hành là thao tác kĩ thuật hệ thống, không phải bước khai thác tri thức từ dữ liệu.
- 2.
Dãy có giá trị (số lượng chẵn) nên trung vị là trung bình cộng hai giá trị giữa:
Mốt là vì xuất hiện nhiều nhất.
- 3.Có thể chọn ba đặc điểm: Volume, Velocity, Variety (hoặc thêm Veracity, Value nếu muốn).
- 4.Máy tính giúp xử lí nhanh các thao tác lặp lại như tính tổng, trung bình, sắp xếp, đếm tần số; đồng thời hỗ trợ vẽ biểu đồ để trực quan hoá kết quả.