تحليل البيانات باستخدام شجرة القرار - كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: تحليل البيانات باستخدام شجرة القرار

📚 معلومات الصفحة

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

تقدم هذه الصفحة درسًا عمليًا حول استخدام خوارزمية شجرة القرار في تعلم الآلة لتشخيص الأمراض بناءً على الأعراض. يبدأ المحتوى بشراح مجموعة البيانات الطبية التي تحتوي على أربعة تشخيصات محتملة: كوفيد-19، الإنفلونزا، الحساسية، ونزلات البرد، مع إمكانية التحقق من ذلك باستخدام لغة البايثون.

يتم التركيز على تطبيق منهجية شجرة القرار باستخدام مصنف DecisionTreeClassifier من مكتبة سكيليرن في البايثون، حيث يتم شرح خطوات بناء النموذج بدءًا من إزالة عمود التشخيص للحصول على الأعراض فقط، واستخدامه كهدف للتصنيف، ثم تدريب النموذج على العلاقات بين الأعراض والتشخيصات.

يُظهر الدرس كيف أن الإصدار الرابع من التطبيق أبسط وأقصر من السابق، مع توضيح أهمية تقسيم البيانات إلى مجموعات تدريب واختبار باستخدام دالة train_test_split، حيث يتم تخصيص 70% للتدريب و30% للاختبار لضمان تقييم دقيق لأداء النموذج.

📄 النص الكامل للصفحة

يحتوي العمود الأخير على تشخيص الخبير البشري، وهناك أربعة تشخيصات محتملة: Covid19 (كوفيد - 19)، Flu (الإنفلونزا)، Allergies (الحساسية)، Common cold (نزلات البرد). يمكنك التحقق من ذلك بسهولة باستخدام المقطع البرمجي التالي بلغة البايثون:set(medical_dataset['diagnosis'])على الرغم من أن هناك العشرات من خوارزميات تعلم الآلة المحتملة التي يمكن استخدامها مع مجموعة البيانات هذه، إلا أنك ستستخدم تلك التي تتبع المنهجية المستندة على منطق شجرة القرار (Decision Tree). كما ستستخدم مصنف شجرة القرار (DecisionTreeClassifier) من مكتبة البايثون سكيليرن (Sklearn) على وجه التحديد.from sklearn.tree import DecisionTreeClassifier def diagnose_v4(train_dataset:pd.DataFrame): # create a DecisionTreeClassifier model=DecisionTreeClassifier(random_state=1) # drop the diagnosis column to get only the symptoms train_patient_symptoms=train_dataset.drop(columns=['diagnosis']) # get the diagnosis column, to be used as the classification target train_diagnoses=train_dataset['diagnosis'] # build a decision tree model.fit(train_patient_symptoms, train_diagnoses) # return the trained model return modelيعد تطبيق البايثون في الإصدار الرابع أقصر وأبسط بكثير من التطبيقات السابقة. فهو ببساطة يقرأ الملف التدريبي، ويستخدمه لبناء نموذج شجرة القرار استنادًا إلى العلاقات بين الأعراض والتشخيصات، ومن ثم ينتج نموذجًا مخصصًا. لاختبار هذا الإصدار بشكل صحيح، ابدأ بتقسيم مجموعة البيانات إلى مجموعتين منفصلتين، واحدة للتدريب، وأخرى للاختبار.from sklearn.model_selection import train_test_split# use the function to split the data, get 30% for testing and 70% for training. train_data, test_data = train_test_split(medical_dataset, test_size=0.3, random_state=1)#print the shapes (rows x columns) of the two datasets print(train_data.shape) print(test_data.shape)(1400, 9) (600, 9)2023 - 1447--- VISUAL CONTEXT ---Context: شعار الجهة الناشرة أو المسؤولة عن المحتوى التعليمي.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 4 بطاقة لهذه الصفحة

ما هي أنواع التشخيصات المحتملة التي يمكن الخبير البشري استنتاجها من العمود الأخير في مجموعة البيانات الطبية؟

الإجابة: يمكن للخبير البشري استنتاج أربعة أنواع من التشخيصات وهي: Covid19 (كوفيد - 19)، Flu (الإنفلونزا)، Allergies (الحساسية)، و Common cold (نزلات البرد).

الشرح: النص يوضح بشكل مباشر أن العمود الأخير يحتوي على أربعة تشخيصات محتملة، ويتم تسميتها بوضوح.

تلميح: ما هي الكلمات المفتاحية التي تشير إلى الأمراض المحتملة في سياق طبي؟

ما هي الخوارزمية التي سيتم استخدامها مع مجموعة البيانات هذه؟

الإجابة: سيتم استخدام خوارزميات تعلم الآلة التي تتبع المنهجية المستندة على منطق شجرة القرار، وتحديداً مصنف شجرة القرار (DecisionTreeClassifier) من مكتبة البايثون سكيليرن (Sklearn).

الشرح: يشير النص بوضوح إلى استخدام خوارزميات تتبع منطق شجرة القرار، ويذكر الأداة المحددة (DecisionTreeClassifier) من مكتبة Sklearn.

تلميح: ما هي الاستراتيجية الرئيسية التي يعتمد عليها منطق شجرة القرار؟

ما هو الغرض من استخدام `random_state=1` عند بناء نموذج شجرة القرار أو تقسيم البيانات؟

الإجابة: يُستخدم `random_state=1` لضمان تكرار النتائج. عند تعيين قيمة ثابتة لـ `random_state`، تضمن أن يتم توليد نفس التسلسل العشوائي في كل مرة يتم فيها تشغيل الكود، مما يجعل النتائج قابلة للتكرار ومتسقة.

الشرح: في تعلم الآلة، غالباً ما تتضمن العمليات مثل تقسيم البيانات أو تهيئة النماذج عناصر عشوائية. استخدام `random_state` يثبت هذه العشوائية لضمان إمكانية تكرار النتائج.

تلميح: ما الذي يضمن حصولك على نفس النتائج عند تشغيل عملية تتضمن عشوائية؟

ماذا تمثل الأبعاد `(1400, 9)` و `(600, 9)` الناتجة عن تقسيم مجموعة البيانات؟

الإجابة: تمثل الأبعاد `(1400, 9)` مجموعة البيانات التدريبية حيث يوجد 1400 صف (سجل طبي) و 9 أعمدة (ميزات). بينما تمثل الأبعاد `(600, 9)` مجموعة البيانات الاختبارية حيث يوجد 600 صف و 9 أعمدة.

الشرح: عند طباعة شكل DataFrame (أو مصفوفة)، يمثل الرقم الأول عدد الصفوف (البيانات أو السجلات) والرقم الثاني يمثل عدد الأعمدة (الميزات أو المتغيرات).

تلميح: في سياق هياكل البيانات، ماذا يمثل الرقم الأول والرقم الثاني في الشكل (rows, columns)؟