اذهب إلى المحتوى

السؤال

نشر (معدل)

استخدام الصف VarianceThreshold من Sklearn لحذف ال Features ذات التباين القليل (أغلب قيمها مكررة) حيث أنه لدي بيانات بوليانية لكن بعض ال Features فيها لديها تباين قريب من الصفر؟

 

تم التعديل في بواسطة Meezo ML

Recommended Posts

  • 1
نشر (معدل)

هذا المنهج هو نهج من مناهج ال Feature Selection ويعمل على حذف ال Feature التي يكون تباينها أقل من عتبة محددة.حيث يزيل بشكل افتراضي كل ال Features التي يكون تباينها صفري (نفس القيم في كل العينات).
المثال التالي سيجعل الأمر واضح:
قمت بإنشاء مجموعة بيانات صغيرة وقمت بجعل ال feature الأولى منها ذات تباين قليل (أغلب قيمها أصفار)، ثم قمت بتطبيق عتبة threshold وقمت بتمريرها للكلاس VarianceThreshold بحيث أن شكل العتبة سأجعله من الشكل:

p(1-p)

في حالة وضعنا p=8 كما في مثالنا، فسيتم حذف ال Features التي تحوي قيم مكررة بنسبة أكبر أو تساوي 80%.
p=10 فسيتم حذف ال Features التي تحوي قيم مكررة بنسبة تساوي 100%.

from sklearn.feature_selection import VarianceThreshold
X = [[0, 0, 1],
     [0, 1, 0],
     [1, 0, 0],
     [0, 1, 1],
     [0, 1, 0],
     [0, 1, 1]]
print(X)
# هنا سنحذف الفيتشرز التي تتكرر قيمها بنسبة أكثر من ثمانون بالمئة
sel = VarianceThreshold(threshold=(.8 * (1 - .8)))
X=sel.fit_transform(X)
print(X)
'''
[[0 1]
 [1 0]
 [0 0]
 [1 1]
 [1 0]
 [1 1]]
'''

لاحظ كيف تم حذف أول feature.
مثال آخر:

from sklearn.feature_selection import VarianceThreshold
X = [[0, 0, 1,3],
     [0, 1, 0,3],
     [1, 0, 0,3],
     [0, 1, 1,3],
     [0, 1, 0,3],
     [0, 1, 1,3]]
print(X)
# هنا سنحذف الفيتشرز التي تتكرر قيمها بنسبة مئة بالمئة
sel = VarianceThreshold(threshold=(.10 * (1 - .10)))
X=sel.fit_transform(X)
print(X)
'''
[[0 0 1]
 [0 1 0]
 [1 0 0]
 [0 1 1]
 [0 1 0]
 [0 1 1]]
 '''

 

تم التعديل في بواسطة Ali Haidar Ahmad

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...