คุณจะต้องเรียกใช้ชุดการทดสอบเทียมพยายามตรวจสอบคุณสมบัติที่เกี่ยวข้องโดยใช้วิธีการต่าง ๆ ในขณะที่รู้ล่วงหน้าว่าชุดย่อยของตัวแปรอินพุตมีผลต่อตัวแปรเอาต์พุตอย่างไร
เคล็ดลับที่ดีคือเก็บชุดของตัวแปรอินพุตแบบสุ่มด้วยการแจกแจงที่แตกต่างกันและตรวจสอบให้แน่ใจว่าคุณสมบัติการเลือกของคุณ algos แท็กแน่นอนว่าไม่เกี่ยวข้อง
เคล็ดลับก็คือเพื่อให้แน่ใจว่าหลังจากอนุญาตแถวตัวแปรที่ติดแท็กเป็นหยุดที่เกี่ยวข้องจะถูกจัดเป็นที่เกี่ยวข้อง
ดังกล่าวข้างต้นนำไปใช้กับทั้งวิธีการกรองและเสื้อคลุม
นอกจากนี้ต้องแน่ใจว่าจัดการกรณีเมื่อตัวแปรที่แยกจากกัน (หนึ่งต่อหนึ่ง) ไม่แสดงอิทธิพลใด ๆ ต่อเป้าหมาย แต่เมื่อนำมาร่วมกันเปิดเผยการพึ่งพาที่แข็งแกร่ง ตัวอย่างจะเป็นปัญหา XOR ที่รู้จักกันดี (ตรวจสอบรหัส Python):
import numpy as np
import matplotlib.pyplot as plt
from sklearn.feature_selection import f_regression, mutual_info_regression,mutual_info_classif
x=np.random.randn(5000,3)
y=np.where(np.logical_xor(x[:,0]>0,x[:,1]>0),1,0)
plt.scatter(x[y==1,0],x[y==1,1],c='r',marker='x')
plt.scatter(x[y==0,0],x[y==0,1],c='b',marker='o')
plt.show()
print(mutual_info_classif(x, y))
เอาท์พุท:
[0. 0. 0.00429746]
ดังนั้นวิธีการกรองที่ทรงพลัง (แต่ไม่มีตัวแปร) (การคำนวณข้อมูลร่วมกันระหว่างตัวแปรออกและอินพุต) ไม่สามารถตรวจจับความสัมพันธ์ใด ๆ ในชุดข้อมูลได้ ในขณะที่เรารู้แน่นอนว่ามันขึ้นอยู่กับการพึ่งพา 100% และเราสามารถทำนาย Y ด้วยความแม่นยำ 100% ที่รู้ว่า X
ความคิดที่ดีคือการสร้างเกณฑ์มาตรฐานสำหรับวิธีการเลือกคุณสมบัติทุกคนต้องการมีส่วนร่วมหรือไม่?