Dữ liệu đưa vào mô hình
Bài học 2 trên 19 trong khóa học Giới thiệu về học máy của Coddy.
Trong học máy (Machine Learning), dữ liệu đóng vai trò quan trọng trong việc huấn luyện và phát triển mô hình. Để đưa dữ liệu vào mô hình, người ta thường sắp xếp dữ liệu theo một định dạng có cấu trúc, gọi là tập dữ liệu (dataset), chẳng hạn như DataFrame trong pandas.
Một tập dữ liệu gồm hai phần chính:
- Đặc trưng - Một nhóm cột biểu thị một tập dữ liệu
- Biến mục tiêu - Biểu thị đầu ra hoặc giá trị mà mô hình muốn dự đoán hoặc ước tính.
Ví dụ, đây là bảng thời tiết
| id | degrees (C) | humidity (%) | wind (KM/H) | is_rain |
| 1 | 23 | 5 | 14 | True |
| 2 | 30 | 10 | 17 | False |
| 3 | 15 | 3 | 12 | False |
| 4 | 20 | 12 | 5 | False |
| 5 | 26 | 57 | 23 | True |
Giả sử ta muốn biết trời có mưa hay không, các đặc trưng là degrees, humidity, wind, còn biến mục tiêu là is_rain.
Các đặc trưng được ký hiệu là <strong>X</strong>, còn mục tiêu được ký hiệu là <strong>y</strong>.
Biến mục tiêu (<strong>y</strong>) có thể chứa mọi kiểu dữ liệu, chẳng hạn như số, giá trị boolean, chuỗi, v.v.
Trong quá trình huấn luyện, mô hình dùng các đặc trưng làm đầu vào và biến mục tiêu làm giá trị thực tế hoặc đầu ra chính xác.
Nếu không có biến mục tiêu, mô hình sẽ không có cách nào biết dự đoán của mình có chính xác hay không.
Cấu trúc của tập dữ liệu có nhiều dạng khác nhau:
- Nhiều đặc trưng, một biến mục tiêu
- Một đặc trưng, một biến mục tiêu
- Nhiều đặc trưng, nhiều biến mục tiêu
- Một số ít đặc trưng, một hoặc nhiều biến mục tiêu
- Không có biến mục tiêu
- Dữ liệu chuỗi thời gian
- v.v.
Học có giám sát sử dụng tập dữ liệu gồm các cặp đầu vào và đầu ra, trong đó thuật toán học cách ánh xạ đầu vào với biến mục tiêu tương ứng.
Học không giám sát không sử dụng biến mục tiêu; thay vào đó, phương pháp này tìm kiếm quy luật hoặc cấu trúc trong dữ liệu đầu vào mà không cần các ví dụ được gán nhãn.
Điều quan trọng là phải đảm bảo biến mục tiêu độc lập với các cột khác, vì bất kỳ sự phụ thuộc nào cũng có thể dẫn đến rò rỉ dữ liệu và khiến hiệu suất trong quá trình huấn luyện cao một cách gây hiểu nhầm. Một mô hình dự đoán thực sự phải học từ các đặc trưng không liên quan trực tiếp đến mục tiêu, nhờ đó duy trì tính toàn vẹn và khả năng khái quát hóa của các dự đoán.
Biến mục tiêu độc lập không thể được tính toán hoặc suy ra trực tiếp từ các cột khác trong tập dữ liệu của bạn; đó là điều bạn muốn dự đoán.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Thử thách
DễBạn được cung cấp một tệp CSV có tên galactic_zoo_no_target.csv. Bộ dữ liệu này không có biến mục tiêu.
Trong thử thách này, bạn sẽ tự tạo biến mục tiêu. Tạo một cột có tên ComplexityIndex dựa trên công thức: WaterCoverage * HabitatDiversity / PlanetMass. Sau đó, xóa các cột WaterCoverage, HabitatDiversity và PlanetMass, vì giờ đây chúng đã được thể hiện qua ComplexityIndex.
Để vượt qua thử thách, đừng in ra bất cứ thứ gì. Chúng mình sẽ kiểm tra biến df nội bộ.
Tự làm thử
# Đã import pandas với tên pd
df = pd.read_csv("galactic_zoo_no_target.csv")
# Viết code của bạn bên dưới
Tất cả bài học trong Giới thiệu về học máy
Tự luyện tập: Trình biên dịch Python online