หัวข้ออื่นๆ

หน่วยนี้จะกล่าวถึงหัวข้อต่อไปนี้

  • การตีความ Random Forest
  • การฝึก Random Forest
  • ข้อดีและข้อเสียของ Random Forest

การตีความ Random Forest

การตีความแบบ Random Forest มีความซับซ้อนกว่า Decision Tree ป่าแบบสุ่มประกอบด้วยต้นไม้การตัดสินใจที่ได้รับการฝึกด้วยสัญญาณรบกวนแบบสุ่ม ดังนั้น การประเมินโครงสร้างแผนภูมิการตัดสินใจจึงทำได้ยากขึ้น อย่างไรก็ตาม เราสามารถตีความโมเดล Random Forest ได้ 2 วิธี

วิธีหนึ่งในการตีความ Random Forest คือการฝึกและตีความต้นไม้การตัดสินใจด้วยอัลกอริทึม CART เนื่องจากทั้ง Random Forest และ CART ได้รับการฝึกด้วยอัลกอริทึมหลักเดียวกัน จึง "ใช้มุมมองแบบรวมเดียวกัน" กับชุดข้อมูล ตัวเลือกนี้เหมาะกับชุดข้อมูลที่ไม่ซับซ้อนและช่วยให้เข้าใจการตีความโดยรวมของโมเดล

ความสำคัญของตัวแปรเป็นอีกแนวทางที่ตีความได้ ตัวอย่างเช่น ตารางต่อไปนี้จัดอันดับความสำคัญของตัวแปรของฟีเจอร์ต่างๆ สําหรับโมเดล Random Forest ที่ผ่านการฝึกอบรมในชุดข้อมูลการสำรวจประชากร (หรือที่เรียกว่า Adult)

ตารางที่ 8 ความสำคัญของตัวแปรของฟีเจอร์ต่างๆ 14 รายการ

ฟีเจอร์ คะแนนรวม ค่าเฉลี่ยของความแม่นยำที่ลดลง ค่ามัธยฐานที่ลดลงของ AUC ค่าเฉลี่ยความลึกขั้นต่ำ จำนวนโหนด ค่ามัธยฐานที่ลดลงของ PR-AUC Num เป็นรูท
ความสัมพันธ์

4203592.6

0.0045

0.0172

4.970

57040

0.0093

1095

capital_gain

3363045.1

0.0199

0.0194

2.852

56468

0.0655

457

marital_status

3128996.3

0.0018

0.0230

6.633

52391

0.0107

750

อายุ

2520658.8

0.0065

0.0074

4.969

356784

0.0033

200

การศึกษา

2015905.4

0.0018

-0.0080

5.266

115751

-0.0129

205

อาชีพ

1939409.3

0.0063

-0.0040

5.017

221935

-0.0060

62

education_num

1673648.4

0.0023

-0.0066

6.009

58303

-0.0080

197

fnlwgt

1564189.0

-0.0002

-0.0038

9.969

431987

-0.0049

0

hours_per_week

1333976.3

0.0030

0.0007

6.393

206526

-0.0031

20

capital_loss

866863.8

0.0060

0.0020

8.076

58531

0.0118

1

workclass

644208.4

0.0025

-0.0019

9.898

132196

-0.0023

0

native_country

538841.2

0.0001

-0.0016

9.434

67211

-0.0058

0

เพศ

226049.3

0.0002

0.0002

10.911

37754

-0.0011

13

เชื้อชาติ

168180.9

-0.0006

-0.0004

11.571

42262

-0.0031

0

ดังที่คุณเห็น ความสําคัญของตัวแปรที่กําหนดไว้แตกต่างกันจะมีรูปแบบที่แตกต่างกัน และอาจทําให้การจัดอันดับฟีเจอร์แตกต่างกัน

ความสําคัญของตัวแปรที่มาจากโครงสร้างโมเดล (เช่น คะแนนรวม ความลึกขั้นต่ำเฉลี่ย จํานวนโหนด และจํานวนที่เป็นรูทในตารางด้านบน) จะคํานวณในลักษณะเดียวกันสําหรับต้นไม้การตัดสินใจ (ดูส่วน "รถเข็น | ความสําคัญของตัวแปร") และป่าแบบสุ่ม

ความสำคัญของตัวแปรการสับเปลี่ยน (เช่น การลดลงของค่าเฉลี่ยใน {accuracy, auc, pr-auc} ในตารางด้านบน) คือการวัดผลที่ไม่ขึ้นอยู่กับโมเดลซึ่งสามารถคํานวณในโมเดลแมชชีนเลิร์นนิงใดก็ได้ที่มีชุดข้อมูลที่ใช้ตรวจสอบ อย่างไรก็ตาม เมื่อใช้ Random Forest คุณจะคํานวณความสําคัญของตัวแปรด้วยการสุ่มตัวอย่างแทนการใช้ชุดข้อมูลที่ใช้ตรวจสอบได้

SHAP (SHapley Additive exPlanations) เป็นวิธีการที่ไม่ขึ้นอยู่กับโมเดลเพื่ออธิบายการคาดการณ์แต่ละรายการหรือการตีความตามโมเดล (ดูข้อมูลเบื้องต้นเกี่ยวกับการตีความที่ไม่ขึ้นอยู่กับโมเดลได้จากหนังสือ Interpretable Machine Learning ของ Molnar) โดยทั่วไป SHAP จะใช้เวลาในการคํานวณนาน แต่สามารถเพิ่มความเร็วได้อย่างมากสําหรับป่าการตัดสินใจ จึงเหมาะสําหรับตีความป่าการตัดสินใจ

ตัวอย่างการใช้งาน

ในบทเรียนก่อนหน้านี้ เราได้ฝึกต้นไม้การตัดสินใจ CART ในชุดข้อมูลขนาดเล็กโดยเรียกใช้ tfdf.keras.CartModel หากต้องการฝึกโมเดล Random Forest ให้แทนที่ tfdf.keras.CartModel ด้วย tfdf.keras.RandomForestModel ดังนี้

model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)

ข้อดีและข้อเสีย

ส่วนนี้มีข้อมูลสรุปสั้นๆ เกี่ยวกับข้อดีและข้อเสียของ Random Forest

ข้อดี:

  • เช่นเดียวกับต้นไม้การตัดสินใจ ป่าแบบสุ่มรองรับฟีเจอร์ตัวเลขและหมวดหมู่แบบเนทีฟ และมักไม่จําเป็นต้องประมวลผลฟีเจอร์ล่วงหน้า
  • เนื่องจากต้นไม้การตัดสินใจเป็นอิสระ จึงฝึกฝนป่าแบบสุ่มได้แบบขนานกัน คุณจึงฝึก Random Forest ได้อย่างรวดเร็ว
  • ป่าแบบสุ่มมีพารามิเตอร์เริ่มต้นที่ให้ผลลัพธ์ที่ยอดเยี่ยมได้บ่อยครั้ง การปรับแต่งพารามิเตอร์เหล่านี้มักไม่ค่อยส่งผลต่อโมเดล

ข้อเสีย:

  • เนื่องจากไม่มีการตัด Decision Tree จึงอาจมีขนาดใหญ่ โมเดลที่มีโหนดมากกว่า 1 ล้านโหนดเป็นเรื่องปกติ บางครั้งขนาด (และความเร็วในการอนุมาน) ของ Random Forest อาจทำให้เกิดปัญหา
  • ป่าแบบสุ่มไม่สามารถเรียนรู้และนําการนําเสนอภายในมาใช้ซ้ำได้ ต้นไม้การตัดสินใจแต่ละต้น (และแต่ละสาขาของต้นไม้การตัดสินใจแต่ละต้น) ต้องเรียนรู้รูปแบบชุดข้อมูลอีกครั้ง ในชุดข้อมูลบางชุด โดยเฉพาะชุดข้อมูลที่ไม่ใช่ตาราง (เช่น รูปภาพ ข้อความ) วิธีการนี้ทําให้ Random Forest ให้ผลลัพธ์แย่กว่าวิธีการอื่นๆ