สารบัญ:
- การเลือกโดยใช้มาตรการที่ไม่เหมือนกัน
- คลาส RFECV เหมาะสมกับข้อมูลสามารถให้ข้อมูลเกี่ยวกับจำนวนคุณลักษณะที่เป็นประโยชน์ชี้ให้คุณเห็นและแปลงข้อมูล X โดยอัตโนมัติตามวิธีการแปลงเป็นชุดตัวแปรที่ลดลงตามที่แสดงใน ตัวอย่างต่อไปนี้:
การเลือกตัวแปรที่ถูกต้องใน Python สามารถปรับปรุงกระบวนการเรียนรู้ในข้อมูลวิทยาศาสตร์โดยการลดปริมาณเสียง (ไร้ประโยชน์ ข้อมูล) ที่สามารถมีอิทธิพลต่อการประมาณการของผู้เรียน การเลือกตัวแปรสามารถลดความแปรปรวนของการคาดคะเนได้อย่างมีประสิทธิภาพ คุณสามารถใช้เทคนิคเหล่านี้ได้:
-
วิธีที่ไม่เหมือนกัน: เลือกตัวแปรที่เกี่ยวข้องกับผลลัพธ์ที่ได้มากที่สุด
-
วิธีโลภหรือถอยหลัง: เก็บเฉพาะตัวแปรที่คุณสามารถลบออกจากกระบวนการเรียนรู้โดยไม่ทำให้ประสิทธิภาพการทำงานของไฟล์เสียหาย
การเลือกโดยใช้มาตรการที่ไม่เหมือนกัน
ถ้าคุณตัดสินใจที่จะเลือกตัวแปรตามระดับของการเชื่อมโยงกับเป้าหมาย SelectPercentile ของชั้นจะมีขั้นตอนโดยอัตโนมัติสำหรับการรักษาเฉพาะเปอร์เซ็นต์ที่ดีที่สุดคุณลักษณะที่เกี่ยวข้องเท่านั้น เมตริกที่มีอยู่สำหรับการเชื่อมโยงคือ
-
f_regression: ใช้เฉพาะกับตัวเลขเป้าหมายและขึ้นอยู่กับประสิทธิภาพการถดถอยเชิงเส้น
-
f_classif: ใช้เฉพาะกับเป้าหมายตามหมวดหมู่และอิงตามการทดสอบสถิติทางสถิติ ANAVA (Analysis of Variance)
-
chi2: ประมวลผลสถิติไคสแควร์สำหรับเป้าหมายแบบแบ่งกลุ่มซึ่งมีความสมเหตุสมผลน้อยกว่ากับความสัมพันธ์ไม่เชิงเส้นระหว่างตัวแปรคาดการณ์และเป้าหมาย
นอกเหนือจากการใช้การเลือกกลุ่มความสัมพันธ์กับเปอร์เซ็นต์ชั้นนำโดยตรง SelectPercentile ยังสามารถจัดอันดับตัวแปรที่ดีที่สุดเพื่อให้สามารถตัดสินใจได้ว่าเปอร์เซ็นต์ใดที่จะไม่รวมคุณลักษณะเข้าร่วมในกระบวนการเรียนรู้ Class SelectKBest มีลักษณะคล้ายคลึงกับฟังก์ชันการทำงานของมัน แต่จะเลือกตัวแปร k ด้านบนโดยที่ k คือตัวเลขไม่ใช่เปอร์เซ็นไทล์
จากขนแกะ feature_selection นำเข้า SelectPercentile จาก sklearn feature_selection นำเข้า f_regression Selector_f = SelectPercentile (f_regression, percentile = 25) Selector_f. พอดี (X, y) สำหรับ n, s ใน zip (boston. feature_names, Selector_f. scores_): พิมพ์ 'F-score:% 3 คะแนน F-score: 88. 15 สำหรับคุณลักษณะ CRIM F-score: 75. 26 สำหรับคุณลักษณะ ZN F-score: 153. 95 สำหรับคุณลักษณะ INDUS F-score: 15. 97 สำหรับ คุณลักษณะ CHAS F-score: 112. 59 สำหรับคะแนน NOX ของ F: 471. 85 สำหรับคะแนน RM F-score: 8348 สำหรับคะแนนคุณลักษณะ AGE F: 33. 58 สำหรับคุณลักษณะ DIS F-score: 85. 91 สำหรับคุณลักษณะ RAD F-score: 141. 76 สำหรับคะแนนคุณลักษณะ TAX F: 175. 11 สำหรับคะแนน PTRATIO F-score: 63 05 สำหรับคุณลักษณะ B F-score: 601. 62 สำหรับคุณสมบัติ LSTAT
การใช้ระดับของการเชื่อมโยงช่วยให้คุณสามารถเลือกตัวแปรที่สำคัญที่สุดสำหรับรูปแบบการเรียนรู้ด้วยเครื่องของคุณ แต่คุณควรระวังปัญหาที่เป็นไปได้เหล่านี้: ตัวแปรบางตัวที่มีความสัมพันธ์กันสูงอาจมีความสัมพันธ์กันสูงแนะนำข้อมูลที่ซ้ำกันซึ่งทำหน้าที่เป็นเสียงในกระบวนการเรียนรู้
ตัวแปรบางตัวอาจถูกลงโทษโดยเฉพาะอย่างยิ่งไบนารี (ตัวแปรระบุสถานะหรือลักษณะโดยใช้ค่า 1 เมื่อมีอยู่ 0 ถ้าไม่มี) ตัวอย่างเช่นสังเกตว่าเอาต์พุตแสดง CHAS ตัวแปรไบนารีอย่างน้อยที่สุดที่เกี่ยวข้องกับตัวแปรเป้าหมาย (แต่คุณทราบจากตัวอย่างก่อนหน้าว่ามีอิทธิพลจากขั้นตอนการตรวจสอบข้าม)
-
ขั้นตอนการคัดเลือกที่ไม่เหมือนกันสามารถให้ประโยชน์อย่างแท้จริงเมื่อคุณมีตัวแปรจำนวนมากเพื่อเลือกและวิธีอื่น ๆ ทั้งหมดจะไม่สามารถคำนวณได้ ขั้นตอนที่ดีที่สุดคือการลดค่าของ SelectPercentile โดยครึ่งหนึ่งของตัวแปรที่สามารถใช้งานได้ลดจำนวนตัวแปรลงได้ถึงจำนวนที่สามารถจัดการได้และทำให้สามารถใช้วิธีการที่ซับซ้อนและแม่นยำยิ่งขึ้นเช่นการค้นหาโลภ
-
การใช้การค้นหาแบบโลภ
เมื่อใช้การเลือกที่ไม่เหมือนกันคุณต้องตัดสินใจเองว่าจะเก็บตัวแปรไว้กี่ตัวแปร: การเลือกแบบโลภจะลดจำนวนคุณลักษณะที่เกี่ยวข้องกับรูปแบบการเรียนรู้โดยอัตโนมัติบนพื้นฐานของผลงานที่มีประสิทธิภาพของพวกเขา ประสิทธิภาพโดยวัดจากการวัดความผิดพลาด
คลาส RFECV เหมาะสมกับข้อมูลสามารถให้ข้อมูลเกี่ยวกับจำนวนคุณลักษณะที่เป็นประโยชน์ชี้ให้คุณเห็นและแปลงข้อมูล X โดยอัตโนมัติตามวิธีการแปลงเป็นชุดตัวแปรที่ลดลงตามที่แสดงใน ตัวอย่างต่อไปนี้:
จาก sklearn feature_selection import ตัวเลือก RFECV = RFECV (estimator = การถดถอย, cv = 10, score = "mean_squared_error") selector ("จำนวนที่เหมาะสมที่สุดของคุณสมบัติ:% d"% selector n_features_) จำนวนคุณลักษณะที่เหมาะสมที่สุด: 6
เป็นไปได้ที่ดัชนีจะได้รับตัวแปรที่เหมาะสมโดยเรียกแอตทริบิวต์ support_ จาก RFECV หลังจากที่คุณพอดี
พิมพ์บอสตัน feature_names [เลือก สังเกตว่า CHAS ถูกรวมอยู่ในกลุ่มคุณสมบัติที่สามารถคาดการณ์ได้มากที่สุดซึ่งตรงกันข้ามกับผลลัพธ์ที่ได้จากการค้นหาแบบ univariate วิธี RFECV สามารถตรวจจับว่ามีตัวแปรหรือไม่ เป็นสำคัญไม่ว่าจะเป็นไบนารีเด็ดขาดหรือตัวเลขเนื่องจากประเมินผลโดยตรงบทบาทที่เล่นโดยคุณลักษณะในการทำนาย
วิธี RFECV จะมีประสิทธิภาพมากกว่าเมื่อเทียบกับวิธีการที่ไม่แปรเปลี่ยนไปเพราะ พิจารณาคุณสมบัติที่มีความเกี่ยวข้องสูงและได้รับการปรับแต่งเพื่อเพิ่มประสิทธิภาพของการวัดผล (ซึ่งโดยปกติแล้วจะไม่ใช่ค่าไคสแควร์หรือ F-score) เป็นกระบวนการที่น่าขันเป็นสิ่งที่เรียกร้องทางคอมพิวเตอร์และอาจเป็นเพียงตัวอย่างของตัวพยากรณ์ที่ดีที่สุดเท่านั้น
เนื่องจาก RFECV ได้เรียนรู้ชุดตัวแปรที่ดีที่สุดจากข้อมูลการเลือกอาจจะทำให้เกิดขึ้นซึ่งเป็นสิ่งที่เกิดขึ้นกับอัลกอริทึมการเรียนรู้ด้วยเครื่องทั้งหมด การพยายาม RFECV ในตัวอย่างที่แตกต่างกันของข้อมูลการฝึกอบรมสามารถยืนยันตัวแปรที่ดีที่สุดที่จะใช้