بسم الله والحمد لله والصلاة والسلام على رسول الله
اليوم ان شاء الله تعالى هنكمل في موضوع ال data
cleaning كنا المحاضرة الماضية اللي اشتغلنا في
موضوع ال missing لل data و اليوم ان شاء الله تعالى
هنشتغل في موضوع ال noisy data الان في ال noisy
data قلنا احنا ال noise data مفهومها ان انا في
عندى خطأ لسببerror معين الـ error ده ممكن يكون
الناتج عنه من human entry أو فيه fault في ال
instrument اللي أنا جمعت من خلالها ال data وقولنا
من أشهر الأمثلة اللي أنا بتكلم عليها على ال noise
data الراتب يكون بالسالب بغض النظر عن كانت إيش
الأخطاء إيش الشغلات اللي أنا فعليا محتاجها عشان
أعرض أو أتعامل مع ال data set اللي موجودة عندنا
كيف بدي أعمل لها handling من أشهر الطرق اللي
موجودة عندنا موضوع ال pinning وما المقصود في ال
pinning أنه أنا فعليا بدي أروح أجسم ال data set
تبعتي لمجموعات وكل مجموعة هتمثل سيبني يا عمركل
مجموعة هتتمثل بقيمة معينة القيمة دي ممكن تكون ال
main ممكن تكون ال median او ممكن تكون بقيمتين عشان
امثل المجموعة لو اعتمدت على ال boundaries لكن في
شغل مهم جدا مع ال binning اللي هي الموضوع انه انا
فعليا ال partition تبع ال bin ال partition تبعتي
هاي او ال bin جداش حجمها بدو يكون هل هتكلم على
equal frequencyيعني فعلياً كل ال bins هيكونوا نفس
العدد ولا هتكلم على ال equal depth باجب ال equal
depth انا باجب فكرتها انه انا اجسم المجموعات تبع
ال intervals اجي اقول من عشرة مثلا من واحد لعشرة
ال interval الأولى من عشرة عفوا من 11 لعشرين ال
interval التانية من واحد وعشرين لتلاتين ال
interval التالتةبغض النظر عن الأعداد اللي بدها
تكون في كل interval هذي بتسميها احنا ايش؟ equal
depth بينها بقى ال equal frequency ان كل partition
في نفس العدد من ال elements لكن عشان فعليا اطبق
انا ال pinning لازم في البداية اعمل sort لل data
لو ماعملتش sort كل شغلك غلط على الفاضيلكن في موضوع
الـ Equal Depth ممكن انا اشتغل اذا انا فاهم ال
minimum و ال maximum تبعوني قداش بقدر اعمل استخدام
و عارف ايش ال range اللي ممكن تخدمني ال intervals
ممكن اشتغل لانه في الآخر بدي أصبح ال
representation لكل رقم بال interval اللي موجودة
عندها تعالوا نشوفمع بعض ال binning الان العملية
التانية اللى هتكلم عليها ال regression و ال
clustering بعدين كنا احنا بدنا مع ال binning و
الرقم واحد كنا بدنا نعمل sort و بالمثال هذا هشتغل
على equal frequency equal frequency قاللي انا الان
بدي اشتغل على three bins
الان يا جماعة الخير لو كان في عندي plus او minus
one في ال interval يعني لو كانت ال interval تبعتي
هذه 13 رقم 27 مش big deal او مش مشكلة ان الرقم
الأخير هذا ينضاف على ال penالاخيرة طيب لو كان في
عندي تلت أرقام مخص بن مخص رقم واحد ماعندي مشكلة
تكون البن الأخيرة بأقل من digit خصوصا لما احنا
بنتكلم انا بدي اعمل handling ل attribute ال
attribute مش اتناشر value اللي فيه تلتاشر ممكن
يكون فيه تلتاشر الف value فلما فعليا اجي اقول
والله بدي خصه عندي مائة قيمةمن الف مش قضية لسه ما
زال عندي فيه 900 قيمة موجودات وبقالهم وزلهم
وبأثروا بشكل كويس فالخطوة رقم واحد بعد ما انا اعمل
sort اجسم المجموعات اعملت sort بدي equal frequency
اربعة هاي واحدة تنتين تلاتة الخطوة رقم واحدSort
الخطوة الرقم اتنين تجسيمهم او ال partitioning
تبعتهم لمجموعات الآن بعد هيك القيام هذه مين فيها
ال noise انا فعليا مش عارف هل هي الأربعة هي ال
noise ولا الأربعة و تلاتين هي ال noise انا فعليا
مش عارفها لكن هذه الأربعة او الأربعة و تلاتين انا
فعليا هخلص منها من خلال استبدالها بإيش مع كل بن
الآن ممكن استبدلها بالقيامة ال meanأو الـ Median
أو الـ Value .. ال .. عفوا القيم ال boundaries لو
أنا بدأ اعتمد على ال meme هضطر اجمع تمانية زائد
اربعة .. اربعة زائد تمانية زائد تسعة زائد خمستاشع
على اربعة واروح استبدلهم قلعت تسعة بتالي المجموعة
الاولى كل element فيها بده يصير تسعة كل element
فيها بده يصير تسعة المجموعة التانية المتوسطة
الحسابة تبعها كانت تلاتة وعشرين ومن ثم ال ..و
هتكون تلاتة و عشرين والاخيرة تسعة و عشرين و هكذا
لو انا بدي اشتغل على ال boundaries مفهوم ال
boundaries هيهم الأربعة والخمستاش هدولة لل بن
الأول او لل partition الأول الآن الأربعة والخمستاش
هدولة هتكون ثابتات لاحظ في ال main و ال median انا
كل ال partitionالـ values تبعت ال partition
بستبدلها بقيمة واحدة، مظبوط؟ اللي كانت بال mean أو
ال median التسعة استبدلت كل القيم لكن مع ال part
.. مع ال boundaries point بصير .. بتكلم على لأ ال
partition الواحد في قيمتين ال minimum و ال maximum
الآن باجي بدور على القيم اللي في النص تمانية أقرب
لأي boundaryوبعملها replacement لل boundary الأقرب
8 أقرب لل 4 أكيد ومن ثم replace 4 9 لل 4 لأن الفرق
بينها و بين 4 و 5 و 15 و 6 فهي أقرب لل 4 وبالتالي
بعملها replacement بال 4 الان نفس ال 21 و 21 و 24
يصير 25 هنا أقرب و هكذا تمام؟ هذا مفهوم ال
boundaries لكن تعالى نشوف مثالنبدأ فيه من البداية
خالص هنشتغل فيه كتالي حاجة أقول أنا في عندي مثلا
القيم بسيطة سبعة تلاتة تمانية سالب واحد اتنين خمسة
عشرة تسعة ستة اربعة اتناشروهي كمان مرة تلاتة مش
هتفرج معايا الان
انا بدي اشتغل او بدي اعمل partition او بدي استخدم
two partitions الخطوة
رقم واحد طبعا كمان مرة بيتكلم عن ال equal
frequency equal frequency هشتغل الان اول خطوة رقم
واحد sort هي سالب واحدتنين تلاتة كمان تلاتة عندي
أربعة خمسة ستة سبعة تمانية تسعة عشرة معاشر هيك ال
data صارت sortedأنا بتكلم على equal frequency
equal frequency على two partitions يعني أنا بدي
أعدهم من النص 1,2,3,4,5,6,7,8,9,10,11,12,6 مافي
عندي مشكلة 1,2,3,4,5,6 هي ال partition أو البن
الأول وهي البن الثاني الآن بال mean لو أنا بدي
أشتغل بال mean بدي .. مافيش عندي مشكلة بدي أجمعبدي
أجمع العناصر و أجسمهم على عددهم على 6، مصبوط؟ بقى
بالـ Median القيمة اللي بتيجي في النص بما أن
الأعداد اللي عندي هان أعداد عدد العناصر أو عدد
البن زوجي مافيش قيمة في النص، فهجيب الـ Average
تبعت القيمتين اللي في النص تلاتة و تلاتة، بقى أنا
هتكلم بالـ Median تلاتة
و تلاتة ستة على اتنين، تلاتةمعناته الآن كل البن
هذه بدون يعملها replacement بمين؟ بالتلاتة ..
تلاتة .. تلاتة .. تلاتة .. تلاتة .. تلاتة .. تلاتة
.. تلاتة .. تلاتة .. تلاتة .. تلاتة .. تلاتة ..
تلاتة .. تلاتة .. تلاتة .. تلاتة .. تلاتة .. تلاتة
.. تلاتة .. تلاتة .. تلاتة .. تلاتة .. تلاتة ..
تلاتة .. تلاتة .. تلاتة .. تلاتة .. تلاتة .. تلاتة
.. تلاتة .. تلاتة .. تلاتة .. تلاتة .. تلاتة ..
تلاتة .. تلاتة .. تلاتة .. تلاتة ..
تلاتة .. تلاتة .. تل
أقول لك شغلاء حتى لو كانت لو كانت ال value تبعتي
هذه مش اتناش بدي أخليها واحد وعشرين عشان يكون في
عندي out layer حقيقي وانا بدي ايش اخلص منه الان
مين عند ال error او ال error واضح وين يا شباب واضح
عندى في السالب لأن القيم كلهم موجبة كل القيم موجبة
باستثناء السالب واحدوكلها أقاينها حوالين العشرة
باستثناء ال 21 هاي ليش أنا جيبت المثال ده بالتحديد
عشان أقولك انتبه مش كل الخيارات ممكن تكون مناسبة
لك الآن بال mean وال median أنا خلصت وانحلت التمام
وراحت ال error زالت لكن لو أنا بدأ أشغل بال
boundary point بدأ أشغل على ال boundaries
حيظلوا موجودات في وجهي حيظلوا موجودات في ال data
set على الرغم إن هما ال outliers اللي أنا كنت عمال
بحاول أخلص منه أو بين جثين ال noise data اللي كنت
بحاول أخلص منها، مصبوط؟ فانت بدأت تنتبه، تنتبه إنه
أنا مش كل واحدة تسبق معايا، الآن اللي حيصير كتالي
سلب واحد، سلب اتنين أقرب لسلب واحد ولا للخمسة؟لأ
سالب واحد معناته هي سالب واحد سالب واحد التلاتة
لسالب واحد ولا خمسة لأ خمسة خمسة خمسة خمسة هان ستة
هان ستة ستة ستة ستة ستة ستة واحد وعشرين لاحظ ال
out layer بدل ما اخلص منها او ال noise ده بدل ما
اخلص منها عززتها كمان واحدةفانت بقتنطبه مش دائما
الخيارات هذه بتكوناش perfect بالنسبة لي فانت بتشوف
الخيار الأمثل في التعامل تمام وبالتالي خلصنا من
الموضوع ال binning طبعا ال binning زي ما انت شايف
موضوع بسيط سهل ممكن انا اسيطر عليه بشوية انتباه
وتركيز في التعامل الطريقة التانية ان اتخلص من ال
noise data ان انا اعمل regression شو يعني
regression؟هي عبارة عن الـ predictive task مصبوط
بحيث أن أصل على formula أو model يقدر يتنبأ بالقيم
زي ما بقول محمد by value الآن لو أنا أجيت و قلتلك
النقاط هذه المرسومة قدامي هي بتمثل ال data set
تبعتي لاحظ النقاط كلها جاية تمام حوالين الخط هذا
باستثناء النقطة اللي جاية هنابصبت؟ ليش جايها؟ لأن
فيها noise القيمة تبعتها فيها outlier أو فيها
noise معينة فخلتها بعيدة واحدة من الطرق تبعت ال
noise handling أو noise data handling ان انا اعمل
estimation او اعمل prediction لل regression
function او ال line model تبعتي ال line function
تبعتي بحيث ان انا ارسم الخط مستقيم اللي بيمثل كل
ال dataأرسم خط مستقيم يمثّل كل ال data والخط
المستقيم هذا له معادلة الآن بناء على قيمة X اللي
عندي هان اللي هي ثابتة بقدر أعمل estimation لمين
لقيمة Y الصحيحة هل هذا أنا بدي أطبقه على كل ال
data لأ فقط على ال noise data noisy pointوبالتالي
هذه القيمة هتطلع وين؟ معايا على الخط وبالتالي
هتاخد Y جديدة الفكرة أن الوصول لل regression model
هذا أو معادلة الخط المستقيم هي
بحد ذاتها data mining task predictive data mining
task عشان أعمل estimation لهلـ Value لـ Numeric
Value، مظبوط؟ لكن هذه واحدة من القرق اللي ممكن
برضه اطبقها انا عندى وها احنا عادة بنسميها احنا
Supervised Handling الشغل التالتة او الطريقة
التالتة اللي ممكن اعتمد عليها انا موضوع ال
clustering ال clustering اللي هي عبارة عن
descriptive task في ال data mining تقسيم ال data
set لمجموعة منلمجموعات من العناصر مجموعات عفوا
مجموعات من العناصر الآن بالصورة هذه واضح ان ال
data set تاني قدرت ان نشكلها في تلت مجموعات او
نحطها في تلت مجموعات العناصر اللي برا المجموعات
هذه ايش تمثل؟ تمثل noise data ممكن تكون outlier
صحيح هي outlier بالنسبة لل cluster لكن لل general
trend اللي موجود عندك هي مش outlier مش بعيدة كتير
يعني ال point هذه هي أقرب لل cluster هذاالـ
Outlier فعلياً يا شباب هي نقطة ممكن تكون موجودة
هنا بالنسبة للرسمة Outlier يعني نقطة شاذة، لو كانت
هذه نقطة واحدة، هذه النقطة فقط هي الموجودة وباقي
النقاط اللي برا هذه مش موجودة، بقول عنها Outlier،
لكن الآن بما أنه بمثل noise data، قاعد بأتكلم عليه
مجموعة من العناصر، الآن قدامي حل من اتنيناما اعتمد
فقط على ال data set أو ال elements أو ال samples
اللي في داخل ال clusters التلاتة هدول بعد ما عملت
clustering و اتجهل او اعمل delete لكل ال noise
data هاي بس فعليا أنا قاعد بدحّب عدد كبير من ال
data set ولا لأ؟لأ، الحل التاني إن ممكن أنا أستخدم
الـ Common Sense أو أروح أفحص كل واحدة فيهم بشكل
مستقل إيش الـ Outlier Value أو إيش الـ Noise
عفواً، إيش الـ Noise Value اللي خلتها بعيدة عن ال
cluster هذي حتما ال point هذه أقرب ل cluster هذا
من هذا، قصده ولا لأ؟ إيش اللي خلاها بعيدة هنا؟
هتلاقي في Single Value موجودة في attribute معين
ممكن هذه أروح أعملها Adjustment و أضيفها لمين؟للـ
cluster اللي موجود عشان مضحيش بال data لكن لو كانت
نقطة أو تنتين ومش قادرة تحاول تعملهم handling ضمن
العدد الكبير اللي موجود عندي هنا فممكن تحذفهم و
تخلص الان في ال clustering و بتحديدا مع ال
visualization سواء كنت في ال regression أو بال
clustering لاحظ الرسمة كانت بتخدمني بشكل كبير في
موضوع كده أفهم ال data اللي موجود عندي وقدرت أحدد
من ال outlierبكل بساطة وهيك بتكون خلصنا من معالجة
ال noise data خلصنا من معالجة ال noise data في ال
inconsistent data inconsistent data غير متناسقة
عمره 40 سنة و تاريخ ميلاده 1990 male و pregnant
مولود في 1900 وخشبة و طالب سنة أولى ابتدائيفهذه
المعلومات هي الـ Inconsistent تتوقع ممكن تلاقي
system في الدنيا يحددلك إياها؟
أيوة، يعني بدك يكون فعليا Dedicated System تم
إنشاء نظام للحالات اللي زي هذه وحط ال rules زي ما
عمله بجول كريم بس الآن في موضوع المال و pregnant
الحامل للذكور هل هذا وارد؟في عمر واحد عاجل بيفكر
يبني rule زي هيك عشان يدور لأنه الأصل لأ، لكن في
لحظة من اللحظات ممكن أنا أضطر أكتب rule عشان يحل
أو يدورلي على الحالات اللي زي هذه، بس فعليا مش
هتلاقيه بسهولة، انت بتعمله development الشغل ال
manual أحسن لأن هذه ال cases قليلة جدا، تمام؟
وغالبا هتختلف من حالة لحالةلكن احنا بنقول لو فرضا
ان الحالة هذه ممكن تتكرر ايش بروح بساوي ممكن
ابنيلها system بسيط يعمل ال check تماما زي اللي
بتكلم عن ال spelling check programs الان الخطاء
الإملئي أثناء الكتابة ايش هو مش هو عبارة عن برنامج
عنده موجود الكلمات بين جثين ال rules وبروح بصير
يقارنها بعضهم راح يقولك في عندك grammar checkبدي
أعرف قوانين الكتابة وصياغة اللغة وهنا نفس الكلام
بدي أصير أنا أكون عارف وين ال inconsistency بتصير
بين ال attributes وصير أحطها في rules عشان يعملها
detection لكن هذا الكلام صعب وصعب جدا احنا بدنا
نعمل focus على الشغل لكن ممكن المعنى والهدا مهم
جدا عشان هيك عشان هيك أول واحدة في معالج ال
inconsistent data ال common senseتستخدم المنطق
السليم تبعك في التفكير مش بس الإحساس اقول اه والله
okay male و pregnant انا حاسس انه مش صحيح المعلوم
لأ ال common sense مقصودها ان البديهيات بالنسبة
اليك فخلاص في مشكلة هنا male مستحيل يكون pregnant
او يكون ال gender عندي مدخل خطأ و هو female مصبوط
ولا لأ؟ وبالتالي هذه الحالتين الموجودات لكن لو
طلعت في السجل كله ياتهدخل مدرسة للذكور ومحطوط لبعد
فترة pregnant لأ مستحيل فكلمة pregnant هي الخطأ
وبالتالي بدنا نشيلها من العناصر الموجودة الفكرة
كمان مرة يا جماعة الخير ال common sense لازم تكون
حاضرة احنا عندنا مشاكل كبيرة مع الأنظمة كعرب لما
اتكلم بال hands up
حمزة مكسورة، حمزة مفتوحة، حمزة مضمومة والإنجليز
كذلك عندهم نفس المشاكل الأجانب في عند الـDennis
وDennis وهاي قرها عن هاي واحد يقول الـMan names
أساسا مابديش هي في ال mining task بقوله كلامك صح
بس هذا الكلام وارد عشان تقدر توافق على سبيل المثال
في ال integration لما نجيه كمان شوية بدي أجمع two
datasets مع بعضهم لجيت رقم واحد، اتنين، تلاتة،
أربعة واسمه Dennis، الاسم الأولورقمه في الـ Data 6
اللي جاي من وزارة الصحة 1234 والاسم مكتوب Dennis
بالـ Spelling التاني هجول لا لا هدول الـ Two
Records مش نفسهم لأ هما نفسهم ومافيش بينهم تعارض
لأ ما هو في شغلات بتأكد أن ممكن الـ Data تكون هذي
غلط بصبت؟ يعني الآن لجيت Two Records نفسه الـ ID
1234 و1 خليل و2 حسن
لأ، في غلط، لكن لما ألاقي هذا Dennis وDennis مافيه
غلط، صح فيه difference في ال value تبع ال name
هنا، لكنه فعلاً ضمن ال common sense هذا نفس الإسم،
إيش يا محمد، تمام؟ طبعا،
بكتب دور على ال inappropriate values القيم الغير
منطقية أو الغير متاحة،
طيب
كيبك تصلحها؟ كيبك تصلح الـ inconsistent data؟
Manual، بعد ما أحددها، بدي أحددها أصلحها إيش؟
Manual، يعني لازم أرجع لل documents و أقارن ال
data اللي موجودة عندها تخيل، بقولك أنت لو روحت على
زبائن بنك معين و لجيت 5% منهم كلهم مولودين في 112
صدفة حلوة لأ أنا بقولك في خطأ و .. و .. خطأ أكيد
يعني عويجي يقولي والله الطلاب المسجلين عشرين
فالمية من الطلاب الموجودين بيننا الآن في المحاضرة
في ال data mining من موريد الف وتسعمائية وخشبة
مستحيل
كيف اتجمع كلهم؟ هل هم .. الآن تقولك والله هذا
التاريخ .. هذا التاريخ .. يعني لكل واحد فيه تاريخ
مولاد مستقل و لا لأ تيجي تقولي عشان صدفة غريبة بما
أنها غريبة بدروح اتحقق منها طب اتحقق منها كي بدوا
تايم الشباب؟ هاتوا هوياتكم مش هيك اللي حيصير؟ هرجع
لل document الحقيقي عشان انا اعمل ال check على ال
values اللي موجودة من الشغلات اللي بتساعدني في فهم
الـ Consistency تبع الـ Data و تحديد الـ
Inconsistent Values الـ Metadata ليش؟
لأن في الـ Metadata باجي أتكلم على الـ Domain و
الـ Range و الـ Dependency و الـ Distribution تبع
الـ Attributes بيجي يقولني والله عندي ال salary
العبارة عن number تتراوح الأرقام أو ال values ال
minimum salary 1500 و ال maximum salary 2700
لاجيت فيه salary مدخل 3700 inconsistent ليش؟ لأنها
طلعت برا .. برا ال rule اللي حددليها ال range
تمام؟ وبالتالي فهم ال metadata بيساعدني في تحديد
ال inconsistent data بدي أفحص ال field overloading
أو ال field overloading شو يعني overloading؟بالـ
object oriented شو يعني overloading؟ overloading
method انه
في عندى method بتحمل نفس الاسم لكن ال signature
تبعتها مختلفة شو يعني ال signature؟ اما ال return
value او ال parameter متفقين طيب يعني شو يعني
overloading attribute؟ انه ال attribute هذا ظهر
بشكل مختلف مع انه ال values تبعت ايش؟متشابهة يعني
لجيت انا عندي فعليا ال age لجيت ال age و لجيت
تاريخ الميلاد المفروض التانين بتدوني نفس المعلومة
ولا شو رايكوا اه هو انا هكتفي بواحد يا أهي ابو
حينه لكن الآن عشان انا افحص ال consistency ممكن
هذا يخدمني في الموضوع ولا شو رايكوا ال uniqueness
rulesكذلك أنه لما أنا بكون فاهم ال description صح
وبيجي بقولي ال attribute الفلاني كل ال values اللي
فيه unique تمام؟ كل ال values اللي فيه unique
مابتتكررش وبلاجي فيه تكرار و هذا مؤشر أنه صار في
عندي شغل غلط في ال data setهل الروها دي duplicated
ولا فعليا في عندي عناصر عامالها بتظهر في الآخر
ممكن يكون عند بعض ال commercial tools اللي بتعمل
analysis لل data و بتجيبلي العلاقة بين ال values
ال different values لكن مجالاتها قليلة جدا زي ما
قلنا سابقا يعني بكل بساطة بكل بساطة ال
inconsistent data بتحتاجك انت as a humanأكتر ما
بتحتاج machine أو program عشان يحددها ويصلحها
تمام؟ تمام يا شباب؟ تمام تمام ننتقل للنقطة اللي
بعد هيك احنا قلنا للوصول لل knowledge presentation
كم قطة بدي امشي؟ ايوة؟ سبعة data cleaningdata
integration data selection data transformation
data mining الـ transformation بالمناسبة قبل ال
selection مش قضية كتير data mining knowledge
knowledge evaluation أو better evaluation و
knowledge presentation تمام الآن بدنا ننتقل لل
task التانية مباشرة اللي هي ال dataIntegration
يعني احنا بفهم بناء على الخطوة هاي إذا كان في عندي
two different data source data set one و data set
two من different resources الأصل .. الأصل أن أعمل
cleaning لتنتين جبل ما أعمل integration ليش؟
لأنه فعليا احنا مش بحاجة ال null حتصير في عندي
مشكلة فانا لما بدي اعمل integration بدي اكون على
السليم يعني في مرحلة ما بعد ال cleaning عشان اضمن
يصير في عندي combination صح لل data set الآن
وبالتالي ال data integration هي عبارة عن
combination أو combines ال data from different
sources زي ما قلنا سابقا بالمثال اللي قلناه هنكرره
كتير كاسمتقدير تحصيل الطالب أو مستوى تحصيل الطالب
في المرحلة الابتدائية بناء على الحالة الصحية،
مصبوط؟ وكل هذه المعلومات من two different
resources تربية و التعليم و الصحة و بدي اعمل
integration ما بين العناصر اللي موجودة عندها ليش
انا فعليا بدي اعمل data integration لواحد من سببين
الأول انه انا في عندي smalldata set small
data set لما بتكلم small data set معناته ال
integration هدفه زيادة عدد ال rows زيادة عدد ال
samples، مظبوط؟ الشغل
التاني سبب ال integration
more information for
the samples أنا بحاجة لمعلومات
جديدة عن ال samples عاملا في المثال اللي بنقول
عليه أنا عنده معلومات خاصة بالمدرسة و بالتعليم سجل
الطالب التعليمي موجودة في وزارة و أنا شغال في
الوزارة فهي موجودة عند ال data setالأن المعلومات
اللي أنا بدي إياها إضافية عشان تخدم ال task تبعتي
موجودة في وزارة الصحة مش بدأ أساوي بدي أجيبها عشان
أضيف information لكل sample يعني أنا بدي أضيف بين
جثين attributes مصبوط؟
لأن هان مش هعمل على ال enlargement لل data set مش
هزيد عدد ال rows هزيد عدد ال attributes
الان لو انا بدي اعمل data set بسيطة هنا ال
ID
ال name ال
age و ال level
والـ GPA أو الـ Average GPA متوسط
تحصيله هذه المعلومات من وين؟ من المدرسة أو من
وزارة التدريب والتعليم في وزارة الصحة مافيش
اهم مافيش
average مافيش level مظبوط كلامكال ID و ال name
بتكلم على ال weight العمر
مثلا هاي ال age date of birth ليكن ال weight ال
height illness هل في أمراض ولا لأ هل بتدناول أدوية
ولا لأ treatment إلى آخره الأهم أنا بدي أعمل
combinationأو بدي أجمع الـ two data set هدول عشان
ال task تبعتي هدفها كمان مرة للمرة كده أشهد الألف
تمام؟ كمان مرة بنتكلم أنه أنا بدي أحاول أعمل
prediction لمستوى تحصيل الطالب بناء على سجله الصحي
ال combination هذا هيصير هاني علي أبو الخير صحيح؟
تمام هذا ال raw أو ال data set بدها تكون هنا وكأني
بكل بساطة بدي اعمل inner join بين two tables فهذه
ال combination كان هدفها او هذه ال integration
هدفها اضافة معلومات جديدةلكل entity لكل sample لأن
عشان تتحقق ال task الموجودة لكن لو قلنا والله أن
الطالب هذا كان فترة الإبتدائي عايش أو بدرس في
مدرسة خاصة أو مدرسة خاصة والمعلومات هذه ماكنتش
موجودة في وزارة الصحة وقدرنا نحصل المعلومات هذه من
المدرسة وين بدها تنضاف؟ بدها تنضاف record 10 بدها
تنضافrecord هان تمام وبالتالي مصادر البيانات تبعتي
انا تصنف على واحد من اتنين اما internal او
external internal لما انا بكون as a developer او
data scientist شغال والمعلومات هذه ملكي يعني انا
شغال في وزارة التربية والتعليم وبدنا نشتغل على كذا
هذه المعلومات عندى موجودة في ال database تبعتي
تمام؟ هذه بنسميها Internal Source طب و ال External
Source أنه أنا فعليا بيانات بدي أحاول أستعيد ..
ممكن أدفع حجها أحيانا أحصل عليها من برا الآن
بالنسبة إيه للبيانات في وزارة الصحة External ..
الآن لما بدك .. روحت الآن ال ..يتكلموا على الشركات
الإتصالات والبنوك والـ Credit Cards والمعاملات مش
كل المعلومات Local مصبوط؟ بنك فلسطين الآن Local
لما أنا بكون جوا فلسطين و بستخدم ال ATM تبعته
بأنتقل باستخدام ATM بتاعة البنك الإسلامي الفلسطيني
أو العربي بديت فيه عندي Transaction Externalكنت في
دولة تانية و استخدمت بطاقة بنك فلسطين برضه فيها
عندى external data وإن كان حصير فيه hint أو فيه
عندى مقاصة لل value اللى موجودة مش قضية كتير بس
احنا بدنا نفهم انه فيه عندى ال data تصنف بناء على
مصدرها وعادة التعامل مع ال internalأسهل من ال
external لأن عادة ال internal أنا فاهمها كويس عارف
إيش محتوياتها عارف إيش عيوبها بالتفصيل و بقدر لكن
اللي برا تحتاج مني جهد أكتر و غالبا ما هي مش على
مزاجي فحتى عب عليها كويس في موضوع ال integration
ضروري تنتبه لل identity identification أنا قبل
شوية قلت اسمه واحد اتنين تلاتة أربعة و مرة أحمد
ومرة تانية خليل اعمل
merge لل two rows هذول يعني اسمه هان واحد اتنين
تلاتة اربعة احمد وانا واحد اتنين تلاتة اربعة خليل
وانا بقعد بدي اعمل integration بين ال two datasets
هذول شو رايكوا اذا انا بدي اعتمد على ال ID هيهال
ID بيقوللي ادمج نصبوت؟ ال ID بيقوللي ادمج اذا كنت
انا بدي اعتمد فقط على ال primary key بيقوللي ادمج
بس في شغل عاملها بتقوللي لا ايجف يعني هذا شخص ممكن
يكون غيره شو بيطلب مني هذا الكلام؟ خلصنا من ال
noise شو بيطلب مني هذا الكلام؟ انا الآن مش عارف
مين فيهم ال noise داتا اذا كانت بتتكلمي تمام؟
ignore ال record ممتاز
طيب ليش ما تفكر انه ليش ما يكون في وزارة الصحة
مجدمين اسم العائلة مثلا يعني احنا هنعتمدنا على ال
first name هو اسم العائلة وبالتالي مازالين بس
اتحقق شو هو بقى الأسامي اللي موجودة انا أخدتها
الان انتبه انا بدي الاسم الأول او بدي ال full name
الان في حياة ال full name و ال full name مختلفين و
ال ID واحد لسه ما زلت انا بدي احاول اتشبث بال
recordو أخلّيه عندى بأكبر قدر ممكن باطلّع على باقي
مثلا باطلّع على ال age 17 17 إذا هل في common
attributes بين التنين بيأكدولي إن هذا هو نفسه هذا
ممكن أصيب أتجوز عن من؟ عن الإسم لأنه فعلا الإسم مش
هيخدمني بس أنا حاليا بدي أتأكد إن هذا real entity
موجودة عندى في ال data set هذه بنسميها ال entity
identification
الproblem ال value of conflict او ال value
conflict التعارض ما بين القيم لجيت عمره هان 17 و
هان لجيته 15 انا في الآخر هحتفظ ب one edge مظبوط؟
يعني غالبا ال edge هان مش هجيب ليه طب باس مين فيهم
الصح؟الخمسة عشر ولا السبعتاشر؟ ال date of birth
هنا موجود قاللي والله انه تاريخ ميلاده هذا الفين
وخمسة واحنا الفين وعشرين ميلاده خمسة عشر ميلاده
الخطأ عندي هنا وهذا بتطلب برضه مني manual
correctness عشان اعدي ال level ممكن يكون عندي
indicatorطبعا لكن بيظل فيه احتمال ان هو فعليا ايش
يكون مثلا اتأخر سنة او رصب سنة او ما شابه لكن ال
date of birth كان بيقول لأ يا اما هو متأكد لان هو
بيقطفيه تقابق ما بين ال values ال redundant
teachers انا مافيش عندي ال age هنا لكن
عنديdate of birth تاريخ الميلاد لما انا اعمل
marriage تاريخ الميلاد هيجينيها ك attribute لكن
المعلومات اللي فيها موجودة عندى سابقا فبرضه انا
بدى أنتبه لها يعني في عندى تلت شغلات أساسية بدى
أنتبه لعندي عملية ال integration اتأكد من ال
identification لكل entity اللي فعليا ال entity
تقابل ال entity المقابلة بتاعتها بشكل صحيحالـ
value conflict أو الـ inconsistent اللي ممكن تصير
عندي زي ما صار معايا في الاسم أو صار معايا في ال
age وفي الآخر في ال redundant features أو في تكرار
ال attributes اللي موجودة عندي وبرضه الشغل هيكون
manual ممكن اكتب code عشان يعمل integration لو انت
طبقت عملت ال inner join بين ال two tables هدول ايش
اللي بصير؟بياخد ال rows بناء على ال ID ال ID
المختلف بين التنين مابيطلعش يعني تخيل ان هنا واحد
اتنين تلاتة تسعة مافيش هنا وهنا عندي واحد اتنين
تلاتة تمانية مش موجود هنا هذا ال row مش هيظهر وهذا
ال row مش هيظهر ولا لأ؟ ليش؟ لأن فعليا مافيش
integration ما بين ال rows اللي موجودةلكن لاحظوا
المشكلة دي انا ماعانيت منها مطلقا لما روحت جيبت
مصدر تاني للبيانات وصرت اجمعها عشان ازيد مين؟ عدد
الروز لان في الآخر انا جيبت من المدرسة الخاصة جيبت
ال name و ال age و ال level و ال GPA لمجموع الطلاب
عشان ازيد ازيد محصلة الروز اللي موجودة عندها
هننتقل الآن لموضوع الـ Data Transformation اللي هي
الخطوة الرب العد ايوة أهب تفضل اسأل مثلا زي
الميديا اللي جيت العالم الأول بسيط هجيته فعلا فعلا
هذا مثلا الإنسان بدري يعمل بحث زي هيك هل فعلا مهتم
في ال record زي ما هذا ولا بس انه اتعلم الصحيح؟
شوفي أهب كل record بتضيفه على ال data set الأصل
بتضيف لك knowledge جديدة و بقوّي ال ruleأو الـ
predictors اللي انت بدك تنشئه عشان هيك فعليًا انت
محتاجه كل ما كانت عدد ال data set قليلة أو
المعلومات اللي عندك قليلة انت بحاجة لأي .. أي شغل
بتعزز البيانات اللي موجودة عندك حتى لو one record
بدك تضيفه لكن ال data set اللي عندي حجمها 100 ألف
recordولا جيت عشرة record أو ميت record أو ألف
record في مكان ما مش ضروري أفكر فيهم كتير إذا أنا
واثق في البيانات اللي عندي لكن لو كانوا الألف
record هدول بمثله حالة خاصة وانا بدي أدرجها في
النظام تبعتي لازم أعملها integration للميت ألف
اللي عندي وصيروا ميت ألف وواحد تمام؟ أو مية وواحد
ألف في موضوع ال transfer .. في أي شباب عنده ..
شباب في حد عنده أي سؤال تانيهننتقل لموضوع أو نكمل
في ال steps و بنحاول إن شاء الله الأسبوع هذا ننهي
ال chapter اللي احنا بنشتغل فيه لأنه صارنا قداشة
هذا الأسبوع التالت و احنا بنخد في ال data
understanding و ال preparation فبديش ياخد تحسه
بالملل فبنروح باتجاه ال mining إن شاء الله الآن في
ال data transformation المقصود فيها تحويل أو تحوير
البيانات من formمن صورتها الحالية اللى تظهر بصورة
تتناسب مع ال mining task عاما اللى احنا بنقول بقول
انا في عندى تاريخ الميلاد يا جماعة الخير date of
birth
القيم اللي موجودة فيه .. القيم اللي موجودة فيه
بتقول إذا أنا بدي أبني decision rules هيكون عندي
ال values كتيرة لأنه انولد في شهر واحد غير ان
انولد في شهر اتنين في عندى تلاتين خيار في شهر واحد
و28 في شهر 2 و 31 في شهر 3، مصبوط؟ معناته على مدار
السنة، يعني أنا بتكلم هيك وكأنه وكأنه عندي 365
variable أو value بدها تدخل في ال decision rules
تبعي هذاهذا الكلام مش منطق بينما كل الناس اللي في
مستوى أول مثلا أو في فئة الجامعة هدولة فئة واحدة
طلاب المدارس في الثانوية فئة تانية اللي من الإعداد
يو انزل فئة تالتة الخرجين فئة رابعة فهذه الفئات
تاريخ الميلاد هذا مابكفنيش يا راني تاريخ الميلاد
هذا مابنفعنيش فانا محتاج ان اغير صورة تاريخ
الميلاد
الى age بال age بكون انا عملت ايش قللت ال value
اللى موجودة قللت ال value اللى موجودة عندى
وبالتالي قللت ال decision rules تبعتي لكن لاحظ ان
تاريخ الميلاد و ال age اللى كتب معاه نفسه من ال
2005 و كتبت ال age 15 مافقدتش المعلومة تبعتيمصبوب؟
والأفضل من هيك لو جسمتم لفئات زي ما هنشوف كمان
شوية فمن ال data transformation method ل smoothing
method لما عملت pinning عبارة عن smoothing method
ال regression smoothing method بس هدفها الأساسي
تخلص من ال noise واحد يقول ليه ال smoothing
حطيناها من ال transformation؟ال data أخدت صور
مختلفة البن الأولى أخدت قيمة بدل كل القيم اللي
كانت في البن ايش أخدت؟ أخدت ال median او أخدت ال
mean أربعة فبالتالي القيم تغيرت كانت شكل وصارت شكل
آخر ال values اللي عندي كانت 17 مليون
الأرقام هذه كبيرة ما بتتناسبش مع ال computation
تبعتي فانا بدي أخليها 1.7 كذلك ال 18 وال 20 مليون
ال 20 صارت 2 و ال 1.5 صارت 15 و هكذا فهذا التحوير
ال data كانت في صورة وصارت في صورة مختلفة
God كان بهدف التخلص من الـ Noise، تمام؟ لكن
فعليًا، فعليًا الـ Data اللي صارت موجودة في الـ
Attribute هي عبارة عن New Transformation، تحور للـ
Data، مصدورة لا لأ؟ ضالت الـ Original Data؟ لأ،
فعليًا صار عليها تحور، عشان هيك ذكرناها أول واحدة،
لأنها مرت علينا سابقًا الـ Aggregation، أنا فعليًا
ممكن أروح أضيف أو أعمل شغلات، يعني الآن بروح بقولي
والله بدنا نحسبان نحاول نتنبأ ان الموظف الحكومي
بعد كام سنة ممكن يشتري بيت يا
عم الله يرزق الجميع من فضله ان شاء اللهأنا عند
الراتب الشهري لكن عادة الراتب الشهري مبلغ قليل
ماحدش بدور عليه في التعاملات اللي زي هذه بروح بده
الراتب السنوي طب أنا ماعنديش الراتب السنوي عند بس
الراتب الشهري بأضربه ب12 بأضربه ب12 مظبوط؟ ايش
سويت .. كل السنوات و أنا عملية ضرب بس فعليا نقلت
ال dataمن Range وحطتليها في Range مختلف وهذه برضه
Transformation فنسميها احنا Aggregation
Transformation او Aggregate Transformation
Generalization لما انا بأتكلم ان ال data ال set
تبعت فيه تتبع Hierarchy معينة زي ايش انا في عند ال
country وفي عندي ال set ال state وعندي
الـ city وعندي ال neighborhood الحي
وعندي ال street مثلا شو
علقت هدول في بعض الشارع عنوان تفصيل العنوان الشارع
موجود في حي و الحي موجود في مدينة و المدينة موجود
في ولاية و الولاية بتتبع دولةأنا الآن العنوان اللي
موجود عندي مكتوب لحالة مستوى الشارع غزة
الرمال شارع عمرو بن عبدالعزيز هذا بس عشان يُنذَكر
خلال اليومين الماضيات في الخبار طبعا؟ الآن طب هل
التفاصيل هذه بهمني أنا؟ طب ما هي ال redundant
value أو عفوا القيم الكتيرة المختلفة هذه؟برضه
بتصعب موضوع ال decision تبعتي طبما هي الرمال كلها
منطقة واحدة فانا بدي استغني عن ال street واصير
اتكلم على ال neighborhood وحتى ال neighborhood مش
فارج كبير رمال وشجعية مش فارج كتير تمام فانا هضطر
لاحظ انه لما انا بتكلم على transformation يا جماعة
الخير لاحظوا يا جماعة الخير انه لما انا بأعمل
transformation بحول ال value من street ل
neighborhood او ل city فقدت معلوماتش ايه؟ لأ هي
نفس المعلومات نفس ال representation بس انا مش
بحاجة ل two details هاي هذا برضه بنسميه
transformationالـ Normalization الـ Normalization
فعليًا أنا بده أروح أعمل Scaling لل Data Scaling
زي ما قلنا 17 مليون أو الأرقام اللي عندي كبيرة
فبده أروح أقللها أو بده أحطه ضمن Range معين وهنا
بدنا عمليات حسابية وهذه هروح لها بتفاصيل الآن الـ
Attribute Construction زي ما قلت أنا عندي تاريخ
الميلادو تاريخ الميلاد مابديش ايه بديش إياه بدي
أحط ال age أو بدي أبني الفئة العمرية و كل التفاصيل
هاي كلها عبارة عن different transformation لل data
كمان مرة transformation لا يعني إن أنا القيمة
تغيرت الجوهر ال value موجود لكن الصورة اللي ظهرت
عليها مختلفة
طيب، الآن بدنا نروح على الـ Transformation اللي له
علاقة بالـ Normalization لأن هنا في عندي
Mathematical Forms لازم أفهمها كويس و أفهم النتيجة
من كل واحدة فيهم كل الكلام اللي احنا قلناه سابقا
جربنا ال smoothingوالـ aggregation بسيطة هي عبارة
عن computation بسيطة ممكن تصير موجودة عندي و ال
generalization مافيش عليها شغل كتير زي ما احنا
شوفناه الآن ال attribute construction برضه عبارة
عن attribute جديد بدي انبنى بناء على values موجودة
مسبقا الان ال normalization هذه تقريبا أصعبهم و
بدنا نشتغل علىبشكل جيد لكن لأ أخفيكوا أنا الصحيح
اللي اليوم الصبح غيرت في ال slides فاللي طاب عليه
slide بيغينه الله بس ال slides هدول بدهم تعديل
ايوة
الان كويس عند أحمد فروخي بيسأل سؤال مهم جدا يا
شباب الان موضوع ال normalization اللي احنا أخدناه
في ال databaseفي database واحد ايش كان الهدف منه
انه
نقل شويه بس عشان اجيب لكياب تعريفي وطابق الكلام
اللي احنا بدنا يهان هو مش بعيد عنه هو عبارة عن كان
هدفه نقل ال data analysis تبعتي ال initial data
analysis الى other stage بتمنع التكرار، مصبوط؟بس
لاحظ في الأول كانت form كانت عبارة عن single
entity وفي ال form التاني في ال second normal form
اضطرت اعمل partitioning لأكتر من entity عشان اعمل
بينهماش أضمن عدم اتكرار ولا لأ مش هذا اللي صار ال
transformation اللي صار هذا هو نفسه او ال
normalization هو عبارة عن جزء من ال transformation
جزء من التحول هل التحول كله مش ضروري هالكلام اللي
احنا بيقوله فبالتالي مافيش تعرضات ما بين التانين
يا أحمدالأن في الـ Normalization اللي هتتكلم عليها
أو في الـ Scaling بالتحديد طبعا Normalization أو
Scaling نفس المصطلحات في علم البيانات أو في الـ
Data Mining بنتكلم إنه أنا بدي أروح أغير ال data
range تبعتي و عادة عادة بقى اتوجه إن أغير ال range
ل range أصغريعني بدل ما كانت الأرقام رواتب
الموظفين من 17 .. او من .. من 1770 مليون لـ 370
مليون اه
بالليرة .. هذا الكلام وارد جدا مصبوط؟
بدل ما هذا ال range بتروح اخليه يجع في range من
واحدلعشرة مثلا أو بدي أخلي من واحد وسبعة من عشرة
لتلاتة فاصلة سبعة الان في ال computation مين أسهل
الرقم هذا ولا الرقم هذا المفروض
الرقم الأصغر أسهل
كمان مرة مفهوم الـ Normalization ان انا بدي اعمل
scaling لل data او لل attributes اللي عندى هاي
بحيث ان احطها في different range و عادة .. عادة
اكثر من 95% او 99% من الشغل في ال hand انه انا بحط
ال range ل range اصغر لكن هذا لا يمنع .. لا يمنع
مطلقا انه افكر احطها في range اكبر منها و عادة يا
جماعة الخير تخيل انه انا في عندى two attributes
attribute one و attribute two ال values اللي عندي
هان بتتراوح
من الصفر للواحد و ال attribute التاني هذا من مية
إلى الف خليك معاه سيبر
عشان تفهم حاجتنا للـ Normalization أو للـ Scaling
تخيل إنه أنا في عندي data set فيها two attributes
الأول بتراوح القيم المتخلفة اللي في من صفر لواحد
والتاني من مية لألف و جيت أنا قلتلك بدي task بسيطة
جدا منك ترسمليهم على الـ 2D plane شو
رأيك؟كيف ال scale تبعك اللي هتستخدمه في الرسم؟
الان
كمان مرة شو رايك هاي ال .. هاي ال two attributes و
بدك ترسملياهم على two D plane مالهاش علاقة بال
mining الآن، تمام؟ شو ال scale اللي بدك تستخدمه؟
بدك تستخدم واحد، اتنين، تلاتة، اربعة، خمسة، ستة؟
ولا واحد من عشرة؟ولّا مية؟ ممتاز إذا أنت أخدت
المية إذا أخدت المية يعني الصحيحة التهان من صفر
لمية كل ال values تبعة ال attribute هذا هتيجيك في
النقطة هاي هتيجيك وكأنه معمود في النقطة هاي مش
هيبينه ليش؟ لأنه ال range تبعك اللي إنت اعتمدت لها
يا تناسب وإذا اعتمدت واحد من عشرة المية هتيجي هنا
مصبوط؟ وبالتالي مافيش مجال الرسم inconsistent
حيكون أو مش هتقدر ترسمهم من الآخر مافيش الحل ان
بدي أعمل معيار للرسم بين الاتنين إما بدي أنزل هذا
لنفس ال scale أو بدي أرفع هذا لنفس ال scale اللي
موجود وعلى الحالتين صح مين الأسهل؟ أنزل قول بدي
أجسمه علىعالمية بيصير هذا واحد و هذا عشرة لاحظ ال
range لأ بقى يختلف صفر ل واحد و واحدة عشرة نوعا ما
قريب لكن برضه ممكن انا ايش راح اساوي احط بنفس ال
range بديش اجسم على عالمية انا اجسم على الف
صار عند إيش؟ نفس ال scale exactly و أنا مافقدتش من
قيمة البيانات ولا حاجة هذا الكلام نفسه .. نفسه
بهمني لما يكون ال algorithm تبعي ال machine
learning algorithm اللي بيشتغل في ال mining task
تكون data set أو attribute ال values تبعته صغيرة
جدا و ال attribute التاني ال value تبعته كبيرة جدا
تبقى عندي mismatch في التعامل فأفضل حاجة ايش أسوي
ان احاول اعمل normalization لكل ال data تكون كلها
على range واحد فال scaling هذه او ال normalization
هذه مهمة جدا بالنسبالنا ال
z score او ال normalization او ال zero score
normalization او زي ما بتسميها ال python standard
scalar standard scalar
في عند الـ Min Max Normalization أو Min Max Scalar
وفي عند الـ Decimal Scalar أو Decimal Scaling أو
Decimal Normalization نبدأ مع الـ Zero Score أو مع
الـ Z Min أو الـ Z Score كلها نفس المصطلحات أو نفس
العنصر Standard Scalar بتكلم على الـ Zero Min
Normalization Zero Min Normalization مفهومها بكل
بساطة يا جماعة الخيرانه احنا فعليا بحاجة طبعا عشان
في مثال انا كتبته عند الطالبات المحاضرة الجابه
اللي بدي اياه نفسه مافيش داعي ان اختار مثال جديد
مفهومها انه بدي احول ال attribute هذا ل attribute
او ل value احور ال data اللي فيه ل value مختلفة
بحيث ان المتوسط الحسابي تبع ال new form يكون صفر
عشان هيك اسمه z من ال zeroأو Z-Mean، Zero-Mean،
Zero-Score أو Zero-Mean مفهومها إنه بعد ما أنا
أحور الـAttribute أحور الـAttribute، بده يكون
الـMean تبعه صفر ليش هذا الكلام مهم؟ لأنه كتير من
العمليات الحسابية المرتبطة بالـ Machine Learning
Algorithm لها علاقة بالـMean والـStandard
Deviation فإذا أنا قدرت أحول الـMean لـ0فبتصير
العمليات الحسابية تبعتي أسهل ما يمكن لو أنت بقيت
تضرب بصفر خلاص بس ال term اللي أنا جدت فيه term
صفر خلصنا لو بدي أجمع صفر مع أن مافيش عندي تغيير
وهذا هو الهدف الأساسي من ال normalization هنا إنه
أنا عامة في ال transformation عمالي بحاول أبدأ
أقلل من ال cost أو ال computational cost اللي ممكن
تصير عنديفالـ Zero mean أو الـ Z-score هدفها أنه
للـ feature هذا تكون قيمة الـ mean المتوسط الحسابي
صفر و ال variance أو الانحراف المعياري تبعته جداش
واحد عبر المعادلة اللي موجودة عندنا هنا طبعا ميزة
ال scaling هذا انه مافيش minimum و مافيش maximum
لكن بتروح تتطبق حسب القانونالقيمة الجديدة اللي هي
الـ Z تساوي القيمة السابقة X ناقص المتوسط الحسابي
على الانحراف المعياري تبعت ال value اللي موجودة
عندها عشان تظهر الصورة الأرقام اللي عندي أنا عشرة
خمس طعش عشرة خمس طعش عشرين
هذه الـ A original الـ attribute O الـ attribute
الأصلي ال values اللي فيه ال values اللي فيه تمام
هايهم خمس قيم عشان أقدر أشتغل مع هذا أو أطبق عليه
ال Z score شو بدي أساوي؟ بدي أحسب المتوسط الحسابي
هاي المتوسط الحسابي يساوي المجموع على العدد عشرة
عشرين و بتهيألي فيه كمان واحدةهم خمس قيم خمس طعش
عشرين تمام سبعين على خمسة كدهش الشباب سبعين على
خمسة يا
عيني عليكم عشان هيك يا حبابنا تعمل حسابك تعمل
حسابك تجيب ال calculator تبعتك انا بالنسبة لي
هيها اه مش هسمحلك تستخدم الجوال ولا في الامتحان
هسمحلك تستخدم الجوال فانت ما شاء الله يعني لسه عن
بارح طالع من الثانوية العامة او إذا في عندك حدا
فهي .. هي فهي إلك إذا في حد أخدها من وراك تلفها
منه ضروري من اليوم و طالع في عندنا حساب لأ حساب
عشان ما أخوف cashلأن هاي و ما شاء الله عليك انت في
القسمة الـ 70 على 5 أثبتتي اللي بالدليل قاطع إنك
ناجح ان شاء الله طيب، الآن خلاص حسبت ال main الآن
إيش بقول ليه؟ الانحراف المعياري أو ال sigma تساوي
الجذر التربيعي للفروقات ما بين ال main على العدد
عشرة أربعة عشر ناقص عشرة تربيع أربعة عشر ناقص عشرة
عشرة تربيع أربعة عشر ناقص عشرين تربيع أربعة عشر
ناقص عشرين تربيع أربعة عشر ناقص عشرين تربيع أربعة
عشر ناقص عشرين تربيع أربعة عشر ناقص عشرين تربيع
أربعة عشر ناقص عشرين تربيع أربعة عشر ناقص عشرين
تربيع أربعة عشر ناقص عشرين تربيع أربعة عشر ناق16 1
16 1 36 مصبوط انا حسبت المربعات الان 16 و 16 32 و
32 و 2 34 و 36 70 الان ال sigmaتساوي الجذر
التربيعي لـ 70 على 5 اللي هي جذر الـ 14 اللي هي
تقريبا قداش تلات
أو كسر، صح؟
ما هو لما أنت تكتب لتنين جذر مش عارف قداش مش هتحصل
لنتيجة تلاتة
pointأربعة و سبعين جذر
الاربعتاش هذا بنسميه الانحراف المعياري لل data set
او لل attribute اللي عندى sigma لسه احنا مخلصناش
انا كل اللي بسوته جبت المعاملات بتاعة المعادلة هاي
جبت ال mu جبت ال sigmaهلجت بدي أجيب Z زد لمين يا
جماعة الخير لكل قيمة من هدول لكل قيمة من هدول احنا
خلصنا هذا الان بقدر أمسحه ال
attribute new قيمة
القيمة الجديدة تساوي X ناقص ميو علىتلاتة يعني بين
جثين هتكون عشرة ناقص أربعة تعش على تلاتة فاصلة
أربعة وسبعين ولا كيف بده يكون في الآخر المتوسط
الحسابي صفر لازم تكون قيم موجبة وقيم سالبة لأنه في
الآخر صفر على أي شيء العدد مستحيل يكون صفر فلازم
البسطي يطلع معاك صفر مجموع القيم فبتطلع هذه سالب
بالنسبة للأولىأربعة تقسيم تلاتة فاصلة أربعة وسبعين
سالب
واحد point zero سبعة هم ال roundation للرقمين
هتكون
عندي عشرة ناقص او عفوا خمس طعش ناقص اربعة طعش على
تلاتة اربعة وسبعين اعتمد
يا أبو حاسم ولا في شك في الكلام
26% غلط لأنه بدنا نعمل roundation عندك 6 أو 7 يا
باشا عشان أضمن تصفر معايا المسألة الآن عشرة نفس
القيمة اللي فوق 1
.0715
.27 الآن
1.6 انا بتذكرها هي صحيحة 1.6 تمام؟ الان متوسط
الحساب الجديد يساوي اجمع
العناصر هدول على عددهم عددهم خمسة سالب
واحد
لان انت متراهلش انت بتجمع القمتين هدول وبالتالي
ال mean تبعتي قداش صارت صفر لازم يطلع صفر اللي مش
مصدق يجمعهم يا شباب مش مشكلة عندي تمام فال mean
صفر الانحراف المعياري الجديد يساوي الجذر التربيعي
لأالفروقات هدول او القيام هدول تربيع الفروق مع ال
mean ال mean صفر فتربيع القيام هذه 1.07 زائد 0.27
زائد 1.7 تربيع زائد 0.27 تربيع زائد 1.6 تربيع هدول
مجموحهم خمسة على خمسة
واحد اه لازم يطلع واحد لو ما طلعش واحد مانتوا في
عندك مشكلة لو ما طلعش واحد في عندك مشكلة في الحساب
ممكن الأرقام مشكلة لا يا باشا الأرقام إيش ما كانت
إذا تطبق عليها ال Z score لازم إنها تجي يطلع ال
main صفر و ال standard deviation واحد
تمام؟ تمام إيش
استفدت؟ الآن أنا عملت scaling .. scaling لمين؟ لل
A الأصلية اللي موجودة عندي بقيم جديدة عملت
transformation مظبوط؟ القيمة هذه تمثل العشرة وال
27 تمثل .. ال 27 من 100 تمثل 15يعني حطيتها في
Range جديد الـ Range الجديد هذا ما فقدش قيمته
مطلقا لكن كان فيه لميزة قال لي إن المتوسط الحسابي
تبع القيم هدول صفر والانحراف المياري واحد كتير من
ال machine learning algorithm جامعة الخير بتنبني
على حسبة ال main والانحراف المياري فلما أنا بأضمن
ال main صفرمعناته كتير من العمليات او من ال terms
هعملها neglect هاختصرها في ال computation ولا لأ
لما بتكون العمليات ضرب و بحصل على واحد في ال
standard deviation هذا الكلام كله بيخدمني في تسريع
عملية ال learning اللي هتصير عند ال data mining او
في مرحلة ال mining او ال data mining tasks هالكلام
هذا مطلوب من ناحية عملي من ناحية عملي ال standard
scalar موجودة في ال python as a functionتستدعيها و
بتقوله تديها اسم ال attribute و بتعمل generate ل
attribute بمباشرة بس لازم تحفظ و تفهم اش اللي بصير
لأنه بكل بساطة لاحقا ممكن اديك sequence من خمس
عناصر زي هيك و اقولك روح انا بدي نعمل
transformation لل data set هذه بحيث انك تتناسب مع
ال task الفلانية بتطبيق ال algorithm الفلاني
أيوة سؤال مهم أحمد فاروخ بيقول جديش ال scale مافيش
scale مافيش range و هذا الكلام قلناه ثابت مافيش
عندي minimum و maximum values ما بعرفهمش لكن بما
أنه العشرة هي أصغر قيمة عندي و ال data 6 أنا قادر
أمسكها أصغر قيمة فهذه كانت ال minimum و ال maximum
20 فهذه 61.6%هي ال maximum بس هي ال range تبعتي هي
ال range اللي موجودة عندي الآن على غرار الكلام هذا
في عند ال min max طبعا ال robust عشان نخلص منها ال
robust scalar فكرته بكل بساطة انه بيقولك يا عم إذا
أنا كان في عندي outlier point او في عندي noisy
pointفضمن ال range هذا و انا اعتمدت على ال mean
فهتشد ال mean باتجاه بعيد بمعنى اخر لو كانت
العشرين هذه 200 او ناقص 20 شو بيصير في ال mean
اللي عندى؟هيتغير وبالتالي صار فيه bias باتجاه الـ
outlier باتجاه ال noise data عشان يتجنب ال noise
data ال robust scalar هذا بيروح بيعتمد على ال
median و ال quartiles ايش ال median؟ ايش ال
median؟ الوسيط ال quartiles القيم تبعت الأرباع
تبعت العناصر اللي موجودة عندىوبهيك هو بتجنب تأثير
ال noise attributes لتظهر أو ال noise value لتظهر
عنده