Chuỗi để nối tên cột DataFrame. Truyền danh sách có độ dài bằng số cột khi gọi get_dummies trên DataFrame. Ngoài ra, tiền tố có thể là tên cột ánh xạ từ điển thành tiền tố
prefix_sep str, mặc định '_'Nếu thêm tiền tố, dấu phân cách/dấu phân cách để sử dụng. Hoặc chuyển một danh sách hoặc từ điển như với tiền tố
dummy_na bool, mặc định SaiThêm một cột để biểu thị NaN, nếu NaN sai bị bỏ qua
cột giống như danh sách, mặc định Không cóTên cột trong DataFrame sẽ được mã hóa. Nếu các cột là Không thì tất cả các cột có dtype đối tượng, chuỗi hoặc danh mục sẽ được chuyển đổi
thưa thớt bool, mặc định SaiLiệu các cột được mã hóa giả có được hỗ trợ bởi một
>>> pd.get_dummies[s] a b c 0 1 0 0 1 0 1 0 2 0 0 1 3 1 0 00 [Đúng] hay một mảng NumPy thông thường [Sai]
Hãy để tôi cố gắng giới thiệu cho bạn khái niệm độc đáo nhưng quan trọng về mô hình hóa dữ liệu – các biến giả thông qua tình huống dưới đây
Xem xét một bộ dữ liệu là sự kết hợp của dữ liệu liên tục cũng như dữ liệu phân loại. Ngay khi chúng tôi đọc tác phẩm 'phân loại', điều đầu tiên xuất hiện trong đầu chúng tôi là các phân loại trong dữ liệu hoặc sự hiện diện của các nhóm
Điều thường xảy ra là các biến đại diện cho các loại danh mục sống động/khác nhau. Xử lý số lượng lớn các nhóm trong dữ liệu và đưa nó vào mô hình trở thành một nhiệm vụ phức tạp và tẻ nhạt khi kích thước của tập dữ liệu tăng lên và chẳng mấy chốc sự mơ hồ bắt đầu tăng lên
Đây là lúc khái niệm biến giả xuất hiện
Biến giả là một biến số đại diện cho các danh mục con hoặc nhóm con của các biến phân loại của tập dữ liệu
Tóm lại, một biến giả cho phép chúng ta phân biệt giữa các nhóm dữ liệu phụ khác nhau và về mặt thuật ngữ cũng cho phép chúng ta sử dụng dữ liệu để phân tích hồi quy
Hãy xem ví dụ dưới đây
Hãy xem xét một tập dữ liệu chứa 10-15 biến dữ liệu trong đó nó chứa danh mục 'Nam' và 'Nữ'
Nhiệm vụ là hiểu giới tính nào thường chọn và chọn 'màu hồng' làm màu cho vỏ di động của họ. Bây giờ, trong trường hợp này, chúng ta có thể sử dụng các biến giả và gán 0 là Nam và 1 là Nữ. Điều này sẽ giúp mô hình cho ăn hiểu rõ hơn và rõ ràng hơn về dữ liệu được cung cấp
Bây giờ chúng ta hãy tạo một biến giả trong Python
Bây giờ chúng ta hãy bắt đầu với việc tạo một biến giả. Chúng tôi đã sử dụng bài toán dự đoán số lần thuê xe đạp để phân tích và tạo các biến giả
Vì vậy, chúng ta hãy bắt đầu
1. Tải tập dữ liệu
Đầu tiên chúng ta cần load dataset vào môi trường làm việc như hình bên dưới
import pandas BIKE = pandas.read_csv["Bike.csv"]
Bộ dữ liệu gốc
2. Tạo một bản sao của tập dữ liệu gốc để làm việc
Để đảm bảo rằng tập dữ liệu gốc không bị thay đổi, chúng tôi tạo một bản sao của tập dữ liệu gốc để làm việc và thực hiện thao tác tạo hình nộm
Chúng tôi đã sử dụng chức năng pandas.dataframe.copy[]
cho cùng một
bike = BIKE.copy[]
3. Lưu trữ tất cả các biến phân loại trong một danh sách
Bây giờ chúng ta hãy lưu tất cả các biến phân loại từ tập dữ liệu vào một danh sách để xử lý
categorical_col_updated = ['season','yr','mnth','weathersit','holiday']
4. Sử dụng phương thức get_dummies[] để tạo biến giả
Mô-đun Pandas cung cấp cho chúng tôi chức năng dataframe.get_dummies[]
để tạo các hình nộm của dữ liệu phân loại
bike = pandas.get_dummies[bike, columns = categorical_col_updated] print[bike.columns]
Chúng tôi đã chuyển tập dữ liệu và các giá trị cột phân loại cho hàm để tạo hình nộm
đầu ra
Như được thấy bên dưới, một cột giả hoặc cột riêng biệt được tạo cho mọi nhóm phụ trong mỗi danh mục
Giống như, cột 'tháng' có tất cả 12 tháng dưới dạng danh mục
Do đó, mỗi tháng được coi là một nhóm phụ và hàm get_dummies[] đã tạo một cột riêng cho mỗi cột
Index[['temp', 'hum', 'windspeed', 'cnt', 'season_1', 'season_2', 'season_3', 'season_4', 'yr_0', 'yr_1', 'mnth_1', 'mnth_2', 'mnth_3', 'mnth_4', 'mnth_5', 'mnth_6', 'mnth_7', 'mnth_8', 'mnth_9', 'mnth_10', 'mnth_11', 'mnth_12', 'weathersit_1', 'weathersit_2', 'weathersit_3', 'holiday_0', 'holiday_1'], dtype='object']
Bạn có thể tìm tập dữ liệu kết quả bằng hàm get_dummies[] tại đây
Phần kết luận
Đến đây, chúng ta đã đi đến cuối chủ đề này. Vui lòng bình luận bên dưới, trong trường hợp bạn gặp bất kỳ câu hỏi nào