You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/ar/2-Regression/1-Tools
leestott c5aa7afabb
🌐 Update translations via Co-op Translator
12 months ago
..
solution 🌐 Update translations via Co-op Translator 12 months ago
README.md 🌐 Update translations via Co-op Translator 12 months ago
assignment.md 🌐 Update translations via Co-op Translator 12 months ago
notebook.ipynb 🌐 Update translations via Co-op Translator 12 months ago

README.md

ابدأ مع Python و Scikit-learn لنماذج الانحدار

ملخص الانحدارات في رسم توضيحي

رسم توضيحي بواسطة Tomomi Imura

اختبار ما قبل المحاضرة

هذا الدرس متوفر بلغة R!

المقدمة

في هذه الدروس الأربعة، ستتعلم كيفية بناء نماذج الانحدار. سنناقش قريبًا ما هي استخداماتها. ولكن قبل أن تبدأ، تأكد من أن لديك الأدوات المناسبة للبدء!

في هذا الدرس، ستتعلم كيفية:

  • إعداد جهاز الكمبيوتر الخاص بك لمهام تعلم الآلة المحلية.
  • العمل مع دفاتر Jupyter.
  • استخدام مكتبة Scikit-learn، بما في ذلك التثبيت.
  • استكشاف الانحدار الخطي من خلال تمرين عملي.

التثبيت والإعدادات

تعلم الآلة للمبتدئين - إعداد أدواتك لبناء نماذج تعلم الآلة

🎥 انقر على الصورة أعلاه لمشاهدة فيديو قصير حول إعداد جهاز الكمبيوتر الخاص بك لتعلم الآلة.

  1. تثبيت Python. تأكد من أن Python مثبت على جهاز الكمبيوتر الخاص بك. ستستخدم Python في العديد من مهام علوم البيانات وتعلم الآلة. معظم أنظمة الكمبيوتر تحتوي بالفعل على تثبيت Python. هناك أيضًا حزم برمجية لـ Python مفيدة لتسهيل الإعداد لبعض المستخدمين.

    ومع ذلك، تتطلب بعض استخدامات Python إصدارًا معينًا من البرنامج، بينما تتطلب استخدامات أخرى إصدارًا مختلفًا. لهذا السبب، من المفيد العمل داخل بيئة افتراضية.

  2. تثبيت Visual Studio Code. تأكد من تثبيت Visual Studio Code على جهاز الكمبيوتر الخاص بك. اتبع هذه التعليمات لـ تثبيت Visual Studio Code للتثبيت الأساسي. ستستخدم Python في Visual Studio Code في هذه الدورة، لذا قد ترغب في مراجعة كيفية إعداد Visual Studio Code لتطوير Python.

    تعرّف على Python من خلال العمل على هذه المجموعة من الوحدات التعليمية

    إعداد Python مع Visual Studio Code

    🎥 انقر على الصورة أعلاه لمشاهدة فيديو: استخدام Python داخل VS Code.

  3. تثبيت Scikit-learn، باتباع هذه التعليمات. نظرًا لأنك تحتاج إلى التأكد من استخدام Python 3، يُوصى باستخدام بيئة افتراضية. لاحظ أنه إذا كنت تقوم بتثبيت هذه المكتبة على جهاز Mac بمعالج M1، فهناك تعليمات خاصة على الصفحة المذكورة أعلاه.

  4. تثبيت Jupyter Notebook. ستحتاج إلى تثبيت حزمة Jupyter.

بيئة تأليف تعلم الآلة الخاصة بك

ستستخدم دفاتر الملاحظات (notebooks) لتطوير كود Python الخاص بك وإنشاء نماذج تعلم الآلة. هذا النوع من الملفات هو أداة شائعة لعلماء البيانات، ويمكن التعرف عليه من خلال الامتداد .ipynb.

دفاتر الملاحظات هي بيئة تفاعلية تتيح للمطور كتابة الكود وإضافة الملاحظات وكتابة التوثيق حول الكود، مما يكون مفيدًا جدًا للمشاريع التجريبية أو البحثية.

تعلم الآلة للمبتدئين - إعداد دفاتر Jupyter لبدء بناء نماذج الانحدار

🎥 انقر على الصورة أعلاه لمشاهدة فيديو قصير حول هذا التمرين.

تمرين - العمل مع دفتر ملاحظات

في هذا المجلد، ستجد الملف notebook.ipynb.

  1. افتح notebook.ipynb في Visual Studio Code.

    سيتم تشغيل خادم Jupyter مع Python 3+. ستجد مناطق في دفتر الملاحظات يمكن تشغيلها، وهي أجزاء من الكود. يمكنك تشغيل كتلة كود عن طريق تحديد الأيقونة التي تشبه زر التشغيل.

  2. حدد أيقونة md وأضف بعض النصوص باستخدام Markdown، مثل النص التالي: # مرحبًا بك في دفتر الملاحظات الخاص بك.

    بعد ذلك، أضف بعض كود Python.

  3. اكتب print('hello notebook') في كتلة الكود.

  4. حدد السهم لتشغيل الكود.

    يجب أن ترى العبارة المطبوعة:

    hello notebook
    

VS Code مع دفتر ملاحظات مفتوح

يمكنك دمج الكود مع التعليقات لتوثيق دفتر الملاحظات بنفسك.

فكر للحظة في مدى اختلاف بيئة عمل مطور الويب عن بيئة عمل عالم البيانات.

البدء مع Scikit-learn

الآن بعد أن تم إعداد Python في بيئتك المحلية وأصبحت مرتاحًا مع دفاتر Jupyter، دعنا نتعرف على Scikit-learn (تُنطق ساي كما في ساينس). توفر Scikit-learn واجهة برمجية شاملة لمساعدتك في تنفيذ مهام تعلم الآلة.

وفقًا لموقعهم الرسمي، "Scikit-learn هي مكتبة مفتوحة المصدر لتعلم الآلة تدعم التعلم الموجه وغير الموجه. كما توفر أدوات متنوعة لتلائم النماذج، ومعالجة البيانات، واختيار النماذج وتقييمها، والعديد من الأدوات الأخرى."

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

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

تمرين - أول دفتر ملاحظات باستخدام Scikit-learn

هذا الدرس مستوحى من مثال الانحدار الخطي على موقع Scikit-learn.

تعلم الآلة للمبتدئين - مشروعك الأول للانحدار الخطي في Python

🎥 انقر على الصورة أعلاه لمشاهدة فيديو قصير حول هذا التمرين.

في الملف notebook.ipynb المرتبط بهذا الدرس، قم بمسح جميع الخلايا عن طريق الضغط على أيقونة "سلة المهملات".

في هذا القسم، ستعمل مع مجموعة بيانات صغيرة حول مرض السكري مدمجة في Scikit-learn لأغراض التعلم. تخيل أنك تريد اختبار علاج لمرضى السكري. قد تساعدك نماذج تعلم الآلة في تحديد المرضى الذين قد يستجيبون بشكل أفضل للعلاج، بناءً على مجموعات من المتغيرات. حتى نموذج الانحدار الأساسي جدًا، عند تصوره، قد يظهر معلومات حول المتغيرات التي يمكن أن تساعدك في تنظيم التجارب السريرية النظرية.

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

دعنا نبدأ هذه المهمة.

استيراد المكتبات

لهذه المهمة، سنقوم باستيراد بعض المكتبات:

  • matplotlib. إنها أداة رسم بياني مفيدة وسنستخدمها لإنشاء رسم خطي.
  • numpy. numpy هي مكتبة مفيدة للتعامل مع البيانات الرقمية في Python.
  • sklearn. هذه هي مكتبة Scikit-learn.

قم باستيراد بعض المكتبات للمساعدة في مهامك.

  1. أضف الاستيرادات بكتابة الكود التالي:

    import matplotlib.pyplot as plt
    import numpy as np
    from sklearn import datasets, linear_model, model_selection
    

    أعلاه، تقوم باستيراد matplotlib، وnumpy، وتستورد datasets، وlinear_model، وmodel_selection من sklearn. يتم استخدام model_selection لتقسيم البيانات إلى مجموعات تدريب واختبار.

مجموعة بيانات السكري

مجموعة البيانات المدمجة السكري تحتوي على 442 عينة بيانات حول مرض السكري، مع 10 متغيرات مميزة، بعضها يشمل:

  • العمر: العمر بالسنوات
  • مؤشر كتلة الجسم (bmi): مؤشر كتلة الجسم
  • ضغط الدم (bp): متوسط ضغط الدم
  • s1 tc: خلايا T (نوع من خلايا الدم البيضاء)

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

الآن، قم بتحميل بيانات X و y.

🎓 تذكر، هذا تعلم موجه، ونحن بحاجة إلى هدف مسمى 'y'.

في خلية كود جديدة، قم بتحميل مجموعة بيانات السكري عن طريق استدعاء load_diabetes(). الإعداد return_X_y=True يشير إلى أن X ستكون مصفوفة بيانات، وy ستكون الهدف الانحداري.

  1. أضف بعض أوامر الطباعة لعرض شكل مصفوفة البيانات وأول عنصر فيها:

    X, y = datasets.load_diabetes(return_X_y=True)
    print(X.shape)
    print(X[0])
    

    ما تحصل عليه كاستجابة هو مجموعة. ما تقوم به هو تعيين القيمتين الأوليين من المجموعة إلى X وy على التوالي. تعرف على المزيد حول المجموعات.

    يمكنك رؤية أن هذه البيانات تحتوي على 442 عنصرًا مرتبة في مصفوفات تحتوي على 10 عناصر:

    (442, 10)
    [ 0.03807591  0.05068012  0.06169621  0.02187235 -0.0442235  -0.03482076
    -0.04340085 -0.00259226  0.01990842 -0.01764613]
    

    فكر قليلاً في العلاقة بين البيانات والهدف الانحداري. يتنبأ الانحدار الخطي بالعلاقات بين الميزة X والمتغير الهدف y. هل يمكنك العثور على الهدف لمجموعة بيانات السكري في الوثائق؟ ماذا توضح هذه المجموعة من البيانات، بالنظر إلى الهدف؟

  2. بعد ذلك، اختر جزءًا من هذه البيانات لرسمه عن طريق اختيار العمود الثالث من مجموعة البيانات. يمكنك القيام بذلك باستخدام المشغل : لاختيار جميع الصفوف، ثم اختيار العمود الثالث باستخدام الفهرس (2). يمكنك أيضًا إعادة تشكيل البيانات لتكون مصفوفة ثنائية الأبعاد - كما هو مطلوب للرسم - باستخدام reshape(n_rows, n_columns). إذا كانت إحدى المعلمات -1، يتم حساب البعد المقابل تلقائيًا.

    X = X[:, 2]
    X = X.reshape((-1,1))
    

    في أي وقت، قم بطباعة البيانات للتحقق من شكلها.

  3. الآن بعد أن أصبحت البيانات جاهزة للرسم، يمكنك معرفة ما إذا كان يمكن للآلة تحديد تقسيم منطقي بين الأرقام في مجموعة البيانات هذه. للقيام بذلك، تحتاج إلى تقسيم كل من البيانات (X) والهدف (y) إلى مجموعات اختبار وتدريب. تحتوي Scikit-learn على طريقة مباشرة للقيام بذلك؛ يمكنك تقسيم بيانات الاختبار عند نقطة معينة.

    X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.33)
    
  4. الآن أنت جاهز لتدريب النموذج الخاص بك! قم بتحميل نموذج الانحدار الخطي وقم بتدريبه باستخدام مجموعات التدريب X و y باستخدام model.fit():

    model = linear_model.LinearRegression()
    model.fit(X_train, y_train)
    

    model.fit() هي وظيفة ستراها في العديد من مكتبات تعلم الآلة مثل TensorFlow.

  5. بعد ذلك، قم بإنشاء توقع باستخدام بيانات الاختبار، باستخدام وظيفة predict(). سيتم استخدام هذا لرسم الخط بين مجموعات البيانات.

    y_pred = model.predict(X_test)
    
  6. الآن حان الوقت لعرض البيانات في رسم بياني. Matplotlib هي أداة مفيدة جدًا لهذه المهمة. قم بإنشاء مخطط نقطي لجميع بيانات الاختبار X و y، واستخدم التوقع لرسم خط في المكان الأنسب، بين مجموعات البيانات الخاصة بالنموذج.

    plt.scatter(X_test, y_test,  color='black')
    plt.plot(X_test, y_pred, color='blue', linewidth=3)
    plt.xlabel('Scaled BMIs')
    plt.ylabel('Disease Progression')
    plt.title('A Graph Plot Showing Diabetes Progression Against BMI')
    plt.show()
    

    مخطط نقطي يظهر نقاط البيانات حول مرض السكري فكر قليلاً فيما يحدث هنا. هناك خط مستقيم يمر عبر العديد من النقاط الصغيرة للبيانات، ولكن ماذا يفعل بالضبط؟ هل يمكنك أن ترى كيف يمكن استخدام هذا الخط للتنبؤ بمكان نقطة بيانات جديدة وغير مرئية بالنسبة لمحور y في الرسم البياني؟ حاول أن تصف الاستخدام العملي لهذا النموذج بالكلمات.

تهانينا، لقد قمت ببناء أول نموذج انحدار خطي، وأنشأت توقعًا باستخدامه، وعرضته في رسم بياني!


🚀التحدي

قم برسم متغير مختلف من هذه المجموعة البيانية. تلميح: قم بتعديل هذا السطر: X = X[:,2]. بالنظر إلى الهدف من هذه المجموعة البيانية، ماذا يمكنك اكتشافه عن تطور مرض السكري كمرض؟

اختبار ما بعد المحاضرة

المراجعة والدراسة الذاتية

في هذا الدرس، عملت مع الانحدار الخطي البسيط، بدلاً من الانحدار الأحادي أو الانحدار المتعدد. اقرأ قليلاً عن الفروقات بين هذه الطرق، أو شاهد هذا الفيديو.

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

الواجب

مجموعة بيانات مختلفة


إخلاء المسؤولية:
تمت ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية هو المصدر الموثوق. للحصول على معلومات حساسة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة.