มันสมเหตุสมผลหรือไม่ที่จะใช้การเลือกคุณสมบัติก่อน Random Forest?


คำตอบ:


6

ใช่มันเป็นและมันค่อนข้างบ่อย หากคุณคาดหวังมากกว่า ~ 50% ของคุณสมบัติของคุณไม่ได้ซ้ำซ้อน แต่ไร้ประโยชน์อย่างเต็มที่ เช่นแพคเกจ randomForest มีฟังก์ชั่น wrapper rfcv () ซึ่งจะฝึกหัด randomForest และละเว้นตัวแปรที่สำคัญที่สุด ฟังก์ชั่น rfcv อ้างถึงบทนี้ อย่าลืมฝังการเลือกคุณสมบัติ + การสร้างแบบจำลองในลูปการตรวจสอบความถูกต้องภายนอกเพื่อหลีกเลี่ยงผลลัพธ์ในแง่ดี

[แก้ไขด้านล่าง]

ฉันสามารถกลั่นกรอง "ไร้ประโยชน์อย่างเต็มที่" ป่าสุ่มเดียวมักจะไม่เป็นเช่นการถดถอยด้วยการทำให้เป็นมาตรฐานปกติอย่างสมบูรณ์ไม่สนใจคุณสมบัติถึงแม้ว่าสิ่งเหล่านี้ (ในการจำลองเหตุการณ์ย้อนหลัง) เป็นคุณลักษณะแบบสุ่ม แผนภูมิการตัดสินใจแยกตามคุณลักษณะถูกเลือกโดยเกณฑ์ในแต่ละโหนดในพันโหนดใด ๆ หรือหลายล้านโหนดและไม่สามารถยกเลิกได้ในภายหลัง ฉันไม่สนับสนุนการตัดคุณสมบัติให้เหลือเพียงการเลือกที่ยอดเยี่ยม แต่เป็นไปได้สำหรับชุดข้อมูลบางอย่างที่สามารถเพิ่มประสิทธิภาพการทำนายได้อย่างมาก (ประเมินโดยการตรวจสอบความถูกต้องจากภายนอกซ้ำ ๆ) โดยใช้การเลือกตัวแปรนี้ การค้นพบโดยทั่วไปคือการรักษาคุณสมบัติ 100% หรือใช้งานได้ดีเพียงไม่กี่เปอร์เซ็นต์เท่านั้นและจากนั้นอาจมีช่วงกลางกว้างที่มีประสิทธิภาพการทำนายที่คล้ายกัน

บางทีอาจจะเป็นกฎง่ายๆที่เหมาะสม: เมื่อหนึ่งคาดหวังว่าเชือกเหมือนกูจะทำหน้าที่ได้ดีกว่าสันเขาเหมือนกูสำหรับปัญหาที่กำหนดจากนั้นหนึ่งอาจจะลองก่อนการฝึกอบรมป่าสุ่มและตำแหน่งคุณสมบัติโดยภายในออกจากถุง ความสำคัญของตัวแปรที่ผ่านการตรวจสอบความถูกต้องและลองวางคุณสมบัติที่สำคัญน้อยที่สุด ความสำคัญของตัวแปรจะคำนวณปริมาณของการทำนายแบบจำลองที่ผ่านการตรวจสอบความถูกต้องที่ลดลงเมื่อคุณลักษณะที่ได้รับอนุญาต (ค่าสับ) หลังจากการฝึกอบรมก่อนการทำนาย จะไม่มีใครแน่ใจว่าจะมีหนึ่งคุณลักษณะเฉพาะหรือไม่ แต่ก็น่าจะง่ายกว่าที่จะคาดการณ์จากคุณสมบัติ 5% อันดับต้นกว่า 5% ด้านล่าง

จากมุมมองของภาคปฏิบัติเวลาทำงานของคอมพิวเตอร์อาจลดลงและทรัพยากรบางอย่างอาจถูกบันทึกหากมีต้นทุนการซื้อคงที่ต่อคุณลักษณะ


5
ความสามารถของข้อมูลที่จะบอกคุณว่าคุณลักษณะนั้นไร้ประโยชน์อย่าง จำกัด และฉันหวังว่าตัวเลือกที่คุณอ้างถึงจะถูกรวมเข้ากับอัลกอริทึมฟอเรสต์แบบสุ่ม ไม่เหมาะสมที่จะทำการลบคุณลักษณะล่วงหน้าก่อนที่จะส่งคุณสมบัติของผู้สมัครไปยังอัลกอริทึมฟอเรสต์แบบสุ่ม
Frank Harrell

@ FrankHarrell ฉันได้พยายามที่จะอธิบายคำตอบของฉันอย่างละเอียด
Soren Havelund Welling

2
ฉันไม่เห็นด้วยที่คุณเลือกกฎการให้คะแนนที่แตกต่างกันเพื่อวัตถุประสงค์ที่แตกต่างกัน กฎการให้คะแนนความแม่นยำที่ไม่เหมาะสมนำไปสู่การเลือกคุณสมบัติที่ผิดและให้น้ำหนักที่ไม่ถูกต้อง ชัดเจนมากขึ้นคือความเด็ดขาดในกฎการให้คะแนนบางอย่าง เป็นการดีกว่าที่จะเลือกแบบจำลองการทำนายที่เหมาะสมที่สุดแล้วใช้ทฤษฎีการตัดสินใจที่มั่นคงเพื่อทำการตัดสินใจที่เหมาะสมที่สุดโดยใช้แบบจำลองนั้น สิ่งนี้ทำได้โดยการใช้ฟังก์ชั่นยูทิลิตี้กับการคาดการณ์อย่างต่อเนื่อง
Frank Harrell

1
@ Frankankarrell - คุณสามารถให้คำตอบโดยละเอียดสำหรับคำถามนี้ได้หรือไม่ เห็นได้ชัดว่าคุณมีข้อโต้แย้งบางอย่างกับการทำเลือกคุณสมบัติ ...
ihadanny

1
วิธีที่ดีที่สุดในการเรียนรู้เกี่ยวกับสิ่งนี้คือการตรวจสอบความถูกต้องภายใน bootstrap อย่างเข้มงวดของโพรซีเดอร์ที่พยายามทำการเลือกคุณสมบัติเทียบกับวิธีที่ไม่ทำ บ่อยครั้งที่การเลือกปฏิบัติแบบคาดการณ์ล่วงหน้า (เมื่อวัดโดยใช้กฎการให้คะแนนความแม่นยำที่เหมาะสมหรือแม้กระทั่งกับ- ดัชนี (พื้นที่ ROC)) จะดีกว่าเมื่อไม่ได้พยายามเลือกคุณสมบัติ การเลือกคุณสมบัตินั้นมักจะเป็นไปตามอำเภอใจ
Frank Harrell
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.