Đăng nhậpDùng miễn phí

Tin học 12 · Chủ đề 7 (CS). Giải quyết vấn đề với sự trợ giúp của máy tính

Bài 27. Máy tính và Khoa học dữ liệu (CS)

Máy tính trở thành công cụ không thể thiếu để thu thập, xử lí và khai thác tri thức từ khối lượng dữ liệu ngày càng lớn.

Nhớ nhanh

1. Khoa học dữ liệu là gì?

Định nghĩa

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:

2. Phân loại dữ liệu

3. Quy trình giải quyết vấn đề bằng khoa học dữ liệu

Các bước thường gặp
  1. 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. 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. 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. 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. 5.
    Trực quan hoá: biểu diễn kết quả bằng biểu đồ, bảng cho dễ quan sát.
  6. 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ạ

Ví dụ 1 (Thống kê điểm bằng Python)

Cho danh sách điểm Toán của một lớp (thang điểm 10): 8,5; 7; 9,25; 6,75; 8; 5,5; 9; 7,5; 8; 108{,}5;\ 7;\ 9{,}25;\ 6{,}75;\ 8;\ 5{,}5;\ 9;\ 7{,}5;\ 8;\ 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ừ 8,08{,}0 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à 79,579{,}5; điểm trung bình là 7,957{,}95; điểm cao nhất là 1010; điểm thấp nhất là 5,55{,}5; số học sinh giỏi là 66.

Ví dụ 2 (Tìm trung vị của dãy điểm)

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à 5,5; 6,75; 7; 7,5; 8; 8; 8,5; 9; 9,25; 105{,}5;\ 6{,}75;\ 7;\ 7{,}5;\ 8;\ 8;\ 8{,}5;\ 9;\ 9{,}25;\ 10. 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 (88 và 88), tức là 88.

6. Lưu ý và lỗi hay gặp

Những điều cần tránh
  • 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

Câu hỏi 1 (Tự luận ngắn)
  1. 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. 2.
    Cho dãy số đã sắp xếp 3;5;6;7;7;93;5;6;7;7;9. Hãy cho biết trung vị và mốt.
  3. 3.
    Nêu ba trong số các đặc điểm thường dùng để nói về dữ liệu lớn.
  4. 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. 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. 2.

    Dãy có 66 giá trị (số lượng chẵn) nên trung vị là trung bình cộng hai giá trị giữa:

    6+72=6,5. \dfrac{6+7}{2}=6{,}5.

    Mốt là 77 vì 77 xuất hiện nhiều nhất.

  3. 3.
    Có thể chọn ba đặc điểm: Volume, Velocity, Variety (hoặc thêm Veracity, Value nếu muốn).
  4. 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ả.
Gặp bài khó? Chụp ảnh để CEAO giảiAI giải từng bước, đề kiểm tra theo bài, thẻ ghi nhớ. Đăng ký miễn phí.
Thử ngay