PCA กับข้อมูลตัวอักษรมิติสูงก่อนการจำแนกป่าแบบสุ่ม?


14

มันเหมาะสมหรือไม่ที่จะทำ PCA ก่อนที่จะทำการจำแนกป่าแบบสุ่ม?

ฉันกำลังจัดการกับข้อมูลข้อความมิติสูงและฉันต้องการลดฟีเจอร์เพื่อช่วยหลีกเลี่ยงการสาปแช่งของมิติ แต่ไม่ป่าสุ่มไปแล้วเพื่อลดขนาด


7
อัลกอริทึม RF ไม่ได้รับผลกระทบจากการคาดการณ์จำนวนมากเนื่องจากใช้เพียงส่วนย่อยแบบสุ่มของพวกเขา (เรียกว่าmtryพารามิเตอร์) เพื่อสร้างต้นไม้แต่ละต้น นอกจากนี้ยังมีเทคนิคการกำจัดคุณลักษณะแบบเรียกซ้ำที่สร้างขึ้นบนอัลกอริทึม RF (ดูแพ็คเกจ varSelRF R และการอ้างอิงในนั้น) อย่างไรก็ตามเป็นไปได้อย่างแน่นอนที่จะเพิ่มรูปแบบการลดข้อมูลเริ่มต้นถึงแม้ว่ามันควรจะเป็นส่วนหนึ่งของกระบวนการตรวจสอบข้าม ดังนั้นคำถามคือคุณต้องการใส่การผสมผสานเชิงเส้นของคุณสมบัติของคุณไปยัง RF หรือไม่?
chl

คุณสมบัติ / ขนาด, F > 1K? > 10K? ฟีเจอร์นี้ไม่ต่อเนื่องหรือต่อเนื่องเช่น term-frequency, tfidf, metric metric, word vector หรืออะไร? PCA runtime เป็นกำลังสองกับ F.
smci


มีความเกี่ยวข้องอย่างยิ่ง: stats.stackexchange.com/questions/258938
อะมีบาพูดว่า Reinstate Monica

คำตอบ:


12

ลีโอ Brieman เขียนว่า "มิติสามารถเป็นพร" โดยทั่วไปฟอเรสต์แบบสุ่มสามารถทำงานบนชุดข้อมูลขนาดใหญ่ได้โดยไม่มีปัญหา ข้อมูลของคุณมีขนาดใหญ่แค่ไหน? สาขาที่แตกต่างกันจัดการสิ่งต่าง ๆ ในรูปแบบที่แตกต่างกันขึ้นอยู่กับความรู้ในสาระการเรียนรู้ ยกตัวอย่างเช่นในการศึกษาการแสดงออกของยีนยีนมักจะถูกกำจัดทิ้งโดยอาศัยความแปรปรวนต่ำ สิ่งนี้สามารถช่วยในเวลาทำงานบนฟอเรสต์แบบสุ่ม แต่มันไม่จำเป็น

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

โดยสรุปไม่จำเป็นต้องทำ PCA ก่อนใช้งาน RF แต่คุณทำได้. การตีความอาจเปลี่ยนแปลงได้ขึ้นอยู่กับเป้าหมายของคุณ หากสิ่งที่คุณต้องการทำคือการทำนายการตีความอาจมีความสำคัญน้อยกว่า


ขอบคุณสำหรับคำตอบ ความเร็วเป็นปัญหามากขึ้นเพราะฉันมีป้ายกำกับที่เป็นไปได้หลายพันรายการในปัญหาหลายป้าย แอปพลิเคชั่นนี้จัดประเภทคลังข้อความข้อมูลที่ดึงมาจากคำอธิบายทวิตเตอร์และคำอธิบายของนักวิเคราะห์ของเหตุการณ์บางอย่าง ฉันใช้การถ่วงน้ำหนัก tf-idf และกระเป๋าของแบบจำลองคำ
Maus

9

ฉันต้องการเพิ่มสองเซ็นต์ของฉันเพราะฉันคิดว่าคำตอบที่มีอยู่ไม่สมบูรณ์

การแสดง PCA นั้นมีประโยชน์อย่างยิ่งก่อนการฝึกอบรมฟอเรสต์แบบสุ่ม (หรือ LightGBM หรือวิธีการตัดสินใจแบบต้นไม้อื่น ๆ ) ด้วยเหตุผลหนึ่งข้อที่ฉันแสดงในรูปด้านล่าง

โดยพื้นฐานแล้วมันสามารถทำให้กระบวนการค้นหาขอบเขตการตัดสินใจที่สมบูรณ์แบบง่ายขึ้นโดยจัดแนวการฝึกอบรมของคุณตามทิศทางที่มีความแปรปรวนสูงสุด

ต้นไม้การตัดสินใจมีความอ่อนไหวต่อการหมุนของข้อมูลเนื่องจากขอบเขตการตัดสินใจที่พวกเขาสร้างนั้นเป็นแนวตั้ง / แนวนอนเสมอ (เช่นตั้งฉากกับแกนใดแกนหนึ่ง) ดังนั้นหากข้อมูลของคุณดูเหมือนรูปซ้ายมันจะต้องใช้ต้นไม้ใหญ่กว่ามากเพื่อแยกกลุ่มสองกลุ่มนี้ (ในกรณีนี้คือต้นไม้ 8 ชั้น) แต่ถ้าคุณจัดแนวข้อมูลของคุณตามส่วนประกอบหลัก (เช่นในรูปที่ถูกต้อง) คุณสามารถแยกได้อย่างสมบูรณ์แบบด้วยเลเยอร์เดียว!

แน่นอนว่าไม่ใช่ชุดข้อมูลทั้งหมดที่มีการกระจายเช่นนี้ดังนั้น PCA อาจไม่ได้ช่วยเสมอไป แต่ก็ยังมีประโยชน์ในการลองและดูว่ามีประโยชน์หรือไม่ อย่าลืมที่จะทำให้ชุดข้อมูลของคุณเป็นแบบปกติกับความแปรปรวนของหน่วยก่อนทำการ PCA!

ป.ล. : สำหรับการลดขนาดผมจะเห็นด้วยกับคนอื่น ๆ ที่มักจะไม่เป็นปัญหาใหญ่สำหรับป่าสุ่ม ๆ สำหรับอัลกอริธึมอื่น ๆ แต่ถึงกระนั้นก็อาจช่วยเร่งการฝึกอบรมของคุณเพียงเล็กน้อย เวลาฝึกอบรมการตัดสินใจต้นไม้คือ O (n m log (m)) โดยที่ n คือจำนวนอินสแตนซ์การฝึกอบรม m - จำนวนมิติ และถึงแม้ว่าป่าสุ่มจะสุ่มเลือกชุดย่อยของมิติสำหรับต้นไม้แต่ละต้นที่จะได้รับการฝึกอบรมส่วนล่างของจำนวนมิติทั้งหมดที่คุณเลือกน้อยลงต้นไม้ที่คุณต้องฝึกเพื่อให้ได้ประสิทธิภาพที่ดี

ป้อนคำอธิบายรูปภาพที่นี่


1

PCA ก่อนฟอเรสต์แบบสุ่มจะมีประโยชน์ไม่ใช่เพื่อการลดขนาด แต่เพื่อให้ข้อมูลของคุณมีรูปร่างที่ฟอเรสต์แบบสุ่มสามารถทำงานได้ดีขึ้น

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


PCA runtime เป็นกำลังสองกับจำนวนคุณสมบัติ F ดังนั้นจึงไม่ถูกเสมอไป
smci

ฉันหมายถึงคำทำนายที่สมบูรณ์แบบ ฉันไม่ได้หมายถึงเวลาการคำนวณ
Donbeo

2
คุณสามารถเพิ่มความชอบธรรมให้กับการเรียกร้องของคุณได้ไหม? ดูเหมือนว่า PCA จะไม่ปรับปรุงผลลัพธ์เสมอไป ตัวอย่างเช่นเมื่อขอบเขตการตัดสินใจไม่แปรผันกับการหมุน (เช่นวงกลม) การแสดง PCA จะช่วยลดและหมุนข้อมูล (ดังนั้นวงกลม) แต่ RF จะยังคงประมาณขอบเขตของวงรีที่มีการแบ่งเป็นรูปสี่เหลี่ยมผืนผ้าจำนวนมาก
Sycorax พูดว่า Reinstate Monica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.