بسم الله والحمد لله والصلاة والسلام على رسول الله
أهلا وسهلا فيكم يا شباب في محاضرتنا الثانية في
موضوع ال classification كنا حكينا في المحاضرة
الماضية أن موضوع ال classification هي عبارة عن
تحديد عضوية المجموعات المعروفةعلى سبيل المثال لو
قلت أنا بدي .. في عندى تلك مجموعات طلاب .. في عندى
تلك مجموعات للطلاب مجموعات الامتياز و مجموعات
الجيد جدا و مجموعة الجيد الآن و جينا قولنا و الله
في عندنا سين من الناس او سين من الطلاب الآن سين من
الطلاب هذا لازم يصنف او لازم ينتمي لوحدة من
المجموعات التلاتة بناء علىعلى ايش؟ على معدله و لا
لأ على المعدل ان كان شرطنا ان المعدلات هذه معروفة
تبعا لمستوهم او تحصيلهم العلمى لان هذه التصنيف
لاحظ ان انا ماليش سلطة كتيرة على المجموعات
المجموعات already predefinedالان بدي أحاول أعرف
خصائص كل مجموعة، شو .. شو معدلات الامتياز أو شو
خصائص الأشخاص أصحاب الامتياز، خصائص المجموعة
الأولى، شو خصائص المجموعة التانية، شو خصائص
المجموعة التالتة، وسيم من الطلاب هذا اللي هي ال
instance اللي عندي اللي أنا بدي أضيفه لمجموعة من
المجموعات التلاتة، بدي أشوف إيش الخصائص اللي عنده،
و بتتقاطع مع أي خصائص من المجموعات التلاتة وبناء
عليه هيكده أنا بقىبقى صنفه للمجموعة اللي عندنا
وكنا اتكلمنا في ال learning ال machine learning
كون تقنيكس بشكل عام فيها supervised و unsupervised
تبع هل الإنسان متدخل ولا غير متدخل في الموضوع
وقولنا ان موضوع ال learning كمان incrementally هل
هو batch ولاonline وقلنا كمان في عندي model based
ولا instance based بناء هل ال algorithm هذا المخرج
تبع ال algorithm ال machine learning هديني model
ولا مش هديني model قلنا في الآخر بكل الأحوال انا
عندي خيوطين في اي عملية classification ال model
construction كيف انا بدي اكون في عندي function لما
انا اديهاالـ object تروح تصنف ليه تحت المصنفات
المعروفة مسبقًا و ال model usage كيف أنا بدي
استخدم ال model الموجود هنا و قولنا عادة أنا بأجسم
ال data set تبعتي ل training set و testing set
عشان أعمل evaluation و من أهم ال concept اللي لازم
أنا أعرفه ال accuracy و هي المقدار أو ال ratio تبع
ال correct predictionالـ Correct Classification
على كل الـ instances اللي عملها Classification
وقلنا لـ Speed و Robustness جدّيشبو يدّيني result
صحيحة مع وجود ال noise data ال scalability و ال
interpretability حكينا عليهم و كان المفروض اليوم
ان شاء الله تعالى نبدأ مع ال algorithms و نشوف كيف
ال algorithm قاعدة بتشتغل مع العناصر اللي موجودة
عندى او في ال classification و اول algorithmبيشتغل
او هنتكلم عليه الـ K nearest neighbor الان K
nearest neighbor شو يعني nearest neighbor في الأول
أقرب جار اقرب جار لو انا اجيت اسمك هاني هاني بدي
اعرف هاني كويس
ايش ممكن اروح اسوي اروح اطبق مين اصحاب هاني مين
اصحاب هاني المقربين وبناء عليهبنقول إنه هاني صفاته
بصفات الناس اللي أنا بعرفهم من مين من أصحابه أو من
جيرانه Can your neighbor يعني أنا بدي أحطلهم عدد
من أقرب اتنين لهاني من أقرب تلاتة من أقرب خمسةو
هنتكلم ليش الكيه هذي و إيش أهميتها النايف بيسيان
هو أنا بعتمد على probability decision tree هنتشوف
كيف ممكن أنا أبني decision بناء على العناصر هي و
بعدين ننتقل لباقي propagate ال neural network نبدأ
مع ال kenyer's neighbor ال kenyer's neighbor هو
عبارة عن instance based learning التصنيف الأخير
خالص لما قلت إنه هل ال algorithm تبعي بيبنيلي
model ولا ماببديليش model بيديني value مباشرةالـ
Canary Snapper من الـ algorithm اللي ما بتعطيني
model بتعطيني نتيجة .. بتعطيني نتيجة وبالتالي it
doesn't use any model to fit .. مابتبنيش model
مطلقا .. it's only based on memory فقط بتعتمد على
الذاكرة .. ليش الذاكرة؟ انه فعليا عملية حساب كلها
تبتصيرفي ال memory و كل ما كانت ال memory أكبر لأن
ال data set أكبر بكون أنسب ال k-nearest neighbor ك
classification algorithm بتديني نتيجة او نتيجة
تبعته أو ال class بناء على ال majority أو الأغلبية
في جيران العنصر هذا لو انا اجيت قلت في عندىمجموعة
من الأشخاص
قلنا أخونا هذا أو صاحبنا هذا بدنا نحطه لمجموعة من
المجموعتين شو بدنا نسوي ال
K-nearest neighbor algorithm أو ال KNN algorithm
بشتغل كالتالي بقول احسب الفرق ما بين العنصر هذا و
كل العناصر اللي موجودة يعني حد اقارن اناالعنصر هذا
مع هذا و مع هذا و مع هذا و مع هذا و مع هذا و مع
هذا ك instance ك object بغض النظر عن طريقة
المقارنة و اقارنه كمان مع
كل الأشخاص هدول لاحظ ان انا ضمنت كل ال data set
اللي موجودة عندىأصبت؟ يعني إذا كانت هدول هم ال
data set في ال two classes فانا ضمنت كل ال data
set الانشوف بيروح بيقوللي ال key nearest neighbor
مين أقرب ناس كانوا لإله أقرب ناس كانوا لإله أقرب
تلاتة
هيهم
مصبوط؟ أقرب تلاتة هدول للناس فهو هينتمي لنفس
المجموعة اللي فيها غالبية ال closest neighbors
هدول إيش الغالبية هان؟ أزرق فأخونا هذا بينضم لمين؟
للأزرق بناء على مبدأالـ Voting للمجارة أو حسبة
المجارة أو الأغلبية تبعت الأشخاص أو تبعت العناصر
الموجودة عنده يعني يا إيهاب تأخذ وقت كتير أكيد او
تشوف ال media مثلا من الجهة الأولى و ال media
التانية و تشوف من أقرب درجة اه بس الآن هاي
ال center صح؟
و هي ال center تبعت المجموعة التانية اذا انا هنا
او بلاش اذا انا هنا المسافة لل center اكبر من
المسافة لل center بينما كعناصر انا اقرب لهنا نعم
خليها
و نشوف مين أبعد واحد من انا ترقبى يعنى مش انه
مقارنة كذلك بس مهمش انا الان كريم .. كريم بيحمل
صفات صاحبه القريب منه اللي دائما ملازم له مش على
اللي بعيد ولا لا؟ يعني زي النقطة احنا بنعمل زي ال
cut ل ال picture اللي بدنا و الجرافة ده طيب ديني
كلام سيبني من ال dimension معين عشان .. ديني كلام
أبسط عشان انا في الدرافة مجدطيب طبعا عندنا كتير
يعني مثلا عندنا مية ألف تمام والنقطة اللي بدنا
نعرفها فانهي وفانهي وواحدة ضابط حوالي مثلا متين اه
طب ماهي .. مهمش .. بقى انت الرسم ال .. الوجد اللي
انت أخدته في رسم العناصر هو عبارة عن computation
لما روحت جبت المتين .. لأ لما انت روحت جبت المتين
و حطيت النقطة هاي بينهم انت already عملت ال
computation كلهيتها عشان تقدر تجيبهم في نفس النقطة
بقعة على الرسم ولا كيف ان حطت النقطة هذه أبعد من
هذه بالمسافة هاي بالتحديد و هذه أبعد بل برضه انت
عملت هنا قران بالمثل
كيف حددت الـ 200 ألف ان هدول هم الأقرب؟ الـ 200؟
اه او الـ 200 عنصر هدول .. كيف انت حددتهم ان هدول
الأقرب؟ كيف عرفت الـ position تبعتها ان هدول الـ
200 هم الأقرب لإلها؟ فعليا لفت عليهم كلهم؟ مصبوط؟
و لا أنا غلطان انت الآن كمان مرة انا عندي 100 ألف
عندي
100 ألف in instance انت عمالك بتقوللي انا حددت الـ
200 نقطة الأقربكيف حددت المتين نقطة الأقرب من
الميت ألف مرت عليهم كلهم انت بتقولي انا اعتمدت
الرسم ما هو الرسم برضه نفسه لنفس الكلام هو عبارة
عن حدد النقاط و جدر يرسم لك اياهم او يعملهم
simulation تبع لل distance او قربهم او بعضهم تمام
تمام
إذا مافيش يعني صفر فقط كم بتزود عشرين ممتاز ممتاز
يعني أنت بدأت بشكل random مع عشرة صنطي و هل في
عناصر في العشرة صنطي و لا مافيش ماشي الحال و بعد
هيك شو روحت سويت زودت المسافة طب إيه أساسا أساسا
النقطة تبعتك النقطة تبعتك وين موجودة هتقول اللي
موجودة في XY صح
أصبت، لأ مش أسهل، انا بتدقق ان انا مش أسهل، هي
النقطة، هان عشان تحدد النقاط اللي في القطر عشرة
صنطي أو نص قطر عشرة، بدك تمر على كل النقاط عشان
تعرف مين النقاط اللي بتجهز من القطر هذا، و تجيبهم
مش بعد المحاولة، أنا بضل بتناقش معاك ليش؟ لأنه في
الآخر الشغل اللي انت غايب عنك ان ال graph أو الرسم
هذا ما إجا إلا غير بعملية حسابية، تمام؟ والعملية
الحسابية هي هي نفسها، أنا عمالي بمر على كل العناصر
عشان أحدد من الميتين، الآن أنا إيش بعرفني؟ عندي
نقطة هيها موجودة هنا، صح؟ هي نقطة، مجموعة ال
attributes هدول أو بلاش X وYالنقطة هذه ضمن المحيط
وهذه ليست من ضمن المحيط، ماذا أفعل؟ ماذا أفعل؟ بدي
أحسب الفرق ما بينه وبين النقطة هذه، مظبوط؟ اللي هي
الـ distance حسبت الـ distance، لأ طلعت برة، فانا
أتبرة الحسبة هذه، صح؟ هروح على ال X واحد و Y واحد،
أه هذه كانت في المنطقة هذهفانت العناصر هذه مش
هتقدر تحصر من منهم النقاط الموجودة اللي تمر على كل
ال data set صح؟ لما
تلاقي طريقة تانية بتعرف نتناقش أنا وياك فيها
بالمنطق هذا ال
two dimension الرمج جامعي بتعكس الصورة ال data set
تبعتك كام attribute
ال data set تبعتك كام attributes؟ ال instance
تبعتي فيها عشرة attributes بتقدر ترسمها؟
على أنه two values اللي موجودة عندي ال point و ال
label فقط one attribute و ال label كبعته و العشرة؟
العشرة بتقدر ترسمها كيف؟
ماشي ماشي قعدة بوريك إياها أكتر ان شاء الله تعالى
طيب الآن اللي الرسمة كانت لك توضيح عشان هوصلك
مفهوم ال concept تبع الجيران مش أكتر فماصيرش
الرسمة هي إيش هي الحل اللي موجود عندك طيب الآن
الفكرة كمان مرة بتدور حوالين ال canary's neighbor
انه أنا بروح بدور على ال closest objectللنقطة اللي
موجودة تبعتي هان لل instance اللي انا فعليا
بعرفهاش عشان انا اشوف مين جيرانها او مين الأقرب
لها لازم اعمل computation بينها و بين كل ال
instances اللي موجودة الان عشان انا اعرف مين اصحاب
كريمانت صاحب كريم؟ انت صاحب كريم؟ انت صاحب كريم؟
بتعرف كريم؟ بتعرف كريم؟ همر على كل اللي في القاعة
عشان أحدد بشكل دقيق كم واحد بيعرف كريم أو كم واحد
صحاب كريم، مصبوط؟ وبعد هيك بقرر صفة كريم بناء على
أغلبيتهم عشان هيك بروح بدور على ال closest K point
الان كمان ال K تبعتي هذه فيها مشكلة الان لما يكون
ال label تبعي binary
classification شو يعني binary classification؟ just
عندي two labels positive و negative أجل
عدد K عشان اتكلم علي majority بينهم جداش أجل عدد K
عشان اقدر اش ال majority اش الأغلبيةأكتر من النص،
50% مش أغلبية، تعادل، مظبوط، بدك أكتر من النص،
يعني زي ما نتكلم as integer values من 100، 51
value من 100، هيك بكون أتكلم عن أغلبية، فأقل
أغلبية هي، مظبوط؟ وابقاش الكل ممكن تحقق الأغلبية
عندي، في حالة two أقل classification، binary
classificationK على 2 زائد 1 K على 2 زائد 1 إيش
يعني؟ وين الخمسين؟ شو يا K أنا قاعد بقولك الآن لما
أنا بدي أجيب عدد الجيران إيش عدد الجيران اللي أنا
بدي أهتم فيها عشان أتكلم على ال majority الحي أو
أصحاب كريم الآن اللي موجودينخمسين، كل اللقاعة
بقولك احنا أصحاب كريم، ماشي الحال، بدي ال closest
أقل عدتهم جداش، أقل K، عشان فعليا لما أنا أجي
أقارن كريم بينهم، يكون في voting ما بينهم، يكون في
أغلبية، تلاتة، ليش تلاتة؟إتنين و واحد هاي ال key
اللي أنا بدور عليها يا جماعة الخير أنا الآن بقول
عدد العناصر الموجودة زي ما رسمته في الرسم هان عشان
أقدر أعمل مقارنة و أروح باتجاه الأغلبية لازم يكون
في عندي عدد محدد الآن بما أنه أنا في عندي two
labels فقط بينفعش أقول ال key تبعتي equal اتنين
لأنه مافيش فيها voting لأنه مافيش فيها قرار ممكن
يصير خمسين و لو قلت ال key تبعتي واحدبرضه مافيش
فيها voting بروح بسمته بسمة أقرب point له خلصنا طب
هد ماهي لو كانت ال point هد noise point نجلته بعيد
مين جالك انت شيلت كل ال noise point مين جالك انك
انت خلصت منهم كلهم انت خلصت من اللي قدرت تحددها من
اللي قدرت تشوفهامصبوط لكن الان فعليا point هي
بعيدة نوعا ما فيها بعض ال noisy لكن ال noisy
بالنسبالك مش واضحة فشو هتسوي فيه هتاخدوا لإلها
الآن الفكرة اذا
كنت انا بتكلم على اتنين فاتنين زائد واحد عشان اقدر
اعمل فيهم voting طب لو كانوا three classes اربعة
طب ما هم الأربعة ممكن يكونوااتنين اتنين او ال
class التالت وينه مش موجود و برضه ماجدتش اعمل
voting الفكرة اللي انا بده اقولها يا جماعة الخير
دائما حاول تخلي العدد تبعك فردي و كبره شوية عشان
تقدر تعمل voting صح او عشان يصير في عندك فرصة لل
voting أكبر يعني مثلا في ال three classes أربعة is
not enough و خمسة غالبا is not enoughسبعة ممكن
تكون fair بس برضه ممكن أجع في مشكلة اتنين اتنين
واحد قوللي طب في حالة .. خد تمانية التمانية و
التلاتة يعني بين جثين إذا كان عدد ال classes فردي
خد عدد ال key تبعتك عدد زوجي و أكبر من ضعف الرقم
هذا عشان إيش تقدر تعمل بينهم voting على الأقل
بتضمن إن في class منهم أكبر أو صار فيه المجارية
أكتر من التانيفي المقابل، لو كانوا الآن العدد الـK
تبعتي أو عدد ال classes تبعتي زوجي، تمام؟ خد عدد
فردي أكبر من ضعفه، كمان مرة هذا الكلام مش قرآن،
هذا مجرد نصيحة عشان تقدر تاخد K و تضمن فيها
voting، اللي أنا بقوله كالتالي، لو كان عدد ال
classes عندي تلاتة، ضعفهم ستة، تمام؟ فبدي أخد
سبعة، أو أنا بقولك خد تمانيةخُد الـ K تبعتك تمانية
هنا الـ A لو الـ three classes دول بدهم يتوزعوا
إيش الاحتمالات يكونوا موجودين؟ التمانية كلهم لنفس
ال class وهذا بيعملت ال prediction تبعتي صحيحة 100
% تمام؟
أربعة أو أربعة أو أربعة ل classو 2 و 2 برضه ال
majority لاحظ انا بتكلم على ال .. لاحظ صرت أتكلم
على الأغلبية مجسمين على عدد العناصر بطلة الأغلبية
50% صار قداش هو ال top rank ده اللي هنسميه طيب بس
برضه ممكن أجع في مشكلة تلاتة تلاتة اتنين عشان هيك
بقولك الكلام اللي أنا بقوله أو النصيحة اللي أنا
جاعت بقولها مش أساس مهي مجردبدأ ترضي على مبدأ
التجربة والخطأ أو التجربة والقياس لحد ما تصل كيه
مناسبة بالنسبة لك والكيه المناسبة هذه ممكن تختلف
في domain تاني ليش؟ لأنه فعليا هذه واحدة من ال
challenge الخاصة او من المشاكل الموجودة مع ال k
-nearest neighbor اي جران قداش عدد الجران اللي انا
اعتمد فيهم زي ما قلنا سابقا طيب الآنبما أنه انا
بتحاول .. بتحاول أشوف ال K اللي بتتناسب مع عملية
ال voting زي ما قلتلك حاول تكبرها شوية وخلف بينها
وبين عدد عناصر ال element يعني لو كان زوجي أو فردي
إلى آخره عفوا ال
main concept أنا فيه عندي unseen instance unseen
instance X اللي قطعت ال puzzle هايوفي عندي .. في
عندي two classes suns و moons شموس وقمار وبيسألني
خيارة البصر هذه هتكون قمر ولا شمس لأن هي موجودة
هنا في الرسمة بناء على الرسمة إذا كانت ال key
تبعتي هنا أربعة
هيصير في عندي اتنين و اتنين اذا اختارت ال K أربعة
اتنين و اتنين مش هقدر اعمل voting لكن لو روحت لل K
equal 11 دائرة البلون الأزرق هصار في عندي أربعة و
سبعة ال majority ال majority لمين؟ للمون وبالتالي
هاي ال instance هذه عبارة عن قمر
النصيحة to avoid any noisy data او أي نصيحة نصيحة
نصيحة نصيحة تستخدم more than one neighbor ماتشتغلش
على one neighbor ودائما زي ما قلتلك حاول اختار عدد
اللي له علاقة بعدد ال classes بحيث ان يكون في عندك
estimation لو بسيطة كيف تفرق ما بين ال classes
اللي موجودة و تقدر تعمل مجارتي مين عنده ال data
set تبعد ال classification اكتر من ال two classes
الان معظمكم كمجموعات اشتغلتوا في data setsال data
set اللي لها علاقة بال classification مين عنده
data set ال label تبعتها اكتر من two classes طب
مين عنده binary ال classification مجموعة واحدة فقط
اللي عارفش اللي عندها والباقي والباقي ماحدش عارفش
اللي سلمه مجرد جرينا data for classification
ورفعناها وخلصنا كان الله بالسر علينا الان
بما ان كل ال instances اللي عندي موجودة في ال N D
Space بين
جثين ال N هي عبارة عن عدد ال attributes اللي
موجودة في ال data set اللي ممكن تكون واحد وممكن
تكون اتنين وممكن تكون تلاتة وممكن تكون عشرة وممكن
تكون مية وممكن تكون الف اه الف attributes اهالـ
datasets اللي لها علاقة بالصور والألف attributes
قليل كمان يعني هو عبارة عن بيكسلز الآن لو اتكلمت
على صورة مية في مية بيكسلز جدش ال resolution
تبعتها عالية لأ صورة صغيرة جدا صح؟ هذه لحالها عشان
تفردها هي عشر تلاف attributes وليش رأي كرامي؟بس،
هذه بس انت تتكلمنا على عشر تلاف attributes على
صورة صغيرة تيك تتخيلي الصورة full HD جداش عدد ال
attributes تبعتها طيب، الآن طبعا في حالة إذا كل
pixel مثلت attribute ال kennerist neighbor بدور أو
باعتمد على أو عرف إن الشخص اسمه similarity
function شو يعني similarity؟ تشابهأو تقابق بين ال
instances اللي موجودة سابقًا أنا كنت بقولك مين
أقرب الناس لفلان لو أنا إجيت قولتلك في ال one D شو
يعني one D؟ one attribute انا عندي عشرة وعندي خمسة
وعندي سبعة العشرة
أقرب لمين؟بناءً على إيش أنت حسبتها هي كده؟ غررت أن
هي أقرب على السابعة لأن الفرق بين العشرة والسبعة
أقل من الفرق بين العشرة والخمسة وبالتالي العشرة
أقرب للسبعة بين جثين العشرة والسبعة more similar
than العشرة والخمسة.ولّا شو رايكوا؟ يعني أقرب
تشابه مع بعض أكتر لكل ما جربت من الرقم بكون أنا
مشابه إله تمام؟يعني احنا في الآخر عملنا عشرة ناقص
خمسة و عشرة ناقص سبعة لو كانت ال data ست اللي أنا
بتكلم عليها في ال 2D عشرة
و اتنين خمسة
و تلاتة سبعة و واحد كيف بدك تشوف تفحص ال
similarity ما بينهمالـ X ناقص الـ X والـ Y ناقص
الـ Y تحت الجذر بدأت الآن تبدأ تتكلم .. انت ملاحظ
بتتكلم على distance في الآخر على مسافة لكن لما أنا
بتكلم في الـ 2D يا كريم أي نقطين في الـ 2D هيهم
بتكلم على distance بينهم أيش ال distance هي بتمثل؟
الفرق بين النقطين بس في كلام أبسط بالنسبة لما
الفرق بين النقطين هدول ال distance هاي بتمثل الوتر
في مثلث قائم الزاوية اذا شو رايكوا التغير على ال Y
هي Y2-Y1 الارتفاع وال base تبعتي المثلثX2 نقص X1 و
لا لأ المسافة اللي هان طول الضلع في المثلث قائم
الزاوية شو بتساوي X2 نقص X1 تربيع زائد Y2 نقص 1
تربيع تحت الجذر قانون في ثغورس، مصبوط؟ و بالتالي
انا عند ال equilibrium distance هيها
إذا أنا حصلت على ال distance لو كان في عنده التلات
نقاط معناته
أنا في عنده مثلث مختلف هنا ولا
لأ؟ وهذه المسافة اللي أنا بدي إياها إذا
كانت D2 أصغر من D1 فالنقطين أقرب لبعضتمام؟ طب في
الـ 3D عشرة
و اتنين و سبعة خمسة و تلاتة و واحد سبعة و واحد و
تلاتة شو بدك تساوي؟ نفس الفكرة، بس إيش أساوي؟ ضيف
تحت الجذر تربيع الفرق ما بين Z واحد و Z اتنينيعني
بين النقطة الأولى و النقطة التالية طب لو كان تندي
عشرة attributes ليش ال off؟ ماحنا عاملا متفقين إنه
ممكن يكون فيه عشرة attributes نفس الكلام فبنتكلم
احنا على summation تحت الجدر لمجموعة للفرق ما بين
عدد ال attributes اللي موجودة عندهان الفرق ما بين
قيم ال attributes اللي موجودة عندهان وبالتالي هذي
بنسميها ال Eclidean distanceلو كان انا فيه عندي
two points X وY two different points ال
dimensionality تبعتهم N الفرق
بين النقطين هدول يساوي الجدر التربيعي لمجموعة XI
ناقص وYI تربيع تحت الجدر والـ I بدها تساوي من واحد
لأن وبالتالي أنا بتتكلم فعليا على الفروقات هذا
ال equilibrium distance بشكل عام بما أنه أنا قاعد
بربع القيموبأخد الجذر، لو قيّرت الجذر من معدلتي،
لو قيّرت الجذر من معدلتي، شو بيصير؟ بتصير القيمة
أكبر، بس مش أكتر، ولا لأ، بس فعليًا القيمة الأكبر
تحت الجذر، هتكون هي القيمة الأكبر بعد الجذر، بس
الـscale اختلف، مصبوط؟ فبعض الناس إيش بتروح
متساوي؟ تستغنى عن الجذر التربيعي، وبما إن التربيع
بيعطيني قيمة موجبة،فقال لك احنا في Manhattan
distance قال لك ليش ما اتكلم على مجموع ال absolute
او الفروقات مجموع الفروقات بين النقاط لو انا اجيت
سألتك كريم و هاني هاني قداش الفرق بينك وبين كريم
في المعدل هقول 5 لأ ماسألتش قداش معدلك قداش الفرق
بينك وبين كريم في المعدل قال 5%لو روحت سألة كريم
كريم جدتش الفرق بينك وبين هاني في المعدل؟ 5% لاحظ
أنا مافرجتش معايا مين أعلى من التاني لأن في
الحالتين ال distance .. بتكلم distance و ال
distance لن تكون بال negative فال distance دائما
موجب فجالك أنا من المنهات ال distance جالك أنا
بروح بأشتغل باعتمد على ال absolute value للفرق ما
بين ال attributes values و بجمعهم وبهيك حصلت على
نفس ال conceptsبس فعليا .. فعليا بتفرق ال distance
الرسمة هاي بتوضح الفرق الفعلي ما بين ال Manhattan
و ال Eclidean ال Eclidean طبعا هاي النقطين X1 و X2
2 و 8 .. 3 أو 6 و 3 رسمناهم الآن قلنا الخط الأخضر
هذا هو عبارة عن ال Eclidean distanceبينما الـ
Manhattan في الأكثر من مسار فكرة الـ Manhattan
distance أنه دائما أنا بمشي في خطوط مستقيمة
متعامدة على بعضها بمشي على خطوط متعامدة بينما ال
Euclidean أخدت القطر، مصبوط؟ الآن الخطوط .. الخط
الأحمر هذا هو عبارة عن مثل الـ Manhattan distance
الخط الأصفر هذا كذلكعبّر عن الـ Manhattan distance
و نفس الـ value لو انت حسبت واحدة اتنين تلاتة
اربعة خمسة و واحدة اتنين تلاتة اربعة تسعة واحدة
اتنين تلاتة اربعة خمسة ستة سبعة تمانية تسعة ك
units فال Manhattan distance هي فعلياً هتلاقي فيه
implementation يستحيلتجي تتكلم على انك تطبق الـ
Euclidean distance مثال جالك سيارة بدها تتحرك ما
بين النقطين هدول ضمن مدينة هي خلقتها تقول والله
انا بدأ أخش من البيوت اللي هنا مافيش مجال السيارة
فيها لها طرق مواضحة بدها تنشي عليها وبالتالي الـ
Manhattan distance هي الأنسب بالنسبة لإلك في
التعامل الآن
ايش المطلوب عشان اطبق الـ Canary Snapper
أولاً لازم تحدد ال parameter عدد ال K كم جار اللي
بتتكلم عليهم تلاتة، خمسة، سبعة، تمانية، عشرين،
سبعة وعشرين لازم تحددهم انت calculate
the distance بغض النظر عن ال Manhattan ولا ال
Includionبين النقطة الـ query instance اللي هي
النقطة اللي انا بدي اصنفها وبين كل النقاط اللي
موجودة عندى رتب ال data وهي النقطة رقم تلاتة يا
شباب رتب ال data .. رتب ال data مش أساس بالنسبة
ليه؟ ليش؟ لأنه في كل بساطة لو كان هم تلت نقاط طب
انا بقدر بعناية بميز التلت نقاط و بشوف بعرف مين
الأقرب منهم وبقدر اعمل بينهم votingلو كان .. لكن
لو كان عدد الـK الـK اللي أنا بستخدمه كبير خمسين
.. خمسين مثلا صعب إن أنا أقدر أشوف الخمسين ورا بعض
بدون ما أرتبهم ولا لأ؟ فعشان هيك بيجي الترتيب كويس
أو مناسب لما بيكون عدد الـK تباعت كبير عشرة و أطلع
أقولك خمسة و أطلع خصوصا لما كان .. لما تكون النقاط
متباعدة ال data set فيها ألف recordوالـ Most
Closest Point كانت الـ Point رقم 100 و الـ Point
رقم 170 و الـ Point 370 و الـ Point 470، ضال عندي
Point و الـ Point 950، هاي خمس نقاط كيف بدى أشوفهم
هدول؟ اللي هضطر أروح أكتبهم على الجانب عشان أعرف
إيش ال label تبعتهم، هذا الكلام هنطبقه فعليا أنا
شكل عملي لكن لما بيعملني Sorting لهمبصير قادر انا
اشوف وين بشوفهم كلهم ورا بعض عشان اتسهل علي عملية
ال voting بعد هيك select ال key nearest instances
بنقل على ال value اللي حطيها في واحد وفي الآخر
بعمل تصويت ما بينهم وبحسب ال majority بحسب ال
majority ال example اللي موجود عندي هان انت بقى
تشتغله
كل تلاتة في جنب بعض اللي هم ورقة واحدة و أسميكوا
بدها تنحط على جافة الورقة انتوا تلاتة مع بعض غير
شباب اه روح هان تلاتة اهب رجعلي لورا هنا انت لغيت
مجموعة ارجع عندهم يلا تشتغلوا
اتنين اتنين اتنين اتنين مافيش مشكلة اشتغلوا اتنين
اتنين انت لحالك مافيش يروح عنده .. هو عنده كرسي
يروح على كرسي اللي عندهعلى جافة الورجة أسميكم على
جافة الورجة يا شباب أسميكم كمجموع على جافة الورجة
الشغل التاني ابدأ بتصنيف الآن هي عندي الـ new
instance وهي ال data set ال data set فيها five
instances يا كريم وفي عندي الآن instance x equal 3
و x2 equal 7 قل لي .. قل ليالان باعتمادك على اي
distance على مانهاتين على ال Euclidean تنتهي حدك
نفس النتيجة اشتغل على ال Euclidean distance تمام؟
ايش ال class تبع ال instance هاي؟ الان بديك تشتغل
على ال canaries equal واحد وعلى ال canaries equal
تلاتة شو من هما التنتين؟ ود المشكلة في الموضوعأنا
بقولك اشتغل مرة أول لقطة اشتغل احسب ال distances
على السريع يالا القانون
جلط وين يا أخو؟ أنا مالي، هي القانون
الوقت كالسيف
دقيقة .. دقيقة المسألة هتتنحل ..
إيه؟ إيه؟ إيه؟
بتمنى بس على الناس المبتسمة انها تكون فعليا مبتسمة
لإنها عارفة حل مش لإن مش مبتسمة لإنها إيش مش فاهمة
حاجة نعم كمل لحالك احنا شرحنا ال algorithm
أحنا نسأل على شخصين اللي في العالم اللي ممكن
يتعامل معه بالتعامل بالتعامل بالتعامل بالتعامل
بالدرس
اكتب .. اكتب .. اكتب الجواب ال class تبعت ال
instance هي على الورقة في حالة كانت one K K equal
one و في حالة ال K equal تلاتة حطوا
جواب ماقلنا اعمل مجارتي حدد ال .. ال .. can
nearest neighbor و اعمل voting ما بينهم في حالة
الواحد مافيش voting هو في حالة التلاتة بقى تعمل
votingيلا شباب لما الورق اديني إياه خلصت الخمس
دقايق مش دقيقة يا أستاذ وحورجيك إنه هذا بينحل في
أقل من دقيقة يلا شباب اديني الورق الله يسعدك اديني
الورق يلا شباب واحد
كنين ماشي الورق يا شباب إذا
اللي وراك لسه ع بحل سيبك منه اديه الورق لجدامك و
تاخدش منه خليه يجمهو من مكانه
ما تاخدش من حد من ورا ايش
المفروض يسوي فيهم هادول؟
خلصت؟
طيب طيب يا شباب خلاصنا من الصوت خلاصنا تعالى نشوف
جداش فعليا انت تلت عقول او اربعة اشتغلت احيانا او
اتنين في موضوع حل مسألة زي هيك وهي القوانين
التانية قدامك الآن تلاتة ناقص سبعةأربعة تربيع زائد
صفر تربيع ال instance الأولى وهذه كانت ال
classification تبعتها bad الآن أربعة تربيع زائد
تلاتة تربيع وبرضه هذه كانت bad الآن البعديها صفر
تربيع زائد واحد تربيع وهذه good ال instance
الأخيرةاتنين تربيع زائد تلاتة عفوا تلاتة عفوا
تربيع سبعة
ناقص أربعة تلاتة تربيع وهذه good أقصر
مسافة اللي بعديها اللي بعديها
إذا كانت الـ K equal واحد فهي Good إذا كانت الـ K
equal تلاتة بعمل voting بين التلاتة الأصغر تنتين
Good و واحدة Bad حسب المجارية باخد الـ Good فكل
الحالتين كانت عندك Good Eclidean distance أنا
اعتمدت يا دكتور ماطبقتش الترديعمافيش مشكلة،
معامالنا ذاكرين إنه جماعة الخير بما أنه التربيه
يقعد يتطبق نشتغل مع الكل فأنا ممكن أنا أشتغل بسرعة
بدون مقلخم حالي وأستخدم قالة الجوال لأول مرة بدي
أستخدمها على ال include على المنهاتين الناس اللي
اشتغلت على المنهاتين مااختلفتش كتير الآن تلاتة
أربعة زائد صفر وأربعة
زائد تلاتةو صفر زائد تلاتة و اتنين زائد تلاتة ال
shortest واحد اتنين تلاتة
good في حالة ال K equal one وين خمسة
ترتيب اختلف اوكي ماشي الحال اتنين تلاتة تمام
تنتين جود واحدة bad جود
فهي ال label تمام الشباب الله
يعطيك العافية
أصارت عندك X2 المشكلة جزاعل
استاد انا حليت مع K equal تلاتة هاي ال query اللي
بدي اعمل ال instance تلاتة سبعة هي اللي بدي قيمها
فروحت حسبت المسافة بينها وبين كل نقطة تربيع
الان رتبت تبع لل distance من الأصغر للأكبر
وبالتالي الأولى هي ال most closest وراها التانية و
التالتة و الرابعة الرابعة هي the farthest one الآن
إذا كانت ال K تبعتي equal K equal واحد فالأولى
كانت ال K تبعتي equal تلاتة هي التلاتة هعمل بينهم
voting الآن فهتكون الناتج تبعتيال class تبعت ال
instance هذي good اجرب مسافة نعم سبعة نقص سبعة و
انا السبعة نقص سبعة بس السبعة نقص سبعة مش لحالها
في عندك هنا سبعة نقص ثلاثة لأن هذا distance في ال
2D في ال 2D خط بس الخط هذا جاي معاك خط أفق أو خط
عمود لما يكون قيمته متساويات
الان لو طلعوا النساء في كل مقالي نسبتها طبعا هي
بعض ضد وبعض نفس ال .. اه اه الان هذه مشكلة زي ما
قلتلك انا سابقا مشكلة ال voting انك انت بدك تحاول
تسعى انك تلاقي value افضل كي تتناسب مع العملية
الان بكل الأحوال لو طلعوا فعليا فعليا عندي two
classes اللي هم نفس ال level نفس ال distanceحطيته
في ايه؟ حطيته في دي؟ نفس النتيجة في الآخر انت
حصلت، تمام؟ بس في الآخر، هي اللي موجود، هي ال
algorithm ماحدش جالك أن ال algorithm هاد perfect،
one hundred percent أنا قدمته لسبب واحد فقط أنه
أسهل algorithm ممكن تستوعبه أنت الآن، تمام؟ أسهل
algorithm ببدأش يخل دماغك يشتغل معانا، ممتاز؟هذه
ال data ال 6 تبعتنا .. بدي أرجع لهيك شوية X
تلاتة true .. false .. false .. true أنا
سابقا لما كنت بحسب distance أو ping و cell لما صرت
back كنت بعكس ال similarity as a distanceتمام ال
shortest distance ال most similar والعكس صحيح كانت
ال numeric value الان انا فيه عندى boolean value
شو بدي اسوي فيها صفر و واحد احولها صفر و واحد يعني
ارجع اعمل preprocessing صفر و واحد حل بس انا رجعني
كتير لورا مضطرله تمام طيب لو كان عندى كمان
X3 أو X4 بمثل الـ Marital Status Single Divorced
Woodward Married مقولج، بعيد عنك أرمل Woodward
أرمل Divorced مقولق مش هاي الحالات الاجتماعية
الأربعة على شخص أعزب متزوجwidow ..widow ..widow
..widow ..widow ..widow ..widow ..widow ..widow
تقدرش تحولها ايوة دون إبداعات نسمع منكم وبالتالي
انت حقيت .. يعني لو لو هي للأعزب يعني المفروض كون
قيمة الأعزب أكبر غير صحيح نعم نحسب ال X و X1 و X2
و X3 و X4 و X5 و X6 و X7 و X8 و X9 و X10 و X11 و
X12 و X12 و X13 و X14 و X14 و X15 و X16 و X17 و
X18 و X19 و X20 و X21 و X22 و X22 و X22 و X22 و
X22 و X22 و X22 و X22 و X22 و X22 و X22 و X22 و
X22 و X22 و X22 و X22 و X22 و X22لما يكون في عندي
nominal attribute او Boolean attribute ال distance
هتزيد بصفر او بواحد بناء على ايش هل ال value هذي
equal او not equal true يعني ال instance اللي انا
بدي اقرأها الان كانت هنا عندي تلاتة و سبعة و false
و D
الان المسافة اللي بحسبها هي ل
ال instance الأولى الان سبعة ناقص سبعة تربيع زائد
سبعة ناقص تلاتة تربيع زائد واحد
في حالة التساوي صفر في حالة الاختلافصفر زائد صفر
في الحالة التانية مع ال instance التانية أربعة
ناقص سبعة تربيع زائد سبعة ناقص تلاتة تربيع زائد
false و false واحد دي و دي واحدوبالتالي صار موضوع
الـ String اللي هندي أو لو كانت الـ Nominal Data
أو Boolean Data مافيش داعي أرجع لل preprocessing
مافيش داعي أرجع لل preprocessing بالعكس أنا ممكن
أكمل بكل بساطة بتصير الآن similar or dissimilar
لأنه فعلاً هل هي نفس القيمة ولا قيمة مختلفة؟طبعا؟
قيمة و لا قيمة مختلفة لكن لأ أخفيكوا إن هاي في
برضه فيها مشكلة
رحلة
شوية لو كان في عندى two values بالشكل هذا أحمد و
أحمد واحدة بتبدأ بcapital واحدة smallالمفروض تكون
انت حليتها أنا جيبتك كمثال كاسم بالاسم الآن يا
سيدي بلاش نتكلم على الوظيفة ال job manager الان
هادي وهادي في ال semantic واحدة لكن على حسب
القانون اللي أنا بقوله إذا متساويات بياخدوا واحد
مختلفات بياخدوا صفر هدولة من الناس اللي هتاخد صفر
ليش؟ لأن ال case .. بدي أدخل ال ignore case في
الموضوع ابتجيني قضية أخطر من هيك واحد
كتب بال A و واحد كتب بال E مش هذا اللي احنا
اتسمناها سابقا ignore syntax حلتك من ال capital
letter و ال capital letter و ال small letter بس ما
حلت ال cash ان هذه Aوها دي إيه؟ هتظل في عندي
استثناءات وإن ال data فيها .. يعني مش ضروري كل شيء
ييجي .. يعني أنا بهمش أنا بحاول أظبط ال data تمشي
مع القوانين بحاولش أكيف القوانين تمشي مع ال data
وبالتالي هي القانون اللي موجودة عندي هنا في حالة
ال nominal data equal values zero يعني ال distance
بينهم zero ليش؟ لأنهم متطابقيننفس الشيء مافيش فرق
بقى بينهم different values بغض النظر إيش كانوا
الفرق بينهم واحد و لما أنا بضيف الفرق بينهم لما
أقول قيمتهم مختلفات واحد متساويات Zero عكست في
المثال هذا true
و false واحد اختلاف اختلافابعدت ابعدت كويس انكم
انتبهتوا انا بتكلم باتكلم ببتكلم ببتكلم ببتكلم
ببتكلم ببتكلم ببتكلم ببتكلم ببتكلم ببتكلم ببتكلم
ببتكلم
ببتصفر و صفر بين جوسين بين جوسين ان ال instance
الأولى من ناحية ال text من
ناحية ال text أبعد عادة ال instance من التانية
أبعد يعني صار في واحد صار في مسافة تنجمع للقانون
اللي عندي نعم
جدّيش عدد ال values ال different values اللي عندك
و الحالات التانية الوظائف ال occupation جدّيش
عدد الوظائف ايه و اديني مثال فرضا عشرة مين قال مين
قال ان ال manager بيختلف عن الموظف العادي بتسعة
درجات او بعشرة درجات
أنا قاعد باسألك مين اللي جال يعني
انت فعليا بدك تروح تعمل attribute جديد بناء على ال
data اللي عندك بنجو سين مؤمن جاعد ب mail انه خلاص
بما انه انا بدي استخدم ال algorithm كل ال data
تصير ال data نمريكية بس بدي ارجع اقولك ان ال way
اللي انت كمان بتتكلم عليههيظل subjective انت هتصير
تقرب و تبعد في الموظفين حسب حسب
ال character تبعتك حسب الشخص اللي عمله بيحلل و ده
ممكن يختلف لأنه في الآخر مافيش قانون واضح يقول
الفرق بين كده و كده لكن لو على سبيل المثال احنا
كنا بنتكلم على ال salary gradeأو الـ Grade تبع
الموظف آه، ممكن أعكس هذه بالـ Basic Salary تبع كل
Grade و هيك .. هيك بتكون الأمور سهلة تمام؟ لكن في
حالة زي هذه زي ما كتبت و قلت انتهان True و False
صفر و واحد، ماقلت الـ Cash، لأ، قلتلك صح لأنه
منطقية و لو كانت الـ Gender Male و Female، هقولك
صح و هذا الكلام هيتطابق مع الكلام الأساسي اللي
احنا بنقوله قاعدين بس في الحالة هذه انت روح
تعتبرهم Ordinal Dataمرتبط مصبوط و كل ما زادت
الرتبة زاد الفرق مش دايما هذا الكلام متوفر عندي
دكتور تفضلي على ال regression او ال .. مش بس على
ال .. مالهاش تدخل بال regression هاد ال
classification algorithm ال classification
algorithm طيب هد زي تقريبا اللي قلت عشان تفتح
الرواتب المليون
هي تعالى نشوف المثال
هذا الان عندي data set اللي علاقة بالاتصالات
المستخدم رقم المستخدم عند ال call بال duration
الاتصال بالدقائق 25000 40000 55000 27000 53000 ال
SMS count 24 27 32 25 30الـ Data Counter الـ
Mobile Data بالميجا بايت أربعة خمسة سبعة ستة خمسة
الآن لو أنا بدأ أروح أطبق ال distance الـ Numeric
Data ولا لأ؟ لو بدأ أطبق ال distance أنا بقولك
حرام ما تغلبش حالك كفاية تعتمد على ال attribute
الأول ليش؟
لأن الفرق ما بين القيم كبير جداوبالتالي هو صاحب
القرار في ال distance و لا شو رايكوا؟ أو بين
جوسين؟ تأثير ال attribute هذا تأثيره أكبر مئات
المرات من ال attribute التاني والتالت على مين؟ على
ال distance أنت تخيل ال instance اللي أنا بدي
أفحصها القيم اللي فيها ألفين
17 تلاتة مع
ال distance الأولى فقط مع ال distance الأولى خمس
.. خمس آلاف تربيع .. أنا ألفين؟ هذا بدك تقول عشرين
ألف عشرين ألف خمس آلاف تربيع زائد سبعة تربيعزائد
واحد تربيع فعلياً ما لهو مش قيمة في مقابل الخمس
تلاف تربيع ولا لأ؟ يعني هو كأنه ال value اللي طلعت
عندي هي عبارة عن جزر الخمس تلاف والباقي كله ولا
حاجة ماليش معنى كتير عندي أو تأثيره قليل جداً بس
هل الكلام هذا صح؟ هل فعليا ال cold duration هو ال
dominant في ال distance؟ لأ هو لاحظ أن ال
attribute كلهالقيم تبعته عالية ايش الحل بييجي
موضوع ال scaling هو اللي بيحل القضية وبحطهم كلهم
بنفس الأوزان في موضوع ال distance تخيل انا بدرح
اطبق عليهم ال min max normalization من صفر لواحد
شكل
ال data set هيها صفر مع انه كانت الفروقات بينهم
كبيرة جدا وعلى نفس النظام على نفس النظام الألفين
لما انا بقدر أطبقها بقدر اخضعها لنفس المبدأ ال min
max 01 على نفس الحسبة اللي اشتغل عليها هان هي ال
maximum value 55000 وهي ال minimum value ال
minimum و ال old ال old minimum و ال old maximum ل
ال new minimum 0و الـ New Maximum واحد و بدي أطبق
الألف عليهم الألفين عليهم و نفس النظام بدي أطبق
باقي العناصر اللي أنا كتبتها ففعليا ال values
تبعتها بصير تفرج و بصير كلهم إيش متساويات نعم بس
احنا اتفقنا إنه في موضوع ال data ال normalization
في ال preprocessing مهم جدا بس شغلة زي السابقة أنا
ماشوفتهاشماكنتش .. ماكنتش تخطر في أحلامي إنه فعليا
ألاقي إنه الـ nominal attribute أو ألاقي algorithm
فقط شغال على الـ numeric data، مصبوط؟ في ناحية الـ
preprocessing، احنا حكينا سابقا إنه الـ scaling
شغلة أساسية، الـ scaling شغلة أساسية إيش ال
advantages و ال disadvantages تبعت ال algorithm
اللي عندنا؟ ال advantages robustشو يعني robust؟
قوي في موجود ال noise data في عند data طيب هي
distinguish ولا distinguish انت
اللي بتقول عشانك روحت على بلد و مارست فيها لغة
بلفضوها بالشكل هذا بقى هذا لا يعني ان الناس
التانية بتلفضوها بالهديات مختلفة شكرا لك تمام
سيدي؟ الآن
advantages robust أو robust noise training data
لما بكون في عندي noise data أنا بأضمن أنه بديني
prediction صحيحة بهدف أنه فعليا ما بتأثرش هو عماله
بيحسب ال instance أو العلاقة مع كل ال instances و
لما تكون في عندي واحدة noise بتدوب ما بين العناصر
اللي موجودة effective في حالة إذا كانت ال data
تبعتي large enough كبيرةليش؟ لأن بكون ال decision
تبعي بعتمد على أكبر عدد ممكن من ال neighbors
وبالتالي كل ما كترت النقاط صرت انا بدور انه يكون
.. احتمالية انه يكون في نقاط اقرب اعلى ال
disadvantages انه لازم احدد الكلمة الجابلة و
الكلمة التحديدة هذه بحد ذاته مشكلة انا ما بعرف ولا
حد في الدنيا بيعرف ايش افضل key الشغل التانيةالـ
distance based learning is not clear مفهوم الـ
distance لما كنت بتكلم على ال numerical كنت مقتنع
فيها بس لما دخلت ال nominal data بدنا ناخد و نعطف
الكلام مصبوط وبالتالي ما صارت مفهوم ال similarity
مش clear بالنسبة لي كتير عندي هان الشغلة التالتة
أو الأخيرة أنه أنا فعليا هذا ال algorithm بديني
high computation costليش؟ انت تخيل عندي 100 ألف
instance عشان أقدر أصنف one instance بدي أحسب
المسافة بينها وبين 100 ألف نقطة طبعا عندي 10 نقاط
بدي أصنفهم بدي أحسب ال distance عشرة في 100 ألف
يعني مليون مرة مليون distance بدي أحسب و هكذا لكن
هذا برضه على الرغم من العيوب هذهالـ algorithm هذه
في حالات كتيرة efficient إذا كانت في عندي memory
كافية و ال data set تباعتي كويسة بتديني prediction
عالي لأن أحيانا يا جماعة الخير بقدرش أبني model
أنا لاحظ أي تغيير في ال environment مش هتأثر فيهفي
الآخر انت بتديني قيم وانا بحسب قربي او بعدي النقطة
جربت ولا بعدت انا ماعندي مشكلة لكن في حالة بناء ال
model زى ما هشوف لاحقا انا ببنى model ال model
خلاص صار if then طب اتغيرت الدنيا بدك تغير ال if
then يعني بدك تعمل ال training مرة تانية و عادة
بنطلق على ال kennerist labor hand lazy learning
algorithm
براحته، ليش lazy؟ لأنه فعلا بيبنيش model كاسلان
ماعندهش استعداد يرهق نفسه في بناء model أو يحط
role كصفر العلاقة ما بين ال attributes و ال class
فبيعتمد هو كل مرة على إيش؟ على ال computation بدل
من حساب ال model متطفل؟ لاهو شغال بذاته هو كسول
بدوش يبني بقولك لما بتيجي تعمل instance بعملك
الحسبة و بديكي اياه و خلاصنا بديش ابني model
واحتفظ فيه اللي هي لأ
لأ هذا ال algorithm من ال deterministic algorithm
يعني لو دوفرتله نفس ال data setو نفس الـ Instant
Set وجربت 7000 مليون مرة تعمل ال classification
تحديك نفس النتيجة اه
ممكن انا ماقلتش ان ال algorithm هذا هو الأفضل
طبعا؟ لكن هذا ال algorithm هو الأسهل من ناحية
الاستيعاب، أيش اللي بيصير فعشان هيك أنا بديت فيه،
الآن هل هو أفضل algorithm؟ لأالان بس أنا بالنسبة
لي تجربة شخصية في الدكتوراه كان ال algorithm هذا
هو قوق النجاة تبعي قارنته بال support vector
machine وقارنته بال neural network كان أداءه أقل
منهم على الرغم من هي كان اختيار ان هذا ال
algorithm هو الأكثر مناسبة انا بأشتغل في dynamic
environment بعمل computation على الجوال وبالتالي
يستحيل موضوع ال learning ان ابني model كل ما تتغير
ال environmentومقاربة الـ Accuracy لـ Neural
Network دتني حوالي 97% الـ support vector machine
الدنيا مقاربة لها وهذا الدرح الدنيا 94% فبالضبط
فصرت هذا مش فارق في مقابل أنه هذا بيشتغل مع الـ
dynamic environment لأنه أنا مش بحاجة في كل ما
تتغير عوامل البيئة أروح أبني model جديد فكان هو
فعليا أوق النجاح زي ما قلتلك بالنسبة لي من تجربة
فهذا لا يعني أنه سيءلكن أنا قاعد بتكلم advantages
او disadvantages موجودة عندها ال code اللي موجود
عندها بكل بساطة بيبني او بيستخدم ال kenyan sniper
algorithm بال بايثون طبعا انا بفترض ان انا عامل
import
الان بكل بساطة الشباب اللي انا سويته في ال code
هذا كنت بدأ اشتغله او رابط مدامك عملي الان عملت
import لل pandas as bd و ال bd مجرد اي اي shortcut
عشان تختصر من كتابة أسماء ال libraries باكتر من
طريقة و قلتله ال data 6 بعت equal pandas dot read
csv iris dot csv data بتتكلم على تصنيف زهر السوسن
لتلت أصنافال data set هذه for training معدّة بشكل
جيد لل classification طبعا يعني إذا أريد أن أفهم
ال classification و أجرب ال algorithm و أقارن ما
بين ال algorithm هذه واحدة من ال data set المناسبة
عدد ال rows اللي فيها 150 row three classes خمسين
row في كل class طبعا زي بسم قلتلك هي عشان أنا أجرب
عليها الآن قرأت ال data set عادة ال data set تبعتي
هذه من الـ five attributes السبل
length و السبل width عرض أقول السبلة و ال beta
length و ال beta width عرض أقول البتلة تبع الزهرة
تمام؟ الكأس و الورقة تبع الزهرة و النوع النوع اسمه
variety
Kindhand في الـ data set اللي أنا استخدمتها في
data تانية ممكن تسميها kind أو type أو citrus ال
iris type إلى أخرها هذا ال data set كلها جاية في
جدول واحد block واحد أنا الخطوة رقم واحد المفروض
أسويها مع أي عملية classification أفصل أفصل ما بين
ال label وال attributes كيف بدي أفصل بين ال label
وال attributes؟و قلت له ال attributes تبعتي تساوي
ال data set ضد ال drop ال variety drop لل variety
إيش يعني؟ يشيله بس من وين هيشيله؟ هيشيله من ال
data set و يحطها في data set جديد يسميه ليها
features و ليش قلت له x is equal 1؟ لأنه أنا بدي
أشيل columnالان بعضكم ممكن يخطئ ويروح يحط يقوله
الـ IRIS او ال data set equal كده بيصير يحدث عليها
بيلزم يحط in place true عشان يعدل على نفس ال data
set اللي هو شغال عليها انا هيك اخدت مين اخدت ال
features في data set جديدة بدي اخد ال labels او ال
target هقوله ال target تساوي ال data set dot
variety او ال data set
variety هانتعامل معاها as an instance من ال
framework اللي موجود عندك هان class وعتبرها
variable منه وأخدها منه مواشرة و هان روحت انت
اعتبرته ليها as dictionary او ك array او vector
وراح يقطعلك ايه ويقولك اتفضل هذه و هذه هديك نفس
النتيجة الان اللي هيصير عندي بعد هيك from the
escalars dot neighborsلأن هذه سلسلة algorithm
import nearest neighbor k and n ال model equal k
and n خمسة أخدت constructor و قلت له ال k تبعتي
خمسة و قلت له هاي ال association بين ال features و
ال label اللي عندي ال model dot fitبعد هي قلت له
اعمل prediction لمين؟ لـ model.neighbors ال test و
ال S ايش ال test؟ هي عبارة عن sample instance فيها
خمسة و تلاتة و ستة من عشرة واحد و اتنين و واحد و
سبعة قلت له re shape عشان يعمل ليهم as a vector
تتطابق تماما بال direction مع ال instances اللي
موجودة في ال predictions هذه خزنت انها ال value في
ال predictions مافيش ال predictions يا شبابهي
عبارة عن الـ Ray من خمس عناصر تمام؟ إيش فيها؟ فيها
الـ shortest distances ال distances أقصر مسافات مش
أنا بقوله دور على ال shortest five neighbors
فجابلي أقصر خمس مسافات هذا ال role أول في ال array
ال road تاني عبارة عن ال Rayفي ال index تبعت ال
instances أصحاب أقصر مسافات بضل عليك تاخد ال index
هدول و تروح تجيب ال label تبعتهم عشان إيش تعمل
بينهما voting وتاخد القيمة اللي موجودة الله
يعطيكوا العافية و بشوفكوا ان شاء الله لسبوع القادم