onehotencoder สุ่มฟอเรสต์
ในบริบท Random Forest ฉันจำเป็นต้องตั้งค่าหุ่น / OnehotEncoder ในชุดข้อมูลที่คุณสมบัติ / ตัวแปรเป็นตัวเลข แต่อ้างถึงประเภทบางประเภทหรือไม่
สมมติว่าฉันมีตัวแปรต่อไปนี้:
ในกรณีที่Yเป็นตัวแปรที่ฉันต้องการที่จะคาดการณ์ X'sเป็นคุณสมบัติ
ฉันจะมุ่งเน้นไปที่X1. เป็นตัวเลข แต่หมายถึงหมวดหมู่เฉพาะ (เช่น 1 หมายถึงคณิตศาสตร์ 2 หมายถึงวรรณกรรมและ 3 สำหรับประวัติศาสตร์) ฉันจำเป็นต้องใช้ OnehotEncoder (หรือวิธีหลอก) สำหรับ Random Forest algoritm หรือไม่
ฉันเดาว่าฉันไม่จำเป็นต้องทำ แต่ฉันไม่แน่ใจ
คำตอบ
ตามทฤษฎีแล้วหมวดหมู่ต่างๆสามารถจัดการได้เองในโครงสร้างการตัดสินใจ อย่างไรก็ตามการใช้งาน python ส่วนใหญ่จะใช้ได้กับตัวเลขเท่านั้นดังนั้นคุณต้องแปลงไฟล์เหล่านี้ ดูเหมือนว่าคุณมีแล้ว OneHot Encoding เป็นวิธีหนึ่งในการทำเช่นนั้น แต่เมื่อคุณทำเสร็จแล้วก็ไม่จำเป็น คุณอาจลองใช้รูปแบบอื่นเพื่อเปลี่ยนเป็น 1 2 3 หากไม่มีเหตุผลที่สมเหตุสมผลว่าคุณมีวิธีนี้ได้อย่างไร สิ่งนี้เรียกว่าการเข้ารหัสตามหมวดหมู่ วิธีหนึ่งที่ได้รับความนิยมคือการเรียงลำดับตามตัวอักษรและหมายเลข อีกวิธีหนึ่งตามลำดับความถี่ ในตอนท้ายของวันมันจะไม่สำคัญมากนักเพราะฟอเรสต์แบบสุ่มจะเก็บจำนวนตามอัลกอริทึม แม้ว่าอาจสร้างความแตกต่างเล็กน้อยดังนั้นอาจลองใช้วิธีอื่น แต่ไม่คุณไม่จำเป็นต้อง OneHot เข้ารหัสหมวดหมู่ของคุณเนื่องจากเป็นตัวเลขแล้ว