สารบัญ:
- กำลังโหลดข้อมูล
- บรรทัดที่ 3 ใช้อินสแตนซ์ของตัวจำแนกประเภทครีเอทีฟฟอเรสต์ที่คุณเพิ่งสร้างขึ้นจากนั้นเรียกวิธีแบบพอดีเพื่อฝึกแบบจำลองด้วยชุดข้อมูลการฝึกอบรม
- 0 8666666666666667 # 1 0 ความถูกต้อง 100 เปอร์เซ็นต์ >>>> คาดการณ์ == y_test
- n_estimators
แบบจำลองป่าแบบสุ่มเป็นรูปแบบชุดที่สามารถ ใช้ในการวิเคราะห์เชิงคาดการณ์ (เลือก) ของต้นไม้ตัดสินใจเพื่อสร้างรูปแบบ ความคิดคือการสุ่มตัวอย่างผู้เรียนที่อ่อนแอ (เซตย่อยแบบสุ่มของข้อมูลการฝึกอบรม) และให้พวกเขาออกเสียงเพื่อเลือกรูปแบบที่แข็งแกร่งและดีที่สุด แบบจำลองป่าแบบสุ่มสามารถใช้สำหรับการจำแนกหรือการถดถอย ในตัวอย่างต่อไปนี้แบบจำลองป่าแบบสุ่มใช้ในการจำแนกชนิดของไอริส
กำลังโหลดข้อมูล
รายชื่อโค้ดนี้จะโหลด
iris
ชุดข้อมูลลงในเซสชันของคุณ: >>>> จาก sklearn datasets import load_iris >>>> iris = load_iris ()
การสร้างอินสแตนซ์ของตัวแบ่งประเภท
โค้ดสองบรรทัดต่อไปนี้จะสร้างอินสแตนซ์ของตัวแบ่งประเภท บรรทัดแรกนำเข้าไลบรารีป่าแบบสุ่ม บรรทัดที่สองสร้างอินสแตนซ์ของอัลกอริทึมของฟ้อนต์สุ่ม:
>>>> จากฟอก
พารามิเตอร์ n_estimators
ในตัวสร้างเป็นพารามิเตอร์การปรับแต่งที่ใช้ทั่วไปสำหรับแบบจำลองป่าแบบสุ่ม. ค่านี้ใช้ในการสร้างจำนวนต้นไม้ในฟอเรสต์ โดยทั่วไปประมาณ 10 ถึง 100 เปอร์เซ็นต์ของชุดข้อมูล แต่ขึ้นอยู่กับข้อมูลที่คุณใช้อยู่ ที่นี่ค่าถูกตั้งไว้ที่ 15 ซึ่งเป็น 10 เปอร์เซ็นต์ของข้อมูล หลังจากนั้นคุณจะเห็นว่าการเปลี่ยนค่าพารามิเตอร์เป็น 150 (100 เปอร์เซ็นต์) จะทำให้ได้ผลลัพธ์ที่เหมือนกัน
n
_estimators
ใช้เพื่อปรับแต่งประสิทธิภาพและการใช้งานแบบจำลอง ยิ่งค่ายิ่งดีเท่าไหร่ก็ยิ่งทำให้ประสิทธิภาพการทำงานดีขึ้น แต่ค่าใช้จ่ายของ overfitting ค่าที่น้อยกว่ามีโอกาสที่จะไม่ใช้งานได้มากนัก แต่มีต้นทุนที่ต่ำกว่า นอกจากนี้ยังมีจุดที่การเพิ่มจำนวนโดยทั่วไปจะลดลงในการปรับปรุงความถูกต้องและอาจเพิ่มพลังการคำนวณที่จำเป็นอย่างมาก ค่าเริ่มต้นเป็น 10 ถ้ามีการละเว้นในตัวสร้าง
การเรียกใช้ข้อมูลการฝึกอบรม
คุณจะต้องแบ่งชุดข้อมูลออกเป็นชุดฝึกอบรมและทดสอบก่อนจึงจะสามารถสร้างอินสแตนซ์ของตัวจำแนกประเภทสุ่มได้ รหัสต่อไปนี้จะสำเร็จงานดังกล่าว: >>>> จากการนำเข้า sk2arn <% 999 >>>> X_train, X_test, y_train, y_test =
ไอริส target, test_size = 0. 10, random_state = 111) >>>> rf = rf. fit (X_train, y_train)
บรรทัดที่ 1 นำเข้าไลบรารีที่ช่วยให้คุณแบ่งข้อมูลออกเป็นสองส่วน
บรรทัดที่ 2 เรียกใช้ฟังก์ชันจากไลบรารีที่แยกชุดข้อมูลออกเป็นสองส่วนและกำหนดชุดข้อมูลที่แบ่งกันตอนนี้ให้เป็นตัวแปรสองตัวแปร
บรรทัดที่ 3 ใช้อินสแตนซ์ของตัวจำแนกประเภทครีเอทีฟฟอเรสต์ที่คุณเพิ่งสร้างขึ้นจากนั้นเรียกวิธีแบบพอดีเพื่อฝึกแบบจำลองด้วยชุดข้อมูลการฝึกอบรม
การรันข้อมูลทดสอบ
ในโค้ดต่อไปนี้บรรทัดแรกจะป้อนชุดข้อมูลทดสอบไปยังรุ่นจากนั้นบรรทัดที่สามจะแสดงผลลัพธ์: >>>> predicted = rf ทำนาย (X_test) >>>> อาร์เรย์
ที่คาดการณ์ไว้ ([0, 0, 2, 2, 2, 0, 0, 2, 2, 1, 2, 0, 1, 2, 2]) > การประเมินโมเดล
คุณสามารถอ้างอิงเอาต์พุตจากการคาดคะเนได้กับอาร์เรย์
y_test
ด้วยเหตุนี้คุณจึงเห็นว่าข้อมูลดังกล่าวทำนายจุดทดสอบสองจุดไม่ถูกต้อง ดังนั้นความถูกต้องของแบบจำลองป่าแบบสุ่มเท่ากับ 86.6 เปอร์เซ็นต์
- นี่คือโค้ด: >>>> จากเมตริกการนำเข้าของ sklearn >>>> อาร์เรย์
- ที่คาดคะเนไว้ ([0, 0, 2, 2, 2, 0, 0, 2, 2, 1, 2, 2, 2, 2, 2]) >>>> y_test
- array ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>>> เมตริก accuracy_score (y_test, predicted)
0 8666666666666667 # 1 0 ความถูกต้อง 100 เปอร์เซ็นต์ >>>> คาดการณ์ == y_test
array (ทรู, ทรู, ทรู, เท็จ, จริง, จริง,
ทรู, ทรู, ทรู, ทรู, True, True,
True], dtype = bool)
แบบจำลองป่าแบบสุ่มจะทำอย่างไรถ้าคุณเปลี่ยนพารามิเตอร์
n_estimators
เป็น 150? ดูเหมือนว่าจะไม่สร้างความแตกต่างให้กับชุดข้อมูลขนาดเล็กนี้ ผลลัพธ์เดียวกัน: >>>> rf = RandomForestClassifier (n_estimators = 150,
random_state = 111) >>>> rf = rf fit (X_train, y_train) >>>> คาดการณ์ = rf ทำนาย (X_test) >>>> อาร์เรย์
ที่คาดการณ์ไว้ ([0, 0, 2, 2, 2, 0, 0, 2, 2, 1, 2, 0, 1, 2, 2]) >