اذهب إلى المحتوى

Mustafa Suleiman

الأعضاء
  • المساهمات

    13248
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    366

كل منشورات العضو Mustafa Suleiman

  1. ذلك نوع بيانات موجود في بايثون، وهو مجموعة غير قابلة للتغيير immutable تُشبه مجموعة set العادية، لكن لا يمكن تعديلها بعد إنشائها، أي لا يمكنك إضافة أو حذف عناصر من frozenset بعد إنشائها. وفائدة ذلك منع التغيير غير المقصود، مما يضمن سلامة البيانات، أيضًا تستطيع استخدامها كمفاتيح في القواميس لأنها غير قابلة للتغيير. وتُستخدم أيضًا في بعض خوارزميات التجزئة hashing بسبب عدم قابليتها للتغيير. my_frozenset = frozenset([1, 2, 3]) # my_frozenset.add(4) # سيؤدي إلى خطأ # my_frozenset.remove(1) # سيؤدي إلى خطأ print(my_frozenset)
  2. كلاهما مختلفان، التحليل الآلي أو Analytical Automation هو استخدام البرامج والأنظمة الآلية لتحليل البيانات وتقديم تقارير وتحليلات، أي يعتمد على قواعد محددة مسبقًا لمعالجة البيانات، ويتم تنفيذه بشكل تلقائي. مثلاً تستطيع استخدامه لإنشاء تقرير يومي عن مبيعات الشركة، حسب قواعد محددة مسبقًا. بينما التعلم الآلي Machine Learning هو فرع من الذكاء الاصطناعي يركز على تمكين الأنظمة من التعلم من البيانات دون برمجة صريحة، ومبني على خوارزميات التعلم لإنشاء نماذج تنبؤية، وتحسين أدائها مع مرور الوقت. هنا باستطاعتك استخدامه لتوقع مبيعات الشركة في المستقبل، بناءًا على بيانات سابقة وتحليلها.
  3. أعانك الله ووفقك، الشهادات التي لديها مصداقية هي الخاصة بالدورات المدفوعة ومن منصة معروفة، عامًة الشهادات في حد ذاتها غير مهمة في مجال البرمجة هي فقط مجرد إثبات على أنك درست محتوى معين، المهم هي مهاراتك ومعرض أعمالك ومدى جودة تلك الأعمال، أي سيكون هو الشهادة المعتمدة. كبداية أنصحك بدراسة دورة CS50 على اليوتيوب ستجد منها بالعربية وبالإنجليزية اختر ما تريد، ثم بعد ذلك تعلم أي لغة برمجة تريدها فمازال لديك الوقت الكافي للتجربة والتنقل من لغة لأخرى. بعد ذلك اختر تخصص برمجي مطلوب في البلد التي تنوي الذهاب إليها، ثم اعمل على تعلم المهارات المطلوبة لذلك التخصص. لكن أنصحك قبل كل ذلك بالعمل على تحسين لغتك الإنجليزية لكي تتمكن من الخروج من البلد لمكان أفضل، وأيضًا لتتمكن من تعلم البرمجة من مصدرها وهو بالإنجليزية.
  4. بالطبع ستتعلم ذلك، الجزء الخاص بالذكاء الاصطناعي في الدورة يشمل: الواجهات البرمجية للتطبيقات (APIs): ستتعلم كيفية استخدام APIs للوصول إلى خدمات الذكاء الاصطناعي مثل Whisper و ChatGPT و Stable Diffusion. نماذج الذكاء الاصطناعي: ستتعرف على نماذج مثل Whisper (للنطق إلى نص)، ChatGPT (لإنشاء نص)، و Stable Diffusion (لإنشاء صور). وستقوم بتطبيق ما تعلمته لإنشاء تطبيقات مثل: تلخيص المقالات كتابة المقالات تفريغ الملفات الصوتية إنشاء بوت للدردشة بالإضافة إلى ذلك، ستتعلم أساسيات تعلم الآلة Machine Learning والتي تشمل: الانحدار (Regression) للتنبؤ بقيم متصلة. التصنيف (Classification) لتصنيف البيانات إلى فئات. التجميع (Clustering) لتجميع البيانات إلى مجموعات. التعلم المعزز (Reinforcement learning) لتدريب النماذج على اتخاذ القرارات.
  5. ما قمت به هو الصحيح، فبايثون لغة برمجة عامة وقوية وتدخل في كثير المجالات حاليًا ومطلوبة، ومن خلالها تستطيع تنفيذ أغلب ما تريده. لكن عليك تحديد ما هو التخصص الخاص بالإختراق؟ هل هو لمواقع الويب أم لتطبيقات سطح المكتب أم الهواتف؟ ففي حال النظام ستحتاج إلى تعلم لغة C وC++، بينما للويب ستتعلم PHP وجافاسكريبت. وبغض النظر عن لغة البرمجة ستحتاج إلى تعلم Bash/Linux Shell لتتمكن من استخدام الأدوات المتاحة وتنفيذ السكريبتات. الأفضل الاستماع لأهل الخبرة وأنصحك بقراءة الدليل الشامل التالي للخبير الأمني محمد عبد الباسط النوبي، بعنوان ١٠١ - دليلك فى البرمجة ومجال امن وحماية واختبار اختراق تطبيقات الويب وستجد به كل ما تحتاج معرفته. وأنصحك أيضًا بقراءة النقاش الخاص به على منصة حسوب I\O وهو نقاش ثري أجاب فيه على الكثير من الأسئلة، ويحتاج منك إلى تركيز واستيعاب كبير.
  6. بعد إنهاء 4 مسارات من الدورة على الأقل، أو الدورة بالكامل عليك رفع المشاريع التي قمت بها بالدورة على حسابك في github، ثم التحدث لمركز المساعدة وإخبارهم أنك تريد التقدم للإختبار وتوفير روابط المشاريع على github. ثم الإنتظار لبعض الوقت لحين مراجعة المشاريع وسيتم الرد عليك، وتحديد موعد لإجراء مقابلة، وبها يتم: إجراء محادثة صوتيّة لمدة 30 دقيقة يطرح المدرّب عليك أسئلة متعلّقة بالدورة والأمور التي نفّذتها خلالها. يحدد لك المدرّب مشروعًا مرتبطًا بما قمت به أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع إلى أسبوعين. إجراء محادثة صوتيّة أخرى لمدّة 30 دقيقة يناقش بها مشروعك وما نفذته وتطرح أسئلة خلالها. إن سارت على جميع الخطوات السابقة بشكل صحيح، تحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد.
  7. سيتم تحديث تلك الدروس عما قريب جاري إعادة تسجيلها، أعتذر منك أرجو الإنتظار لبعض الوقت، وشكرًا لتفهمك.
  8. يجب تعلم أساسيات بايثون ثم التطبيق العملي من خلال المشروع الموجود بالمسار على الأساسيات، ثم دراسة مسار تطبيقات عملية باستخدام بايثون. ثم دراسة المسار الأول من دورة تطوير واجهات المستخدم لتعلم HTML, CSS, JS وذلك المسار مجاني لك والمسارات الأولى من جميع الدورات، ثم التطبيق على ذلك من خلال المشروع العملي المتاح بالمسار. ثم تعلم مسار أساسيات إطار العمل جانغو Django والتطبيق على ذلك من خلال مسار تطوير متجر إلكتروني باستخدام جانغو Django. ثم ستحتاج إلى تثبيت ما تعلمته وتعلم المزيد أيضًا من خلال تنفيذ مشايع جانغو أخرى، تستطيع البحث على اليوتيوب عن مشاريع جانغو للمبتدئين. ثم عليك تعلم مسار Flask والتطبيقات العملية الخاصة به. بعد ذلك ستتمكن من العمل على مشاريع جانغو أي تنفيذ مشاريع خاصة بالواجهة الخلفية back-end أو مشاريع full-stack، أي واجهة أمامية وخلفية معًا. أرجو قراءة التالي:
  9. استيراد الحزمة في ملف settings.py يتم كالتالي: import dj_database_url حيث لا نستطيع استخدام - في أسماء المتغيرات أو الوحدات في بايثون، بل نستخدم _ أيضًا عليك تعديل إعدادات قاعدة البيانات بالكامل ليصبح كالتالي وليس نسخ السطر فقط بل نقوم بتعديل كامل كائن DATABASES: DATABASES = { "default": dj_database_url.parse(os.environ.get("DATABASE_URL")) } ثم عليك إنشاء ملف باسمenv. في مجلد المشروع الرئيسي django-ps وضع به متغير البيئة DATABASE_URL = '' ثم عليك تعديل قيمته لتساوي رابط قاعدة البيانات التي أنشأتها على render، أي استبدل ' ' برابط قاعدة البيانات، حيث ستجد رابط باسم external للاستخدام الخارجي خارج render انسخه وضعه في مشروعك ثم نفذ عملية إنشاء مهجرات: python .\manage.py makemigrations ثم: py manage.py migrate ثم اتبع باقي الخطوات، أرفقت لك المشروع بعد التعديل. إن ظهرت لك مشكلة أخرى أرجو طرحها في المسار أسفل فيديو الدرس الخاص بالمشروع لمساعدتك بشكل أفضل. django-ps.zip
  10. المكتبات مثل dj-database-url
  11. أرجو أولاً تفعيل البيئة الإفتراضية أولاً قبل التثبيت من خلال: pipenv shell ثم تثبيت الحزمة من خلال: pip install dj-database-url ثم اتبع باقي الخطوات المذكورة. بعد الإنتهاء من تثبيت كافة الحزم، يجب إنشاء ملف requirements.txt الذي به قائمة بالحزم المثبتة بالمشروع pip freeze > requirements.txt ثم قم بعمل commit بجميع التغييرات التي قمت بها في المشروع ودفعها إلى github على مستودع المشروع، ثم إتباع باقي الخطوات في الشرح هنا.
  12. ذلك ليس ما حدث، فلو قمت بإنشاء مشروع بنفس اسم مجلد مشروع حالي سيظهر خطأ وسيتم رفض إنشاء المشروع من خلال أمر: django-admin startproject django_basics . تستطيع إنشاء أكثر من مشروع في نفس المجلد الرئيسي الذي تستعمله لتخزين مشاريع جانغو، لكن عليك تغيير اسم المشروع الجديد ليختلف عن أسماء المجلدات الحالية للمشاريع الموجودة
  13. statsmodels مكتبة مخصصة للنمذجة والتحليل الإحصائي، وصحيح أنك تستطيع استخدام دالة corr من pandas لحساب الارتباط بين عمودين، لكن statsmodels توفر أدوات تحليل إحصائي أكثر تقدمًا يمكن أن تساعدك على تجاوز تحليل الارتباط البسيط. فلديك وحدة statsmodels.stats.robust.scale لحساب الارتباط بين Insulin و Glucose باستخدام طرق مختلفة، مثل Pearson أو Spearman أو Kendall rank correlation. ووحدة statsmodels.regression.linear_model لإجراء تحليل انحدار خطي بسيط لنمذجة العلاقة بين Insulin و Glucose، وسوف يمنحك ذلك النموذج قيم المنحدر، والتقاطع، و R-squared، والتي يمكن أن تساعدك على فهم قوة العلاقة. أيضًا وحدة statsmodels.stats.hypothesis_tests لإجراء اختبارات الفرضية، مثل t-tests أو F-tests، لتحديد هل الارتباط بين Insulin و Glucose ذو دلالة إحصائية. أما لو كنت بحاجة فقط إلى نظرة سريعة على الارتباط بين عمودين، فدالة corr من pandas خيار مناسب وسهل الاستخدام.
  14. بالطبع فمثل تلك الأمور حساسة جدًا، والقيم بها بحاجة لمتخصص وليس شخص عادي، ففي البيانات الطبية، تكون القيم الشاذة ناتجة عن أخطاء في القياس أو التسجيل، أو قد تكون مؤشرًا على حالة طبية غير عادية. بالتالي بإمكان الطبيب معرفة القيمة الشاذة وتحديد هل القيمة الشاذة حقيقية أم لا، وهل هي ذات أهمية سريرية أم لا. لكن في حال كان النموذج أو التحليل لغرض التدريب فلا مشكلة، تستطيع الإعتماد على بيانات قياسية أو نسب شائعة في المجال الطبي والقياس عليها، ثم تنظيف البيانات على أساسها ومعالجة الـ Outlier. مثلاً لو قمت بعمل رسم بياني للبيانات من خلال: Scatter plots Box plots Histograms Density plots ربما تجد بعض البيانات التي تختلف بشكل كبير مقارنًة بباقي البيانات ولا تتبع نمط متشابه، وأيضًا مرتفعة بشكل كبير بالنسبة النسب المتعارف عليها طبيًا (ستحتاج للبحث عن النسب)، لذا قم بحذفها لتنظيف البيانات.
  15. طالما أنك لم تحدد بعد ما تريد التخصص به، فعليك دراسة تخصص Full-stack أي تعلم الواجهة الأمامية والخلفية معًا، وتستطيع ذلك من خلال تعلم PHP ولارافل أو جافاسكريبت وNode.js، بالطبع ستحتاج إلى تعلم HTML, CSS أيضًا. بعد ذلك تستطيع تحديد ما هو التخصص المناسب لك. لكن قبل تعلم التقنيات، من الأفضل البحث في سوق العمل عن الوظائف المتاحة لمجال البرمجة والتقنيات المطلوبة بنسبة أكبر وبالأخص لمستوى junior ثم تعلم تلك التقنيات لتوفر على نفسك الوقت، مثلاً هل لارافل لديك مطلوبة بنسبة أكبر مقارنًة بالتقنيات الخاصة بجافاسكريبت مثل Node.js وReact؟ تفقد مواقع التوظيف مثل LinkedIn وIndeed وحدد بلدك. ستجد هنا تفصيل:
  16. شكرًا لإهتمامك وللتنبيه، وبالفعل يوجد خطأ غير مقصود بالدروس نعتذر لك عن ذلك حقًا، سيتم مراجعة الأمر من قبل الفريق المسؤول عن الدورات بالأكاديمية.
  17. statsmodels هي مكتبة لبناء نماذج إحصائية تقليدية مثل: الانحدار الخطي Linear Regression الانحدار اللوجستي Logistic Regression تحليل التباين ANOVA النمذجة الزمنية Time Series Modeling النمذجة الخطية المعممة Generalized Linear Models وتُركز على فهم العلاقة بين المتغيرات وتقديم تحليلات إحصائية، بينما scikit-learn تُركز على بناء نماذج تنبؤية دقيقة.
  18. لا مشكلة في ذلك، وتلك ممارسة شائعة في تصور البيانات، تُعرف باسم الرسوم البيانية الصغيرة المتعددة small multiples أو panel charts. الفكرة هي إنشاء سلسلة من الرسوم البيانية الصغيرة المتشابهة التي تُظهر جوانب مختلفة من البيانات، ولكنها جميعها مرتبطة بفكرة واحدة أو نقطة واحدة، وذلك أكثر فعالية من محاولة حشر جميع المعلومات في رسم بياني واحد. حيث تسمح الرسوم البيانية الصغيرة المتعددة بالمقارنة السهلة بين المجموعات أو الفئات أو الفترات الزمنية المختلفة، والتي من الصعب القيام بها في رسم بياني واحد، أيضًا إظهار جوانب مختلفة من البيانات، وتستطيع الكشف عن المزيد من الأفكار والأنماط التي تكون مخفية في رسم بياني واحد. الفكرة هو توضيح المعلومات وليس الإكثار من الرسم البياني، في حال لم يأتي ذلك بفائدة فتكتفي برسومات قدر الحاجة فقط. للتوضيح، لنفترض أنك تريد تحليل العلاقة بين درجة الحرارة ومبيعات الآيس كريم، فتستطيع إنشاء رسم بياني واحد يُظهر العلاقة بين درجة الحرارة والمبيعات، ولكن باستطاعتك أيضًا إنشاء رسوم بيانية متعددة لإظهار: العلاقة بين درجة الحرارة والمبيعات لمناطق مختلفة ( الشمال، الجنوب، الشرق، الغرب). العلاقة بين درجة الحرارة والمبيعات لأنواع مختلفة من الآيس كريم ( الشوكولاتة، الفانيليا، الفراولة). العلاقة بين درجة الحرارة والمبيعات لأيام مختلفة من الأسبوع (أيام الأسبوع، عطلة نهاية الأسبوع).
  19. تلك عملية تحليل البيانات الخام لفهم خصائصها لمحاولة فهم البيانات وما هي أنواعها؟ ما هي النطاقات؟ ما هي التوزيعات؟، واكتشاف الأنماط أي هل هناك أي اتجاهات أو مجموعات؟ هل هناك أي قيم شاذة؟ ثم تحديد العلاقات بين المتغيرات، ثم تحضير البيانات للتحليل الإحصائي من خلال تنظيف البيانات، تحويلها، وتحديد المتغيرات ذات الصلة. وذلك لفهم البيانات بشكل أفضل قبل إجراء أي تحليل إحصائي. والآلية كالتالي: جمع البيانات من مصادر مختلفة. إزالة القيم المفقودة، تصحيح الأخطاء، وتوحيد البيانات. إنشاء الرسوم البيانية والرسوم التوضيحية، حساب الإحصائيات الوصفية. تحليل العلاقات بين المتغيرات، اختبار الفرضيات. عرض النتائج في شكل واضح ومختصر. ومن الأمثلة التطبيقية على ذلك: الرسوم البيانية المبعثرة، الرسوم البيانية الصندوقية، الرسوم البيانية شريطية. الإحصائيات الوصفية مثل المتوسط، الانحراف المعياري، التباين، الوسط. تحليل المكونات الرئيسية (PCA) وهي تقنية لتقليل الأبعاد. التجميع وهي تقنية لتصنيف البيانات إلى مجموعات. وبشكل عملي، يتم توظيف ذلك في فهم سلوك العملاء، تحديد أفضل استراتيجيات التسويق، أو تحليل البيانات الطبية، اكتشاف الأنماط في الأمراض، أو تحديد المخاطر المالية، تحسين استراتيجيات الاستثمار.
  20. الفرق كبير، على الرغم من وجود بعض التداخل فبعض أساليب النمذجة الإحصائية، مثل الانحدار الخطي، تُستخدم أيضًا في scikit-learn، ومن الممكن استخدام بعض خوارزميات التعلم الآلي في scikit-learn لفهم العلاقة بين المتغيرات، على الرغم من أن هذا ليس هدفها الأساسي. والهدف الأساسي مختلف تمامًا، حيث النماذج الإحصائية تهدف إلى فهم العلاقة بين المتغيرات، بينما scikit-learn تهدف إلى التنبؤ بدقة. تستخدم النماذج الإحصائية أساليب إحصائية تقليدية، بينما تستخدم scikit-learn خوارزميات التعلم الآلي الأكثر تعقيدًا. ومن المتاح استخدام مجموعة متنوعة من البيانات في scikit-learn، بينما تُستخدم البيانات التي تُظهر العلاقة بين المتغيرات في النماذج الإحصائية والتي تُركز على تفسير النتائج، بينما scikit-learn تُركز على الدقة في التنبؤ.
  21. المشكلة في HTML حيث أنك كتبت <div #="allfutur"> بينما الصحيح هو: <div id="allfutur"> وفي CSS قمت بكتابة اسم id غير صحيح زائد حرف e فيجب أن يطابق نفس الاسم وهو allfutur #allfutur{ background-color: rgb(35, 142, 235); width: 100%; height: 100vh; display: flex; flex-wrap: wrap; }
  22. أسئلة SMART أداة لضمان أن تكون أهدافك محددة Specific، قابلة للقياس Measurable، قابلة للتحقيق Achievable، ذات صلة Relevant، ومحددة زمنياً Time-bound، مما يساعدك على اتخاذ قرارات أفضل تعتمد على البيانات. في البداية تبدو معقدة بعض الشيء في البداية، لكنها في الواقع أداة قوية جدًا لمساعدتك على اتخاذ قرارات أفضل تعتمد على البيانات. للتوضيح، لنفترض أنك تريد تحسين أداء موقعك الإلكتروني، فبدلاً من قول أريد تحسين موقعي الإلكتروني، استخدم أسئلة SMART لتحديد هدفك بشكل أكثر دقة من خلال الأسئلة التالية: ما هو معدل تحويل الزوار إلى عملاء على موقعنا الإلكتروني؟ (Specific) كيف يمكننا زيادة معدل تحويل الزوار إلى عملاء بنسبة 10% خلال الأشهر الثلاثة المقبلة؟ (Measurable, Achievable, Relevant, Time-bound)
  23. ذلك مؤتمر أون لاين على الإنترنت يقام كل عام، ويهدف إلى تعزيز التنوع والشمول في مجال الذكاء الاصطناعي (AI) من خلال توفير منصة للنساء لمشاركة تجاربهن، والتواصل، والتعلّم من بعضهن البعض، وهو ليس حصريًا للنساء فقط لكنه موجه لهم بالأساس. وفقًا للموقع الرسمي فإن الحدث مفتوح لأي شخص مهتم بتعزيز التنوع والشمول في مجال الذكاء الاصطناعي، بغض النظر عن الجنس، حيث تهدف القمة إلى جمع مجموعة متنوعة من الأفراد، الذين لديهم شغف بالذكاء الاصطناعي ويرغبون في إحداث تأثير إيجابي في هذا المجال. تستطيع التسجيل من هنا: https://developers.google.com/events/women-in-ai/2024
  24. تلك كانت منحة مبادرة الارتقاء بالمهارات في المشرق العربي من البنك الدولي منذ 4 سنوات ستجد تفصيل هنا: منحة مبادرة الارتقاء بالمهارات في المشرق العربي من البنك الدولي
  25. بالطبع، statistics.median() خاص بمكتبة statistics في بايثون وتعمل على قوائم lists أو مجموعات tuples من الأرقام لحساب الوسيط median لقائمة من الأرقام، و لا تدعم البيانات في شكل DataFrame أو Series. في حال كانت قائمة الإدخال ذات طول فردي، فإن الوسيط هو القيمة الوسطى، ولو كانت قائمة الإدخال ذات طول زوجي، فإن الوسيط هو متوسط القيمتين الوسطيتين، أما في حال كانت فارغة، فإنها ترفع خطأ StatisticsError. np.median() خاصة بمكتبة numpy وتستقبل مصفوفة NumPy أو قائمة بايثون من الأرقام (أعداد صحيحة أو أرقام عشرية)، وتوفر لك قيمة الوسيط كرقم عشري. وتعمل كالتالي: في حال كانت مصفوفة الإدخال ذات طول فردي، فإن الوسيط هو القيمة الوسطى. إن كانت مصفوفة الإدخال ذات طول زوجي، فإن الوسيط هو متوسط القيمتين الوسطيتين. إن كانت مصفوفة الإدخال فارغة، فإنها تعيد nan (ليس رقم). أما pandas.median() هي دالة من مكتبة Pandas. تحسب الوسيط لسلسلة Pandas أو DataFrame. وتستقبل سلسلة Pandas أو DataFrame قيمة الوسيط كرقم عشري أو سلسلة من قيم الوسيط (إن كان الإدخال DataFrame). والسلوك الخاص بها هو في حال كانت سلسلة الإدخال ذات طول فردي، فإن الوسيط هو القيمة الوسطى. ولو كانت سلسلة الإدخال ذات طول زوجي، فإن الوسيط هو متوسط القيمتين الوسطيتين، وفي حال سلسلة الإدخال فارغة، فإنها تعيد NaN (ليس رقم). ولو الإدخال DataFrame، فإنها تحسب الوسيط لكل عمود.
×
×
  • أضف...