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

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

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

الدرس: تحسين أداء خوارزميات تعلم الآلة عبر التحجيم القياسي

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

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

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

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

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

📝 ملخص الصفحة

تقدم هذه الصفحة درساً عملياً في تعلم الآلة يركز على تحسين أداء خوارزميات التصنيف باستخدام تقنيات معالجة البيانات الأولية. يبدأ المحتوى بتطبيق خوارزمية SGDClassifier على بيانات غير محجمة، حيث تبلغ دقة النموذج حوالي 46.5%، مما يسلط الضوء على أهمية تجربة خوارزميات متعددة لتحسين النتائج.

يتطرق الدرس بعد ذلك إلى تقنية التحجيم القياسي (Standard Scaling)، وهي طريقة معالجة أولية تُستخدم لتوحيد خصائص البيانات بحيث يكون متوسطها صفراً وتباينها وحدة واحدة. يتم توضيح ذلك عبر كود برمجي يطبق StandardScaler من مكتبة sklearn، مع عرض أمثلة رقمية تُظهر تحول قيم البكسلات قبل وبعد التحجيم.

بعد تطبيق التحجيم القياسي، يُعاد تدريب نموذج SGDClassifier على البيانات المحجمة، مما يؤدي إلى تحسن الدقة إلى حوالي 49.1%. يُظهر هذا التحسن فائدة معالجة البيانات في تحسين أداء النماذج، ويشجع على استكشاف خوارزميات أخرى وضبط معاملاتها لتحقيق نتائج أفضل.

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

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

from sklearn.linear_model import SGDClassifier model_sgd = SGDClassifier() model_sgd.fit(X_train_flat, y_train) pred=model_sgd.predict(X_test_flat) accuracy_score(y_test,pred)0.4651162790697644يحقق مصنف SGDClassifier دقة أعلى بشكل ملحوظ تزيد عن 46٪، على الرغم من تدريبه على البيانات نفسها التي درب مصنف MultinomialNB عليها، ويدل ذلك على فائدة تجربة خوارزميات تصنيف مختلفة؛ للعثور على أفضل خوارزمية تتناسب مع أي مجموعة بيانات معطاة، ومن المهم فهم نقاط القوة والضعف لكل خوارزمية، فعلى سبيل المثال: من المعروف أن خوارزمية SGDClassifier تعمل بشكل أفضل عندما تحجم بيانات الإدخال وتوحد الخصائص؛ ولهذا السبب ستستخدم التحجيم القياسي في نموذجك.--- SECTION: التحجيم القياسي (Standard Scaling) --- هو تقنية معالجة أولية تستخدم في تعلم الآلة لتحجيم خصائص مجموعة البيانات بحيث تكون ذات متوسط حسابي صفري وتباين أحادي الوحدة.يستخدم المقطع البرمجي التالي أداة StandardScaler (المحجم القياسي) من مكتبة sklearn لتحجيم البيانات:from sklearn.preprocessing import StandardScaler scaler = StandardScaler() X_train_flat_scaled = scaler.fit_transform(X_train_flat) X_test_flat_scaled = scaler.fit_transform(X_test_flat)print(X_train_flat[0]) # the values of the first image pre-scaling print(X_train_flat_scaled[0]) # the values of the first image post-scaling[144 142 151 ... 76 75 80] [ 0.33463473 0.27468959 0.61190285 ... -0.65170221 -0.62004162 -0.26774175]يمكن الآن تدريب نموذج جديد واختباره باستخدام مجموعات البيانات التي تم تحجيمها:model_sgd = SGDClassifier() model_sgd.fit(X_train_flat_scaled, y_train) pred=model_sgd.predict(X_test_flat_scaled) accuracy_score(y_test,pred)0.4906976744186046تدل النتائج على وجود تحسن بعد التحجيم، ومن المحتمل أن يحدث تحسين إضافي بواسطة تجريب خوارزميات أخرى وضبط متغيراتها حتى تتناسب مع مجموعة البيانات بشكل أفضل.2025 - 1447--- VISUAL CONTEXT --- **CODE_BLOCK**: SGDClassifier Model Training (Pre-scaling) Description: Python code snippet demonstrating the training and prediction of an SGDClassifier model using unscaled data, followed by accuracy calculation. Key Values: SGDClassifier(), fit(X_train_flat, y_train), predict(X_test_flat), accuracy_score(y_test,pred) Context: Shows initial model performance before data preprocessing.**TEXT_OUTPUT**: Accuracy Score (Pre-scaling) Description: The accuracy score obtained from the SGDClassifier model trained on unscaled data. Key Values: 0.4651162790697644 Context: Indicates the baseline performance of the model.**CODE_BLOCK**: StandardScaler Application Description: Python code snippet demonstrating the use of StandardScaler from sklearn.preprocessing to scale training and test data. It also includes print statements to show data values before and after scaling. Key Values: StandardScaler(), fit_transform(X_train_flat), fit_transform(X_test_flat), print(X_train_flat[0]), print(X_train_flat_scaled[0]) Context: Illustrates the data preprocessing step of standard scaling, which normalizes features to have zero mean and unit variance.**TEXT_OUTPUT**: Data Values Before and After Scaling Description: Two lines of numerical output. The first line shows the original pixel values of the first image (pre-scaling). The second line shows the corresponding scaled values after applying StandardScaler, which are normalized. Key Values: [144 142 151 ... 76 75 80], [ 0.33463473 0.27468959 0.61190285 ... -0.65170221 -0.62004162 -0.26774175] Context: Provides a concrete example of how data values change after standard scaling, demonstrating the transformation.**CODE_BLOCK**: SGDClassifier Model Training (Post-scaling) Description: Python code snippet demonstrating the training and prediction of an SGDClassifier model using the previously scaled data, followed by accuracy calculation. Key Values: SGDClassifier(), fit(X_train_flat_scaled, y_train), predict(X_test_flat_scaled), accuracy_score(y_test,pred) Context: Shows model performance after data preprocessing, allowing for comparison with the pre-scaling performance.**TEXT_OUTPUT**: Accuracy Score (Post-scaling) Description: The accuracy score obtained from the SGDClassifier model trained on scaled data. Key Values: 0.4906976744186046 Context: Indicates the improved performance of the model after applying standard scaling.

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

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

ما هو الهدف الرئيسي من تقنية التحجيم القياسي (Standard Scaling) في تعلم الآلة؟

الإجابة: الهدف الرئيسي للتحجيم القياسي هو تحجيم خصائص مجموعة البيانات بحيث تكون ذات متوسط حسابي صفري وتباين أحادي الوحدة.

الشرح: التحجيم القياسي يضمن أن تكون جميع الخصائص على مقياس متشابه، مما يحسن أداء العديد من خوارزميات تعلم الآلة، خاصة تلك التي تعتمد على المسافات أو التدرجات.

تلميح: فكر في التأثير الذي تحدثه هذه التقنية على توزيع قيم الخصائص (المتوسط والتباين).

كيف تؤثر عملية التحجيم القياسي (Standard Scaling) على دقة مصنف SGDClassifier في هذا السياق؟

الإجابة: أدت عملية التحجيم القياسي إلى تحسن ملحوظ في دقة مصنف SGDClassifier، حيث زادت من حوالي 46.51% إلى حوالي 49.10%.

الشرح: التحجيم القياسي يجعل البيانات أكثر ملاءمة لعمل خوارزمية SGDClassifier، مما يؤدي إلى أداء أفضل وزيادة في الدقة.

تلميح: قارن قيم الدقة قبل وبعد تطبيق التحجيم القياسي على النموذج.

ما هي الخوارزمية التي تم استخدامها في الأمثلة المعروضة لتدريب نماذج التصنيف؟

الإجابة: تم استخدام خوارزمية SGDClassifier (Stochastic Gradient Descent Classifier).

الشرح: النص يذكر صراحة 'SGDClassifier' كواحدة من الخوارزميات التي تم تجربتها، ويشرح تأثيرها على الدقة.

تلميح: ابحث عن اسم الصنف (class) المستخدم لإنشاء النموذج في مقتطفات الكود.

ما هي النتيجة العددية التي تمثل القيم الأصلية للصورة الأولى قبل تطبيق التحجيم؟

الإجابة: القيم الأصلية للصورة الأولى قبل التحجيم كانت: [144 142 151 ... 76 75 80].

الشرح: يقدم النص مثالاً ملموساً لقيم البيانات قبل وبعد التحجيم، وهذا السطر يمثل القيم الأصلية.

تلميح: ابحث عن سطر الكود الذي يطبع القيم قبل التحجيم ('pre-scaling') وقيمته النصية المقابلة.

ما هي دقة مصنف SGDClassifier قبل تطبيق التحجيم القياسي (Standard Scaling) على البيانات؟

الإجابة: بلغت دقة مصنف SGDClassifier حوالي 46.51% قبل تطبيق التحجيم القياسي.

الشرح: يُظهر النص أن دقة النموذج قبل التحجيم كانت 0.4651162790697644، وهي ما تم تقريبها إلى 46.51%.

تلميح: ابحث عن قيمة الدقة المذكورة مباشرة بعد تدريب النموذج الأول وقبل تطبيق أي معالجة للبيانات.