Random Forest: จะเป็นอย่างไรถ้าฉันรู้ว่าตัวแปรมีความสำคัญ


12

ความเข้าใจของฉันเป็นเพื่อนที่ป่าสุ่มสุ่มmtryตัวแปรในการสร้างแต่ละต้นไม้ตัดสินใจ ดังนั้นถ้า mtry = ncol / 3 ดังนั้นแต่ละตัวแปรจะถูกใช้โดยเฉลี่ยใน 1 ใน 3 ของต้นไม้ และต้นไม้ 2/3 จะไม่ใช้มัน

แต่ถ้าฉันรู้ว่าตัวแปรตัวเดียวน่าจะสำคัญมากมันจะดีหรือไม่ที่จะเพิ่มความน่าจะเป็นที่ตัวแปรนี้จะถูกเลือกในแต่ละต้น เป็นไปได้หรือไม่ที่มีแพ็คเกจสุ่มป่าไม้ใน R

คำตอบ:


6

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


2
หากคุณต้องการต้นไม้ n เพื่อรับการประมาณค่าที่เหมาะสมสำหรับฟังก์ชันเป้าหมายของคุณ แต่คุณกำลังมองหาตัวแปรที่มีความสำคัญคุณสามารถตั้งค่าบางอย่างเช่นต้นไม้ 5 * n หรือ 10 * n ในป่า พวกเขาจะมาบรรจบกันมากขึ้นไม่ได้อยู่ที่ "ข้อผิดพลาดพอดี" แต่ในการเปลี่ยนแปลงในความสำคัญของตัวแปร
EngrStudent

5

ตั้งแต่มิถุนายน 2015 อัลกอริทึม RF ที่มีแนวโน้มใหม่ใน R-CRAN ที่เรียกว่า 'ranger' มีคุณสมบัตินี้ มันถูกปรับแต่งด้วย, split.select.weights : "เวกเตอร์ตัวเลขที่มีน้ำหนักระหว่าง 0 ถึง 1 แสดงถึงความน่าจะเป็นที่จะเลือกตัวแปรสำหรับการแยก"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.