Mã hóa one-hot
Thuộc phần Thống kê cho machine learning trong hành trình Machine Learning của Coddy. Bài học 53 trên 64.
Nhạc cụ không có thứ tự: nếu đánh số 1, 2, 3, piano sẽ được xem là lớn hơn trống. Mã hóa one-hot tạo một cột 0/1 riêng cho mỗi danh mục:
pd.get_dummies thực hiện việc đó, còn dtype=int yêu cầu dùng 1 và 0 thay vì True và False:
pupils = pd.DataFrame({"instrument": ["piano", "drums", "piano", "cello"],
"weeks": [4, 3, 6, 10]})
encoded = pd.get_dummies(pupils, columns=["instrument"], dtype=int)
print(encoded)Kết quả in ra:
weeks instrument_cello instrument_drums instrument_piano
0 4 0 0 1
1 3 0 1 0
2 6 0 0 1
3 10 1 0 0Các cột mới được thêm vào cuối, mỗi giá trị một cột, theo thứ tự bảng chữ cái. Cái giá phải trả là chiều rộng: 500 giá trị khác nhau sẽ thêm 500 cột.
Thử thách
Trung bìnhMột trang web du lịch liệt kê các cabin trong cabins.csv. Chương trình đọc tên cột, area hoặc heat. Mã khởi đầu gán số cho cột để tính tương quan với giá, nhưng cả hai cột đều không có thứ tự: r đó là bịa ra.
- Thay các dòng trong mã: mã hóa cột theo phương pháp one-hot (0 và 1).
- In ra số cột mới, rồi in từng cột mới cùng số lượng giá trị 1.
Với năm cabin và đầu vào heat:
heat became 2 columns:
heat_gas: 3 cabins
heat_wood: 2 cabinsTự làm thử
import pandas as pd
cabins = pd.read_csv("cabins.csv")
column = input()
# Viết code của bạn bên dưới
# Những dòng này đánh số các khu vực và loại sưởi theo một thứ tự vốn không có: hãy thay chúng
numbers = {"coast": 1, "hills": 2, "lake": 3, "woods": 4, "gas": 1, "solar": 2, "wood": 3}
cabins[column] = cabins[column].map(numbers)
print(f"{column} against price: r = {round(cabins[column].corr(cabins['price']), 2)}")
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 Thống kê cho machine learning
1Giá trị trung tâm và độ phân tán
Giá trị trung bình và trung vịPhân vị và tứ phân vịPhương sai và độ lệch chuẩnMẫu hay tổng thể?Giá trị xuất hiện nhiều nhấtÔn tập: Thời gian giao hàng4Mẫu và tổng thể
Tổng thể và mẫuTrung bình mẫu biến thiênPhân phối mẫuMẫu lớn hơn, ít nhiễu hơnÔn tập: khảo sát một thị trấn2Các phân phối
Biểu đồ tần suất mật độHình dạng của dữ liệuĐường cong chuẩnQuy tắc 68-95-99,7Điểm ZÔn tập: Thời lượng pin3Xác suất qua mô phỏng
Xác suất dưới dạng tần suấtLuật số lớnTổng điểm khi gieo xúc xắcGiá trị kỳ vọngXác suất có điều kiệnÔn tập: Tỷ lệ thắng ở quầy xúc xắc6Mối quan hệ
Đọc biểu đồ phân tánTương quanMa trận tương quanBản đồ nhiệt tương quanTương quan không đồng nghĩa với quan hệ nhân quảÔn tập: Kem và mặt trờiTự luyện tập: Trình biên dịch Python online