بسم الله والحمد لله والصلاة والسلام على رسول الله
اليوم إن شاء الله تعالى هنكمل في موضوع الـ data
cleaning كنا المحاضرة الماضية اللي اشتغلنا فيه
موضوع الـ missing data واليوم إن شاء الله تعالى
هنشتغل في موضوع الـ noisy data الآن في الـ noisy
data قلنا إحنا الـ noise data مفهومها إن أنا في
عندي خطأ لسبب error معين، الـ error ده ممكن يكون
الناتج عنه من human entry أو فيه fault في الـ
instrument اللي أنا جمعت من خلالها الـ data، وقلنا
من أشهر الأمثلة اللي أنا بتكلم عليها على الـ noise
data، الراتب يكون بالسالب بغض النظر عن كانت إيش
الأخطاء، إيش الشغلات اللي أنا فعلياً محتاجها عشان
أعرض أو أتعامل مع الـ data set اللي موجودة عندنا
كيف بدي أعمل لها handling؟ من أشهر الطرق اللي
موجودة عندنا موضوع الـ binning، وما المقصود في الـ
binning؟ إنه أنا فعلياً بدي أروح أجسم الـ data set
تبعي لمجموعات، وكل مجموعة هتمثل، سيبني يا عمر، كل
مجموعة هتتمثل بقيمة معينة، القيمة دي ممكن تكون الـ
mean، ممكن تكون الـ 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، لكن عشان فعلياً أطبق
أنا الـ binning، لازم في البداية أعمل 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 أو مش مشكلة، إن الرقم
الأخير هذا ينضاف على الـ bin الأخيرة، طيب لو كان في
عندي ثلاث أرقام، مخصصة، بن مخصصة، رقم واحد ما عندي مشكلة
تكون الـ bin الأخيرة بأقل من digit، خصوصاً لما إحنا
بنتكلم، أنا بدي أعمل handling لـ attribute، الـ
attribute مش اثنا عشر value، اللي فيه ثلاثة عشر، ممكن
يكون فيه ثلاثة عشر ألف value، فلما فعلياً أجي أقول
والله بدي خصّه عندي مئة قيمة من الألف، مش قضية، لسه ما
زال عندي فيه ٩٠٠ قيمة موجودات، وبأثرهم بشكل كويس، فالخطوة رقم واحد بعد ما أنا أعمل
sort، أجسم المجموعات، عملت sort، بدي equal frequency
أربعة، هاي واحدة، اثنين، ثلاثة، الخطوة رقم واحد sort
الخطوة رقم واحد sort، الخطوة رقم اثنين تجسيمهم أو الـ partitioning
الخطوة رقم اثنين، تجسيمهم أو الـ partitioning
تبعتهم لمجموعات، الآن بعد هيك، القيام هذه مين فيها
الـ noise؟ أنا فعلياً مش عارف هل هي الأربعة هي الـ
noise، ولا الأربعة والثلاثين هي الـ noise، أنا فعلياً
مش عارفها، لكن هذه الأربعة أو الأربعة والثلاثين، أنا
فعلياً هخلص منها من خلال استبدالها بإيش؟ مع كل bin
الآن ممكن أستبدلها بالقيمة الـ mean أو الـ median
أو الـ value .. الـ .. عفواً القيم الـ boundaries، لو
أنا بدأت أعتمد على الـ mean، هضطر أجمع ثمانية زائد
أربعة .. أربعة زائد ثمانية زائد تسعة زائد خمسة عشر
على أربعة، وأروح أستبدلهم، طلعت تسعة، بالتالي المجموعة
الأولى كل element فيها بده يصير تسعة، كل element
فيها بده يصير تسعة، المجموعة الثانية، المتوسطة
الحسابية تبعها كانت ثلاثة وعشرين، ومن ثم الـ .. و
هتكون ثلاثة وعشرون، والاخيرة تسعة وعشرون وهكذا
لو أنا بدي اشتغل على الـ boundaries، مفهوم الـ
boundaries، هيهم الأربعة والخمسة عشر، هدول للـ bin
الأولى أو للـ partition الأولى، الآن الأربعة والخمسة عشر
هدول هيكونوا ثابتات، لاحظ في الـ mean والـ median أنا
كل الـ partition، الـ values تبع الـ partition
بستبدلها بقيمة واحدة، مظبوط؟ اللي كانت بالـ mean أو
الـ median، التسعة استبدلت كل القيم، لكن مع الـ part
.. مع الـ boundaries point، بصير .. بتكلم على الـ
partition الواحد في قيمتين، الـ minimum والـ maximum
الآن باجي بدور على القيم اللي في النص، ثمانية أقرب
لأي boundary، وبعملها replacement للـ boundary الأقرب
٨ أقرب للـ ٤ أكيد، ومن ثم replace ٩ للـ ٤، لأن الفرق
بينها وبين ٤ و بين ١٥ و بين ٦، فهي أقرب للـ ٤ وبالتالي
بعملها replacement بالـ ٤، الآن نفس الـ ٢١، و٢١ و٢٤
يصير ٢٥، هنا أقرب وهكذا، تمام؟ هذا مفهوم الـ
boundaries، لكن تعالوا نشوف مثال، نبدأ فيه من البداية
خالص، هنشتغل فيه كالتالي، حاجة أقول أنا في عندي مثلاً
القيم بسيطة: سبعة، ثلاثة، ثمانية، سالب واحد، اثنين، خمسة،
عشرة، تسعة، ستة، أربعة، اثنا عشر، وهي كمان مرة ثلاثة، مش
هتفرق معايا الآن
أنا بدي اشتغل أو بدي أعمل partition أو بدي أستخدم
two partitions، الخطوة
رقم واحد، طبعاً كمان مرة بيتكلم عن الـ equal
frequency، equal frequency، هشتغل الآن، أول خطوة رقم
واحد sort، هي سالب واحد، اثنين، ثلاثة، كمان ثلاثة عندي
أربعة، خمسة، ستة، سبعة، ثمانية، تسعة، عشرة، هيك الـ
data صارت sorted، أنا بتكلم على equal frequency
equal frequency على two partitions، يعني أنا بدي
أعدّهم من النص، ١، ٢، ٣، ٤، ٥، ٦، ٧، ٨، ٩، ١٠، ١١، ١٢، ٦ ما في
عندي مشكلة، ١، ٢، ٣، ٤، ٥، ٦ هي الـ partition أو الـ bin
الأولى، وهي الـ bin الثانية، الآن بالـ mean، لو أنا بدي
أشتغل بالـ mean، بدي .. ما في عندي مشكلة، بدي أجمع، بدي
أجمع العناصر وأجسمهم على عددهم، على ٦، مظبوط؟ بقى
بالـ median، القيمة اللي بتيجي في النص، بما أن
الأعداد اللي عندي هنا، أعداد، عدد العناصر أو عدد
الـ bin زوجي، ما في قيمة في النص، فهجيب الـ average
تبع القيمتين اللي في النص، ثلاثة وثلاثة، بقى أنا
هتكلم بالـ median، ثلاثة
وثلاثة، ستة على اثنين، ثلاثة، معناته الآن كل الـ bin
هذه، بدون يعملها replacement بمين؟ بثلاثة ..
ثلاثة .. ثلاثة .. ثلاثة .. ثلاثة .. ثلاثة .. ثلاثة
.. ثلاثة .. ثلاثة .. ثلاثة .. ثلاثة .. ثلاثة ..
ثلاثة .. ثلاثة .. ثلاثة .. ثلاثة .. ثلاثة ..
ثلاثة .. ثلاثة .. ثلاثة .. ثلاثة ..
ثلاثة .. ثلاثة .. تل
أقول لك شغلة، حتى لو كانت، لو كانت الـ value تبعي
هذه مش اثنا عشر، بدي أخليها واحد وعشرين عشان يكون في
عندي outlier حقيقي وأنا بدي إيش أخلص منه، الآن
مين عند الـ error أو الـ error واضح وين يا شباب؟ واضح
عندي في السالب، لأن القيم كلهم موجبة، كل القيم موجبة
باستثناء السالب واحد، وكلها قريبة من العشرة
باستثناء الـ ٢١، هاي ليش أنا جيبت المثال ده بالتحديد؟
عشان أقول لك انتبه، مش كل الخيارات ممكن تكون مناسبة
لك، الآن بالـ mean والـ median أنا خلصت وانحلت تمام
و راحت الـ error زالت، لكن لو أنا بدأت أشتغل بالـ
boundary point، بدأت أشتغل على الـ boundaries
حيظلوا موجودات في وجهي، حيظلوا موجودات في الـ data
set، على الرغم إن هما الـ outliers اللي أنا كنت عمال
بحاول أخلص منه، أو بين جثتين الـ noise data اللي كنت
بحاول أخلص منها، مظبوط؟ فأنت بدك تنتبه، تنتبه إنه
أنا مش كل واحدة بتنفع معايا، الآن اللي حيصير كالتالي:
سالب واحد، سالب اثنين، أقرب لسالب واحد ولا للخمسة؟ لأ
سالب واحد، معناته هي سالب واحد، سالب واحد، الثلاثة
لسالب واحد ولا خمسة؟ لأ، خمسة، خمسة، خمسة، خمسة، هنا ستة
هنا ستة، ستة، ستة، ستة، ستة، ستة، واحد وعشرين، لاحظ الـ
outlier، بدل ما أخلص منها أو الـ 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
هذا
الحامل للذكور هل هذا وارد؟ في عمر واحد عاجل بيفكر
يبني 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، وواحد خليل واثنين حسن
لأ، في غلط، لكن لما ألاقي هذا Dennis وDennis ما فيه
غلط، صح؟ فيه difference في الـ value تبع الـ name
هنا، لكنه فعلاً ضمن الـ common sense، هذا نفس الاسم،
إيش يا محمد؟ تمام؟ طبعاً،
بكتب، أدور على الـ inappropriate values، القيم الغير
منطقية أو الغير متاحة،
طيب
كيفك تصلحها؟ كيفك تصلح الـ inconsistent data؟
Manual، بعد ما أحددها، بدي أحددها وأصلحها، إيش؟
Manual، يعني لازم أرجع للـ documents وأقارن الـ
data اللي موجودة عندها، تخيل، بقول لك أنت لو روحت على
زبائن بنك معين، ولجيت 5% منهم كلهم مولودين في 11/2
صدفة حلوة؟ لأ، أنا بقول لك في خطأ و..و..خطأ أكيد
يعني عويجي يقول لي والله الطلاب المسجلين عشرين
فالمئة من الطلاب الموجودين بيننا الآن في المحاضرة
في الـ 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
ما بتتكرر، وبلاقي فيه تكرار، وهذا مؤشر أنه صار في
عندي شغل غلط في الـ dataset، هل الروهات دي duplicated
ولا فعلياً في عندي عناصر عاملة بتظهر في الآخر
ممكن يكون عند بعض الـ commercial tools اللي بتعمل
analysis للـ data، وبتجيب لي العلاقة بين الـ values
الـ different values، لكن مجالاتها قليلة جداً زي ما
قلنا سابقاً، يعني بكل بساطة، بكل بساطة الـ
inconsistent data بتحتاجك أنت as a human أكثر ما
بتحتاج machine أو program عشان يحددها ويصلحها
تمام؟ تمام يا شباب؟ تمام، تمام، ننتقل للنقطة اللي
بعد هيك، احنا قلنا للوصول للـ knowledge presentation
كم خطوة بدي امشي؟ ايوه؟ سبعه: data cleaning، data
integration، data selection، data transformation،
data mining، الـ transformation بالمناسبة قبل الـ
selection، مش قضية كتير، data mining، knowledge
knowledge evaluation، أو better evaluation، و
knowledge presentation، تمام، الآن بدنا ننتقل للـ
task الثانية مباشرة، اللي هي الـ data integration
يعني احنا بفهم بناءً على الخطوة هاي، إذا كان في عندي
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 لواحد من سببين
الأول، أنه أنا في عندي small data set، small
data set، لما أتكلم small data set، معناته الـ
integration هدفه زيادة عدد الـ rows، زيادة عدد الـ
samples، صحيح؟ الشغل
الثاني، سبب الـ integration
more information for
the samples، أنا بحاجة لمعلومات
جديدة عن الـ samples، عامل في المثال اللي بنقول
عليه، أنا عنده معلومات خاصة بالمدرسة والتعليم، سجل
الطالب التعليمي موجودة في وزارة، وأنا شغال في
الوزارة، فهي موجودة عند الـ dataset، الآن المعلومات
اللي أنا بدي إياها إضافية عشان تخدم الـ task تبعي
موجودة في وزارة الصحة، مش هبدأ أساوي، بدي أجيبها عشان
أضيف information لكل sample، يعني أنا بدي أضيف بين
جثين attributes، صحيح؟
لأن هنا مش هعمل على الـ enlargement للـ dataset، مش
هزيد عدد الـ rows، هزيد عدد الـ attributes
الآن لو أنا بدي أعمل dataset بسيطة، هنا الـ
ID،
الـ name، الـ
age، والـ level
والـ GPA أو الـ Average GPA، متوسط
تحصيله، هذه المعلومات من وين؟ من المدرسة أو من
وزارة التربية والتعليم، في وزارة الصحة ما فيش
شيء ما فيش
average، ما فيش level، صحيح؟ كلامك، الـ ID والـ name
بتكلم على الـ weight، العمر،
مثلاً هاي الـ age، date of birth، ليكن الـ weight، الـ
height، illness، هل في أمراض ولا لأ؟ هل بتناول أدوية
ولا لأ؟ treatment إلى آخره، المهم أنا بدي أعمل
combination أو بدي أجمع الـ two datasets هدول عشان
الـ task تبعي، هدفها، كمان مرة، للمرة كده أشهد الألف
تمام؟ كمان مرة بنتكلم أنه أنا بدي أحاول أعمل
prediction لمستوى تحصيل الطالب بناءً على سجله الصحي
الـ combination هذا حيصير هاني علي أبو الخير، صحيح؟
تمام، هذا الـ raw أو الـ dataset بدها تكون هنا، وكأني
بكل بساطة بدي أعمل inner join بين two tables، فهذه
الـ combination، كان هدفها أو هذه الـ integration
هدفها إضافة معلومات جديدة لكل entity، لكل sample، لأن
عشان تتحقق الـ task الموجودة، لكن لو قلنا والله أن
الطالب هذا كان فترة الابتدائي عايش أو بدرس في
مدرسة خاصة، أو مدرسة خاصة، والمعلومات هذه ما كانتش
موجودة
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
هنا موجود، قال لي والله إنه تاريخ ميلاده هذا 2005
وخمسة، واحنا 2020، ميلاده خمسة عشر، ميلاده
الخطأ عندي هنا، وهذا بيطلب برضه مني 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 اللي موجودة، لكن لاحظوا
المشكلة دي أنا ما عانيت منها مطلقاً لما روحت جيبت
مصدر ثاني للبيانات، وصرت أجمعها عشان أزيد مين؟ عدد
الـ rows، لأن في الآخر أنا جيبت من المدرسة الخاصة، جيبت
الـ name، و الـ age، و الـ level، و الـ GPA لمجموع الطلاب
عشان أزيد، أزيد محصلة الـ rows اللي موجودة عندها
هننتقل الآن لموضوع الـ Data Transformation، اللي هي
الخطوة الرابعة، العد، أيوة، أهب، تفضّل، اسأل، مثلاً زي
الـ media اللي جيت العالم الأول بسيط، هجيته فعلاً فعلاً
هذا مثلاً، الإنسان بدري يعمل بحث زي هيك، هل فعلاً مهتم
في الـ record زي ما هذا، ولا بس إنه اتعلّم الصحيح؟
شوفي، أهب، كل record بتضيفه على الـ data set الأصلي
بتضيف لك knowledge جديدة، و بقوّي الـ rule أو الـ
predictors اللي أنت بدك تنشئه، عشان هيك فعلياً أنت
محتاجة، كل ما كانت عدد الـ data set قليلة أو
المعلومات اللي عندك قليلة، أنت بحاجة لأي.. أي شغل
بتعزّز البيانات اللي موجودة عندك، حتى لو one record
بدك تضيفه، لكن الـ data set اللي عندي حجمها 100 ألف
record، ولا جيت عشرة records أو مئة 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، لما عملت binning، عبارة عن 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 ما فيش عليها شغل كتير زي ما إحنا
الان
كمان مرة شو رايك هاي الـ .. هاي الـ 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، أثبتتي بالدليل القاطع إنك
ناجح إن شاء الله، طيب، الآن خلاص حسبت الـ mean، الآن
إيش بقول له؟ الانحراف المعياري أو الـ sigma تساوي
الجذر التربيعي للفروقات ما بين الـ mean على العدد
عشرة، أربعة عشر ناقص عشرة تربيع، أربعة عشر ناقص عشرة
تربيع، أربعة عشر ناقص عشرين تربيع، أربعة عشر
ناقص عشرين تربيع، أربعة عشر ناقص عشرين تربيع، أربعة
عشر ناقص عشرين تربيع، أربعة عشر ناقص عشرين تربيع
أربعة عشر ناقص عشرين تربيع، أربعة عشر ناقص عشرين
تربيع، أربعة عشر ناقص عشرين تربيع، أربعة عشر ناقص 16، 1
16، 1، 36، مصبوط، أنا حسبت المربعات، الآن 16 و16، 32، و
32 و2، 34، و36، 70، الآن الـ sigma تساوي الجذر
التربيعي لـ 70 على 5، اللي هي جذر الـ 14، اللي هي
تقريبًا قد ايش؟ ثلاثة
أو كسر، صح؟
ما هو لما أنت تكتب ثلاثة فاصلة جذر، مش عارف قد ايش، مش هتحصل
لنتيجة ثلاثة
فاصلة أربعة وسبعين، جذر
الـ 14 هذا بنسميه الانحراف المعياري للـ data set
أو للـ attribute اللي عندي، sigma، لسة احنا ما خلصناش،
أنا كل اللي سوّيته جبت المعاملات بتاعة المعادلة هاي،
جبت الـ mu، جبت الـ sigma، هلاّ بدي أجيب Z، زد لمين يا
جماعة الخير؟ لكل قيمة من هدول، لكل قيمة من هدول، احنا
خلصنا هذا، الآن بقدر أمسحه، الـ
attribute new، قيمة
القيمة الجديدة تساوي X ناقص ميو على ثلاثة فاصلة أربعة وسبعين، يعني
بتكون عشرة ناقص أربعة عشر على ثلاثة فاصلة أربعة وسبعين، ولا كيف؟ بده يكون في الآخر المتوسط
الحسابي صفر، لازم تكون قيم موجبة وقيم سالبة، لأنه في
الآخر صفر على أي شيء، العدد مستحيل يكون صفر، فلازم
البسط يطلع معك صفر، مجموع القيم، فبتطلع هذه سالب
بالنسبة للأولى، أربعة على ثلاثة فاصلة أربعة وسبعين،
سالب
واحد فاصلة صفر سبعة، هم الـ rounding للرقمين،
هتكون
عندي عشرة ناقص، أو عفواً، خمسة عشر ناقص أربعة عشر على
ثلاثة فاصلة أربعة وسبعين، اعتمد
يا أبو حاسم، ولا في شك في الكلام
26% غلط، لأنه بدنا نعمل rounding، عندك 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 لازم إنها تجي يطلع الـ
mean صفر، والـ standard deviation واحد
تمام؟ تمام، إيش
استفدت؟ الآن أنا عملت scaling .. scaling لمين؟ للـ
A الأصلية اللي موجودة عندي، بقيم جديدة، عملت
transformation، مظبوط؟ القيمة هذه تمثل العشرة، والـ
27 تمثل .. الـ 27 من 100 تمثل 15، يعني حطيتها في
Range جديد، الـ Range الجديد هذا ما فقدش قيمته
مطلقًا، لكن كان فيه لميزة، قال لي إن المتوسط الحسابي
تبع القيم هدول صفر، والانحراف المعياري واحد، كثير من
الـ machine learning algorithm، جامعة الخير، بتنبني
على حسبة الـ mean والانحراف المعياري، فلما أنا بأضمن
الـ mean صفر، معناته كثير من العمليات أو من الـ 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؟ ما فيش 836 01:09:11,320 -->