Menu
CoddyTech

Làm quen với chim cánh cụt

Thuộc phần Học có giám sát trong hành trình Machine Learning của Coddy. Bài học 50 trên 58.

Trong phần 1, bạn đã khám phá 100 chú chim cánh cụt. Đàn này có 300 chú, và giờ bạn sẽ xây dựng mô hình để đặt tên cho chúng. Mô hình của bạn sẽ gọi cô ấy là:

300 chú chim cánh cụt được biểu thị bằng các chấm, chiều dài mỏ theo chiều ngang và chiều dài vây theo chiều dọc: Adelie ở thấp bên trái, Chinstrap ở thấp bên phải, Gentoo ở cao bên phải, và một ngôi sao đen lớn ở giữa có nhãn Cô ấy là ai?

Mỗi dự án đều bắt đầu bằng việc quan sát. Có bao nhiêu cá thể thuộc mỗi loài? Đó là số điểm bạn cần vượt qua. Những khoảng trống nằm ở đâu? Điều gì giúp phân biệt các loài?

Biểu đồ phân tán trả lời câu hỏi cuối cùng. Chiều dài vây và khối lượng giúp nhận ra Gentoo, chứ không phải các loài còn lại:

Chiều dài vây so với khối lượng cơ thể của đàn chim: các chấm Gentoo nằm tách biệt, cao và lệch về bên phải, trong khi các chấm Adelie và Chinstrap chồng lấp thành một cụm

Mô hình chỉ học được những gì các phép đo thể hiện, vì vậy nó sẽ cần nhiều hơn hai phép đo này.

challenge icon

Thử thách

Trung bình

Đàn chim cánh cụt của bạn nằm trong penguins.csv. Chương trình đọc hai cột số đo, còn phần code khởi đầu thiết lập biểu đồ cho chúng.

  1. In ra mốc cần vượt qua: tỷ lệ lớn nhất của một loài, với 3 chữ số thập phân, và tên loài đó.
  2. In ra từng cột có dữ liệu thiếu và số lượng dữ liệu thiếu: bài học tiếp theo sẽ điền các chỗ trống này.
  3. Vẽ biểu đồ phân tán cho hai cột, mỗi nhóm tương ứng với một loài và có nhãn là tên loài. Thêm chú giải rồi hiển thị biểu đồ.

Với một đàn nhỏ hơn:

Baseline to beat: 0.483 (always Adelie)
Gaps to fill:
  body_mass_g: 1
  sex: 4

Sau đó, Coddy mô tả biểu đồ của bạn. Với body_mass_g và bill_length_mm, biểu đồ trông như sau:

Biểu đồ phân tán có tiêu đề body_mass_g vs bill_length_mm và chú giải: các chấm Adelie thấp và nhạt màu, Chinstrap cao và nhạt màu, Gentoo nặng hơn ở bên phải

Tự làm thử

import pandas as pd
import matplotlib.pyplot as plt

penguins = pd.read_csv("penguins.csv")
x_col = input()
y_col = input()

# Đừng thay đổi các dòng bên dưới
fig, ax = plt.subplots()
ax.set_title(f"{x_col} vs {y_col}")
ax.set_xlabel(x_col)
ax.set_ylabel(y_col)

# Viết code của bạn bên dưới
quiz iconTự kiểm tra

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 độ.

Tất cả bài học trong Học có giám sát

Tự luyện tập: Trình biên dịch Python online