You are on page 1of 26

‫‪Data Mining‬‬

‫التصنٌف ‪ -‬مقاٌٌس اختٌار الحقول‬


‫‪Attribute Selection Measures‬‬
‫المحاضرة التاسعة‬
‫محسن عبد اللطٌف مصطفى‬
‫‪ 7‬كانون األول ‪2012‬‬
‫مقاييس اختيار انحقول‬
‫‪Attribute Selection Measures‬‬
‫إذا أردنا تجزئة ‪ D‬وفق اختبار تجزئة‪ ،‬ففً الحالة المثالٌة‪،‬‬ ‫•‬
‫نرٌد أن ٌحوي كل جزء من أجزاء ‪ D‬عناصر من فئة واحدة‪.‬‬
‫ببساطة‪ ،‬أفضل اختبار تجزئة هو الذي ٌعطً تلك النتٌجة‬ ‫•‬
‫(أجزاء صافٌة(‪.‬‬
‫ُتسمى مقاٌٌس اختٌار الحقول أٌضا ً قواعد التجزئة‪ ،‬ألنها‬ ‫•‬
‫تحدد طرٌقة تجزئة السجالت فً عقدة ما‪.‬‬
‫ٌعطً مقٌاس اختٌار الحقول ترتٌب (عالمة أو قٌمة) لكل‬ ‫•‬
‫حقل باالعتماد على سجالت التعلم‪ ،‬والحقل الذي ٌحصل على‬
‫أفضل ترتٌب هو حقل التجزئة‪.‬‬
‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪2‬‬
‫• إذا كان حقل التجزئة ٌحوي قٌمة مستمرة (عدد حقٌقً)‬
‫فٌجب اختٌار نقطة (قٌمة) للتجزئة‬
‫• السجالت التً تحمل قٌمة أصغر من نقطة التجزئة فً جزء‪،‬‬
‫والسجالت األكبر فً جزء آخر‪.‬‬
‫• كذلك إذا كان المطلوب هو بناء شجرة ثنائٌة‪ ،‬فإننا نقسم القٌم‬
‫حقل التجزئة إلى مجموعتٌن‪.‬‬

‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪3‬‬
‫سنستخدم الرموز التالٌة‪:‬‬ ‫•‬
‫لتكن ‪ D‬هً مجموعة سجالت التعلم (الفئات محددة ٌدوٌا ً)‪.‬‬ ‫•‬
‫لنفترض أنه لدٌنا ‪ m‬فئة وهً‪C1, C2,...,Cm‬‬ ‫•‬
‫لٌكن ‪ Ci,D‬هً مجموعة السجالت من ‪ D‬والتً تنتمً إلى الفئة‬ ‫•‬
‫‪.Ci‬‬
‫لٌكن |‪|D|, |Cj,D‬هو عدد السجالت فً ‪ D,‬و‪ Cj,D‬على‬ ‫•‬
‫الترتٌب‪.‬‬

‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪4‬‬
‫انمعهوماث انمكتسبت‬
‫‪Information Gain‬‬
‫تستخدم خوازرمٌة ‪ ID3‬مقٌاس كمٌة المعلومات المكتسبة الختٌار حقل التجزئة‪.‬‬ ‫•‬
‫لنفترض أن العقدة ‪ n‬تحوي السجالت ‪D‬‬ ‫•‬
‫إن الحقل الذي ٌحمل أكبر كمٌة من المعلومات المكتسبة سٌتم اختٌاره كحقل تجزئة‪.‬‬ ‫•‬
‫هذا الحقل سٌخفض كمٌة المعلومات التً سنحتاجها لمتابعة عملٌة التجزئة فً الخطوات‬ ‫•‬
‫الالحقة‪.‬‬
‫هذه الطرٌقة تقلل عدد االختبارات الالزمة لتصنٌف سجل‪ ،‬وستعطً شجرة بسٌطة‪ ،‬ولكن‬ ‫•‬
‫لٌس من الضرورة أن تكون هً الشجرة األبسط‪.‬‬
‫إن متوسط كمٌة المعومات الالزمة لتصنٌف سجل من ‪ D‬تحسب بالعالقة‪:‬‬ ‫•‬
‫𝑚 ‪• 𝐼𝑛𝑓𝑜 𝐷 = −‬‬ ‫‪𝑖=1(𝑃𝑖 log 2 ( 𝑃𝑖 )) , 8.1‬‬
‫حٌث ‪ Pi‬هو احتمال (غٌر صفري) وٌنتمً سجل ما إلى الفئة ‪.Ci‬‬ ‫•‬
‫وٌتم تقدٌره ب‪.|Ci,D|/|D| :‬‬ ‫•‬
‫نستخدم اللغارتم لألساس ‪ 2‬ألن المعلومات ُترمز ‪.bits‬‬ ‫•‬

‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪5‬‬
‫إن )‪ info(D‬هً متوسط كمٌة المعلومات التً نحتاجها لتحدٌد الفئة التً‬ ‫•‬
‫ٌنتمً إلٌها سجل‪.‬‬
‫تسمى كمٌة المعلومات أٌضا ً اإلنتروبٌة‪.‬‬ ‫•‬
‫لنفترض أننا نرٌد تجزئة السجالت فً ‪ D‬وفق الحقل ‪ A‬الذي ٌمكن أن‬ ‫•‬
‫ٌأخذ ‪ v‬قٌمة ممكنة (نعد قٌم ‪ A‬من السجالت الموجودة فً ‪ D‬أي مجموعة‬
‫التعلم(‪.‬‬
‫عندها ستتجزأ ‪ D‬إلى ‪ v‬جزء‪ ،‬حٌث أن سجالت الجزء ‪ Di‬تحمل القٌمة‬ ‫•‬
‫‪.A=Ai‬‬
‫نتمنى أن تعطً التجزئة تصنٌفا ً دقٌقاً‪ ،‬بمعنى أن تكون كل سجالت أي‬ ‫•‬
‫جزء من فئة واحدة‪ ،‬ولكن هذا غٌر محتمل‪ ،‬فعادة ٌحوي كل جزء‬
‫سجالت من فئات مختلفة‪.‬‬
‫سجالت الجزء الواحد تحمل نفس القٌمة للحقل ‪ A‬ولٌس نفس الفئة‪.‬‬ ‫•‬
‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪6‬‬
‫ما هي كميت انمعهوماث انتي نحتاجها ننصم إنى‬
‫تصنيف دقيق؟‬
‫• نقٌس كمٌة المعلومات تلك بالعالقة‬
‫𝑣‬ ‫| 𝑗𝐷|‬
‫= 𝐷 𝐴𝑜𝑓𝑛𝐼 •‬ ‫|𝐷| (‪𝑗=1‬‬ ‫‪𝐼𝑛𝑓𝑜(𝐷𝑗 )), 8.2‬‬
‫إن الحد |‪ٌ|Dj|/|D‬عمل كوزن للجزء‪j‬‬ ‫•‬
‫إن )‪ InfoA(D‬هو متوسط كمٌة المعلومات التً نحتاجها لتصنٌف سجل من ‪D‬‬ ‫•‬
‫وفق الحقل ‪.A‬‬
‫كلما كان متوسط كمٌة المعلومات صغٌراً ازداد صفاء التجزئة‪.‬‬ ‫•‬
‫الصفاء ٌعنً قلة عدد الفئات الموجودة فً الجزء‪ ،‬والجزء الصافً هو الذي‬ ‫•‬
‫ٌحوي سجالت من فئة واحدة‪.‬‬
‫كمٌة المعلومات المكتسبة هً الفرق بٌن كمٌة المعلومات قبل التجزئة وبعد‬ ‫•‬
‫التجزئة‪ ،‬كما فً العالقة‪:‬‬
‫)‪• Gain(A) = Info(D) - InfoA(D). (8.3‬‬

‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪7‬‬
‫بمعنى أن )‪ gain(A‬هً كم سنكسب عندما نجزأ وفق الحقل‬ ‫•‬
‫‪.A‬‬
‫إنها االنخفاض فً كمٌة المعلومات االزمة للتجزئة والحاصل‬ ‫•‬
‫بسبب اختٌار الحقل ‪.A‬‬
‫نختار الحقل الذي ٌحقق أكبر كمٌة من المعلومات المكتسبة‬ ‫•‬
‫كحقل للتجزئة عند العقدة ‪.N‬‬
‫أي أننا سنختار الحقل الذي سٌحقق أفضل تجزئة‪ ،‬وبالتالً‬ ‫•‬
‫فإن كمٌة المعلومات الالزمة لمتابعة التجزئة ستكون فً‬
‫حدها األدنى‪.‬‬
‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪8‬‬
‫مثال عن تونيذ شجرة انقرار باستخذاو مقياس كميت‬
‫انمعهوماث انمكتسبت‬

‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪9‬‬
‫الجدول السابق ٌحوي مجموعة عشوائٌة من سجالت‬ ‫•‬
‫الزبائن‪ ،‬تأخذ الحقول قٌم منفصل‪ ،‬حقل الفئة له قٌمتان (نعم‪/‬‬
‫ال)‬
‫لذلك إن ‪ ،m=2‬لنعتبر أن الفئة ‪ C1‬تقابل الجواب نعم‪ ،‬والفئة‬ ‫•‬
‫‪ C2‬تقابل الجواب ال‪.‬‬
‫ٌوجد ‪ 9‬سجالت من الفئة نعم و ‪ 5‬سجالت من الفئة ال‪.‬‬ ‫•‬
‫لنضع كل السجالت فً عقدة الجذر‪ ، N‬لنحصل على اختبار‬ ‫•‬
‫التجزئة ٌجب أن نحسب كمٌة المعلومات المكتسبة من‬
‫استخدام كل حقل‪.‬‬
‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪10‬‬
‫أوالً نحسب متوسط كمٌة المعلومات التً نحتاجها لتصنٌف السجالت‬ ‫•‬
‫الموجودة فً ‪ D‬لذلك نستخدم المعادلة ‪8.1‬‬
‫‪• Info(D) = -9/14 log2(9/14) – (5/14) log2(5/14) = 0.940‬‬
‫‪bits.‬‬
‫ثم نحتاج أن نحسب متوسط كمٌة المعلومات من أجل كل حقل‬ ‫•‬
‫لنبدأ بحقل العمر‪ ،‬ولننظر فً توزع الفئات (نعم وال) حسب كل قٌمة‬ ‫•‬
‫لحقل العمر‬
‫من أجل فئة عمر "الشباب" ٌوجد سجالن نعم وثالث سجالت ال‪.‬‬ ‫•‬
‫من أجل فئة عمر "متوسط العمر" ٌوجد اربع سجالت نعم‪ ،‬وصفر سجل‬ ‫•‬
‫ال‪.‬‬
‫من أجل فئة عمر "مسن" ٌوجد ثالث سجالت نعم‪ ،‬وسجالن ال‪.‬‬ ‫•‬

‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪11‬‬
‫ إن متوسط كمٌة المعلومات التً نحتاجها لتصنٌف‬8.2 ‫• حسب المعادلة‬
:‫سجل وفق حقل العمر هو‬
• Info age(D)= 5 /14 X (-2/5 log2(2/5) – 3/5 log2(3/5)) +
4/14 X (-4/4 log2(4/4)) +
5 /14 (-3/5 log2(3/5) – 2/5 log2(2/5) = 0.694 bits.
:‫• وهكذا فإن كمٌة ىالمعلومات المكتسبة من هذه التجزئة هو‬
• Gain(age) = Info(D) -Infoage(D) = 0.940 - 0.694 = 0.246
bits.
:‫• بشكل مشابه ٌمكن أن نحسب‬
• Gain(income) = 0.029 bits, Gain(student) = 0.151 bits,
• Gain(credit_rating) = 0.048 bits.

7 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 12


‫بما أن حقل العمر ٌحمل أكبر قٌمة لكمٌة المعلومات المكتسبة‪ ،‬فإننا سنختاره كحقل للتجزئة‪.‬‬ ‫•‬

‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪13‬‬
‫• سنضع حقل العمر فً العقدة ‪ N‬ثم سنخرج أغصان حسب قٌم‬
‫العمر‪.‬‬
‫• الحظ أن السجالت الناتجة من العمر="متوسط العمر" كلها‬
‫من الفئة نعم‪.‬‬
‫• سنضع ورقة فً نهاٌة هذا الغصن‪ ،‬ونكتب علٌها نعم‪.‬‬

‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪14‬‬
‫• لنأخذ السجالت الناتجة عن العمر = "الشباب" لنالحظ أن‬
‫جمٌع السجالت الناتجة عن الحقل إذا كان طالب هو من الفئة‬
‫نعم والباقً من الفئة ال‪.‬‬
‫• سننشئ غصن طالب وفً نهاٌة نضع ورقة ونكتب علٌها‬
‫نعم‪ ،‬وغصن لٌس طالب ونضع فً نهاٌتها ورقة ونكتب‬
‫علٌها ال‪.‬‬

‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪15‬‬
‫• لنأخذ السجالت الناتجة عن العمر = "مسن" لنالحظ أن جمٌع‬
‫السجالت الناتجة عن الحقل إذا كان طالب هو من الفئة نعم‬
‫والباقً من الفئة ال‪.‬‬
‫• سننشئ غصن الرصٌد االئتمانً ‪ fair‬وفً نهاٌة نضع ورقة‬
‫ونكتب علٌها نعم‪ ،‬وغصن ‪ excellent‬ونضع فً نهاٌتها‬
‫ورقة ونكتب علٌها ال‪.‬‬

‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪16‬‬
‫انشكم انتاني يوضح انشكم اننهائي نشجرة انقرار‬

7 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 17


‫انمالحظت‬

‫فً مجال التعلم اآللً ُتسمى عملٌة التصنٌف بالتعلم باألمثلة‬ ‫•‬
‫لماذا؟‬ ‫•‬
‫الجواب‪:‬‬ ‫•‬
‫إن التصنٌف ٌتم باستخدام شجرة القرار‪.‬‬ ‫•‬
‫وشجرة القرار ُتبنى باستخدام األمثلة‪.‬‬ ‫•‬
‫حٌث نقوم أوالً بأخذ مجموعة عشوائٌة من السجالت نسمٌها سجالت التعلم أو التدرٌب‪.‬‬ ‫•‬
‫ثم نحدد ٌدوٌا ً األصناف التً تنتمً إلٌها هذه السجالت‬ ‫•‬
‫ثم نقدم هذه األمثلة إلى خوارزمٌة بناء الشجرة‪.‬‬ ‫•‬
‫ثم نستخدم الشجرة لتصنٌف أي سجل ‪.‬‬ ‫•‬

‫• فالجواب باختصار‪ :‬هو أن شجرة القرار ُتصنف أي سجل بنا ًء على ما تعلمته من األمثلة‬
‫‪.‬‬

‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪18‬‬
‫‪k-Means: A Centroid-Based Technique‬‬
‫• لنفرض مجموعة البٌانات ‪ D‬تحتوي ‪ n‬كائن فً الفضاء االقلٌدي‪،‬‬
‫ٌمكن تقسٌم ‪ D‬إلى ‪ k‬مجموعة ‪ ، C1,…, Ck‬حٌث ‪ ،Ci  D‬و ‪Ci‬‬
‫‪  Cj = ‬من أجل ‪.1 i,j  k‬‬
‫• ٌمكن تقسٌم البٌانات ضمن كتل مشابه لبعضها البعض ولكن‬
‫تختلف عن غٌرها من الكائنات فً المجموعات األخرى‪.‬‬
‫• النقطة المتوسط تحدد الفرق بٌن مجموعة من النقاط بحٌث ٌكون‬
‫البعد (البعد االقلٌدي) فٌما بٌنها صغٌر لتشكل مجموعة‪ ،‬وٌتم‬
‫حساب نقطة المتوسط‪.‬‬
‫𝑘‬ ‫‪2‬‬
‫=𝐸 •‬ ‫‪𝑖=1‬‬ ‫𝑖𝑐∈𝑝‬ ‫‪𝑑𝑖𝑠(𝑝,‬‬ ‫𝑐‬‫‪𝑖 , 10,1‬‬
‫)‬

‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪19‬‬
Algorithm: k-means
Input:
– k: the number of clusters,
– D: a data set containing n objects.
Output: A set of k clusters.
Method:
(1) arbitrarily choose k objects from D as the initial cluster centers;
(2) repeat
(3) (re)assign each object to the cluster to which the object is the most similar,
based on the mean value of the objects in the cluster;
(4) update the cluster means, that is, calculate the mean value of the objects for
each cluster;
(5) until no change;

7 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 20


7 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 21
k-Means ‫مثال‬
‫ بالنظر‬25 ،10 ،9 ،8 ،3 ،2 ،1 ‫• بفرض لدٌنا النقاط السبع‬
:‫سوف ٌتم التقسٌم إلى‬
• {{1, 2, 3}, {8, 9, 10}, {25} }; k=3
• {{1, 2, 3}, {8, 9, 10, 25}}; k=2
• (1-2)2 + (2-2)2+(3-2)2+(8-13)2+(9-13)2+(10-
13)2+(25-13)2= 196,

• {{1, 2, 3,8}, { 9, 10, 25}}; k=2


• (1-3.5)2 + (2-3.5)2+(3-3.5)2+(8-3.5)2+(9-
14.67)2+(10-14.67)2+(25-14.67)2= 189.67,

7 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 22


‫انخوارزميت انمعذنت‬
‫‪modify the k-means algorithm‬‬
‫• بدل من أخذ المتوسط للكائنات كنقطة مرجعٌة‪ٌ ،‬مكننا اختٌار‬
‫الكائنات الفعلٌة لتمثٌل المجموعات‪ ،‬وذلك باستخدام كائن‬
‫واحد ممثل لكل كتلة‪ ،‬ثم ٌتم تعٌن كل الكائنات المتبقٌة لهذه‬
‫المجموعة معتمد على مبداء الفروق بٌن كل كائن والكائن ‪p‬‬
‫المناظر له‪.‬‬
‫𝑘‬
‫=𝐸 •‬ ‫‪𝑖=1‬‬ ‫‪𝑝∈𝑐𝑖 𝑑𝑖𝑠(𝑝, 𝑐𝑖 ), 10,2‬‬
‫• بفرض لدٌنا }‪ {o1,…, ok‬باختٌار عنصر عشوائً‬
‫}‪ {o1,…,oj-1, orandom,oj+1,…ok‬نحسب المسافة بٌن الكائن‬
‫‪ p‬وبقٌة الكائنات‪.‬‬
‫‪7 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪23‬‬
7 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 24
Input:
– k: the number of clusters,
– D: a data set containing n objects.
Output: A set of k clusters.
Method:
(1) arbitrarily choose k objects in D as the initial representative objects or seeds;
(2) repeat
(3) assign each remaining object to the cluster with the nearest representative
object;
(4) randomly select a non representative object, o random;
(5) compute the total cost, S, of swapping representative object, oj, with o random;
(6) f S < 0 then swap oj with o random to form the new set of k representative
objects;
(7) until no change;

7 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 25


7 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 26

You might also like