بسم الله الرحمن الرحيم. اليوم، إن شاء الله، بدنا
نستمر في موضوع الـ data mining. بدنا .. كنا حاكينا
في أول شيء في decision trees وخلصناها، وبعد كده
أرجعنا على بداية الـ lecture هذه، علشان ناخد
المواضيع من الأول، من البداية. فحكينا في
introduction عن الـ data mining، وإيش هو.
وحكينا عن الـ process of data mining، مصمم من الـ
process of data mining، وهي عملية بناء knowledge
-based system باستخدام أسلوب الـ data mining. الآن
الـ steps تبعتها، اللي هو data selection والـ fusion
والـ transformation، وبعدها العملية الأساسية تبعت
الـ data mining، باستخدام الـ data mining techniques
أو الـ artificial techniques in general، والمراحل
الأخيرة، الـ Interpretation، يعني أن عرض نتائج الـ Data
Mining على المستخدم، لكي يفهم هذه المعرفة، ويبني
على أساسها قراراته. تقنيات
Data Mining في هذا الأمر، ممكن تبقى decision trees، وممكن
ممكن تجد neural networks و fuzzy systems techniques
اللي إحنا شفناها خلال الفصل هذا، وفي موضوع الـ OLAP،
اللي هو online analytical processing، الـ online
analytical processing، ما هو إلا تطبيق للتكنيكس
هذه على الـ data، من أجل استخلاص اللي هو knowledge
هذا.
الـ OLAP يعني أنسب أن إحنا ندرس في مادة مخصصة للـ
data mining. إحنا ركزنا هنا في الـ AI على الـ
techniques نفسها، توظف في ايه؟ هذه القضايا بتعتمد
على الإحصائيات المختلفة. فإحنا الآن بنسير على اعتبار
اللي هو الـ statistical methods and data
visualization. الـ statistical methods هي عبارة عن
بنقدر نعتبرها مجموعة من الـ statistics operations،
عمليات إحصائية زي الـ average، standard deviation،
الـ maximum، الـ median، الـ mean، الأمور هذه اللي أيضاً
ممكن توظف فيها أثناء عملية الـ data mining. فعندك أنتَ
لأن هنا money
Graphical Data Exploration Techniques. Graphical
Data Exploration Techniques هي بالأساس
Visualization. إحنا حاطين الموضوع هذا، الـ
statistical methods والـ visualization في نفس الـ
band أو في نفس الـ title. ليش؟ لأن الـ visualization
يعتمد على الـ statistical methods المختلفة. يعني كما
إحنا بنحسب الـ mean والـ median والـ mode والـ
range والـ standard deviation، في الآخر هذا الـ cover
بدنا نظهره على الـ user، عشان الـ user يشوفه ويستفيد
منه في اتخاذ قرارات.
بنطلع على أمثلة Graphical Representation. Graphical
يعني Visual، هنا الموضوع Visual Data Visualization،
يعني استخدام Graphical Data Representation Tools،
أو تقنيات من بعض، من هذه الأمور، الـ scatter plots، الـ
dot diagrams، الـ stem plots والـ histograms والـ
box plots. هنطلع على scatter plots بالأساس.
نشوف إيش اللي ممكن نستفيده من scatter plot. Scatter
plot عبارة عن two dimensional graph. Two
dimensional، مش الـ three dimensional، بيوضح
represents الـ correlation between two variables.
يعني ببساطة شديد، هو عبارة عن إيش؟ ها هي الـ variable
الأولى، وها هي الـ variable الثانية، والعلاقة ما بينها
ممكن تدرسها، كيف هي اللي بتغير، وبيعتمد عليها الـ
variable الثانية. فمن هنا اسم scatter plot، لأنه كل
واحدة من الـ patterns أو من العينة، من بيانات الـ data
بتمثل على شكل نقطة. النقطة هذه، النقطة هذه، عادةً لأنّه
في علاقة ما بين الـ X وما بين الـ Y، فالنقطة هذه
دائماً تيجي، إما يعني مثلاً تيجي
مع بعض، و ماشية في اتجاه تصاعدي أو تنازلي، أو ممكن تبقى
ما فيش أي علاقة ما بينهم. التكتل هذا يوحي بوجود علاقة
ما بين الـ X والـ Y. كيف؟ أن كل نقطة .. كل نقطة .. إذا
الـ value تبعها، الـ X value تبع الـ pattern يبقى كبير،
يبقى الـ Y value كبير. هو صغير، وبقى صغير. هنا نفس
الشيء، بس عكسي. لما نيبقى الـ X كبير، والـ Y منخفض، ففي
نوع من الـ correlation ما بين الـ X وما بين الـ Y، بس
كانت الـ plot. إذا في correlation بنشوفها visually.
الآن، إيه شغلة الـ visual visualization بموضوع
الـ data mining، وبموضوع الـ AI، وبموضوع الـ decision
making، لأن هو بيساعد الـ decision maker. لما إحنا
بنعطيله الـ data visual، طبعاً الـ data بعد ما نكون
عملنا عليها عمليات aggregation و statistical
analysis، وصفيّناله إياها في متغيرين معينين، الـ X والـ
الـ Y، وعرضناله إياها على شكل plot، يجد هو يستطيع
أنه يشوف العلاقة visually، ويفهم أنه فعلاً فيها
علاقة، وعلى هذا الأساس يقرر إيش اللي بيعملة. إحنا
لأن هنا لما تكون العلاقة طبيعية، نسميها positive
correlation. لما تكون عكسية، نسميها negative
correlation. لما ما يكونش فيه أي نوع من العلاقة،
نسميها non-correlation. نرجع مرة ثانية للـ scatter
plot. قلنا عبارة عن إيش؟ two dimensional graph for
representing the degree of correlation between
representing، هو مش هو اللي بيحسبها، ما بحسبش الـ
correlation قد إيش، بس هو بيوريني إياها، represents الـ
correlation between two variables. الـ data is
represented as a collection of points. كل point
إلها a coordinate في الـ board هذا أو الـ board الآخر، الـ
X أو الـ Y. The position of each point on the
horizontal axis is determined by one variable, and
on the vertical axis by another variable. هذه
المثال اللي شفناه، عبارة عن الـ core، عبارة عن plot
ده علاقة الـ height تبع الأشخاص مع الـ weight. الكل
عارف أن الـ weight والـ height متناسبين مع بعض، مظبوط؟
لأن كل ما زاد الإنسان طوله، بيزيد وزنه، وكذا. كلها
مختلفة عن بعضها، ممكن
تكون positive أو negative أو non-correlation.
هذا بالنسبة لـ Scatter Plots. الخط الأزرق المعمول
لو
حسبنا معادلة الخط المعمول، تخيلوا
أنه راح يمر بِـ مشارف الـ scattering، ورسم الخط
بطريقة مخصصة. لكن نحسبه، لو حسبنا معادلته،
بيفيدنا بشيء، بيفيدنا بشيء أن أنا أرسم الخط هذا.
الخط هذا عبارة عن إيش؟ بتقدر
تقول يمثل اتجاه الـ correlation. لو حسبنا معادلة
الخط هذا، بيفيدنا بشيء، بفيدنا، مش بنقدر، أستطيع بعد
هيك، أن إحنا لو عندي أي data point من غير المجموعة
هذه، وعندي الـ X value تبعها، مش ممكن أقدر أُتوقع الـ Y
value. لو أنا أجى لي واحد يقول أن، افترض أن هذا هو الـ
correlation بين الوزن والـ height، تمام؟ هدول عبارة
عن data أنا جمعتها، ورسمت الـ plot، وبعدها طلّعت الخط
هذا. بعدها جِبنا وزن لواحد جديد، جِبنا الوزن تبعه، مش
بنقدر. لو واحد كان الـ .. بقول مثلاً .. بقول هنا مثلاً
الوزن تبعه، plot، بس افترض أن في عندنا بيانات، بيانات
أخرى، ووجدنا في correlation ما بينهم. والآن رصدنا
الخط، مش بيصير بعدها كأنه أنا أقدر أُتوقع، لو اجتني
عينة جديدة، ومعايا بس جزء من المعلومة، شقة منها، بقدر
أعرف الشقة الأخرى. وهذا هو موضوع الـ regression، موضوع
الـ linear regression. الـ linear regression اللي هو
أنا أقدر أحسب الـ Y قيمة بناءً على الـ X، بس لازم
أعرف الـ beta 0 والـ beta 1، لأنهم هما بالضبط الـ
اللي
بيحددولي اللي هو معادلة الخط. من خلالهم أنا بعرف
معادلة الخط. مرّ عليكوا linear regression قبل هيك؟
regression سواء linear أو non-linear، مرّ عليكوا
قبل هيك؟ خلينا نطلع على الطريقة تبع الـ linear
regression، بس في الأول بدنا ناخد نتعرف على شوية
إصلاحات. الآن، لما أنا بحسب، لما نكون بعين الـ X و
بتحسب الـ Y، مين منهم بيعتمد على مين؟ الـ Y بيعتمد على
الـ X، صح؟ الـ X هو بيكون dependent ولا independent؟
بيكون independent، تمام؟ والـ X is independent، و
هناك بيعتمد عليه، الـ Y بيعتمد عليه، فهو independent
أو إحنا بنسميه regressant، أو
الـ output variable. output variable، صح؟ لأن هذا هو
الـ input اللي أنا معايا، وأنا بدي أحسب من خلاله الـ Y.
تمام؟ الآن، الـ beta 0 والـ beta 1 اللي هم الـ
coefficients، الـ regression coefficients، هم اللي
إحنا عاوزين نحسبهم. عاوزين نحسبهم، متى ما حسبناهم،
خلاص، بيصير أنا بقدر أطلع الـ Y والـ .. okay، نعم؟ الـ
الـ .. الـ .. القضية بتبدأ، أو المسألة بتبدأ بالشكل هذا،
اللي هو أن أنا
خليني أفكر بس. عناصر هذه، إحنا في عندنا هنا الـ Y،
هذا في الأول، ناخده من هنا. الـ Y bar اللي هو الـ
average. average، إيش عندي؟
النقط الأولى، النقط هذه أو هذه أو هذه، تخيلوا أنهم
هيبقوا عن جدول، صح؟ هي الـ X وهي الـ Y، هما coordinates.
يعني أنا باخد X وY برة، وأمثلهم بنقطة، صح؟ مظبوط، كل
نقطة لها X ولها Y، فخلاص هذا هيك مجموعهم، الـ Y على
عددهم. Y bar، صح؟ ومثل ذلك الـ X
متوسط اللي هو الـ Y عمود
الـ Y. فهنا ما فيش داعي أكتبها. والـ X bar نفس الشيء.
الآن إحنا بنحسب الـ beta zero والـ beta one. الـ beta
zero بحسبها من خلال الـ beta one. إذا أنا حسبت الـ
beta 1، الـ beta 0 بتساوي المتوسط الـ Y ناقص الـ beta 1
في متوسط الـ X. بدنا نجيب هذا الآن، و خلاص هذه الـ N
هي. حساب الـ beta 1 بتساوي إيش اللي عندك هنا؟ هذا
عبارة عن مضروب هذه، جدول مرة أخرى. كل واحدة مضروبة
في current. كل مجموع مضروب منه. ناخد مجموعة Y لحالها،
مجموعة
Y لحالها، مجموع X لحالها، مضروبين، المجموع المضروب في
الثاني، وبعدين أجمع. لأ هنا بجمع، وبعدين أضرب، و
بجمع، وبعدين أضرب، أضرب، أضرب، أضرب، أضرب، أضرب، أضرب.
أضرب، أضرب، أضرب، أضرب، أضرب، أضرب، أضرب، أضرب، أضرب، أضرب.
أضرب، أضرب، أضرب، أضرب، أضرب، أضرب، أضرب، أضرب، أضرب.
أضرب
مرة أخرى، هنا ليش باخد الـ Y ضارب الـ X؟ افترض أنا
استبدلت الـ Y برضه بالـ X، صارت XI XI، يعني XI تربيع.
وهنا برضه نفس الشيء، فصار في عندي إيش؟ مجموعة الـ X
بس، ليش باخدها مرة واحدة؟ باخدها مرتين. لأ، بس لأن أنا 174 00:1
نسميها شواذ، هذه outliers بتأثر على الحساب
تبعنا لأن هنا الـ curve على هذه النقاط والنقاط في
هذه الشكل من حسب الخط فجأة بالظبط عليها لأنهم
أصلًا جايبة من بعض نفس النقاط، لو فيه نقطة
أكبر نقطة أثرت على الخط، هذا أكبر شد للخط، وفي
الآخر جاء نتيجة أننا أخذنا كل النقاط في عين
الاعتبار، صح؟ فهذا أثر على الحسبة وطلع لنا line مش
هذا، مش جاي على الـ .. يعني لو أنا شيلته، لو كان هو
موجود وشيلته ما بيضر كثير، على العكس، يعني لو أنا
قبل ما أعمل، لو أنا طلعت على الـ data زي... جابت قبل
ما أحسب الخط الأزرق، هو الخط الأحمر هو الوضع
المفترض، لو أنا قبل ما أحسب الخط الأزرق، طلعت ووجدت
المفاتيح كلها جايبة قريبة من بعض، لكن في واحد هنا أو
كمان واحد، أو كمان واحد، ورحت أنا أزيلتُهم، يعني
شيلتهم، الشواذ اللي شيلتها، وحسبت، هأحصل على الخط
الصحيح، والخط الصحيح هذا هيكون يساعدنا في عملية
التنبؤ، فالـ
method هذه، اللي هي robust regression، الـ least
squares اللي استخدمناه، robust regression مش
هدخل فيه الآن، بس هو عبارة عن، إيش هي؟ لا تستثني
الـ outliers، جايب الـ manage لحسبة الـ ..
حسبة الـ fitting هذه، مسمّاة fitting، يعني to fit a
line اللي يجي بالضبط على اللي هو الـ data، فبالتالي
إحنا الآن، يعني، بدنا نرجع على المواضيع، خلينا نطلع
على هذا المثال، بس قبل في الأول، هذا المثال عاملين
الـ plots اللي كنا بنطلع عليها، هذه هي عبارة عن الـ
data هذه، okay، عندي عشرين data item، الأمود الأولاني
هو عبارة عن، يعني في عندك chemicals، و الـ chemicals
بنحسب لكل chemical الـ acidic number أو الـ acid
number، تمام، وفي عندي حاجة ثانية اسمها الـ organic
acid content، هذا في الكيمياء، أنا يعني... النقطة المهمة
في الموضوع هي أهمية الـ regression، أن الـ asset
number عمليًا في المعمل بيقدر يحسبه بطرق سهلة وبسيطة،
الـ organic acid content بيأخذ إجراءات أطول، لو ثبت
أن هناك علاقة ما بين هذا، لكل مادة كيميائية في علاقة
ما بين الـ asset number تبعها والـ organic asset
content تبعها، والعلاقة هذه استنبطناها بالـ
regression، المعنى ذلك، لو عندي أنا chemical، أو أنا
عايز أحسب الـ organic، عايز أفحص الـ organic، هذا مش
محتاج أعمل العملية المعقدة، بعمل العملية البسيطة
أُحسب الـ asset number، ومنهم بأستنبط الـ
regression، فالآن هدول عشرين observations لعشرين
chemical، مادة كيميائية، وسجّلت الـ acid number لكل
واحد، الـ acid number تبعه، و organic acid content
والسجل الآن، من هدول العشرين، بدنا نستنبط الـ line
أو الـ relation، يعني على أساس لو في عندنا مادة كيميائية
جديدة، بدل من أن أجري هذه العملية الطويلة، بقى أجري
البسيطة، ومنها بأستنبط القيمة تبع الـ organic، هاي كانت
فكرتي، يعني الـ figures هذه، لأن لو في عندي واحد من
الـ 20 قراءة تبعته مُطرفة كثير، أعتقد مين
اللي هو هذا، أسألنا شوية كده نشوف، هذا فعندي 180، و
بعدين في الـ negative ما ظلّينيش موجود هنا في الجدول، ليس
لدي أحد نيجاتيف، بس نفترض أن هناك واحد من هؤلاء جاء
الـ acidic number تبعه نيجاتيف، المهم هذا هو
سيكون outlier، ممكن نعيده في الأول، نطلعه، أو نستخدم
الـ robust regression، على أساس أنه ما بتأثرش
به، طيب، إحنا هيك الآن بنوقف عند هذا القدر، بنرجع بس
في الأول، إيش هو اللي تمّ؟ اه، اللي إيش اللي غطينا
بالضبط، إحنا
بنكون الآن غطينا هذا، وغطينا هذا البند، بنضلّ...
طبعًا هذا... بيضل هذا الجزء الأخير
lecture 17، تلاحظ أننا قد خلصنا جزء منها وهو ما
يتعلق بالـ decision trees، صح؟ نحن بس نخلص مهارة
جاية، نحكي في الـ principle component analysis، ومن
نخلصه، وبعدها كده بنروح بنكمل اللي ضايل من 17، عشان
أعطيكم ملاحظة