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

Mustafa Suleiman

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

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

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

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

    445

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

  1. أرجو أولاً تفعيل البيئة الإفتراضية أولاً قبل التثبيت من خلال: pipenv shell ثم تثبيت الحزمة من خلال: pip install dj-database-url ثم اتبع باقي الخطوات المذكورة. بعد الإنتهاء من تثبيت كافة الحزم، يجب إنشاء ملف requirements.txt الذي به قائمة بالحزم المثبتة بالمشروع pip freeze > requirements.txt ثم قم بعمل commit بجميع التغييرات التي قمت بها في المشروع ودفعها إلى github على مستودع المشروع، ثم إتباع باقي الخطوات في الشرح هنا.
  2. ذلك ليس ما حدث، فلو قمت بإنشاء مشروع بنفس اسم مجلد مشروع حالي سيظهر خطأ وسيتم رفض إنشاء المشروع من خلال أمر: django-admin startproject django_basics . تستطيع إنشاء أكثر من مشروع في نفس المجلد الرئيسي الذي تستعمله لتخزين مشاريع جانغو، لكن عليك تغيير اسم المشروع الجديد ليختلف عن أسماء المجلدات الحالية للمشاريع الموجودة
  3. 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 خيار مناسب وسهل الاستخدام.
  4. بالطبع فمثل تلك الأمور حساسة جدًا، والقيم بها بحاجة لمتخصص وليس شخص عادي، ففي البيانات الطبية، تكون القيم الشاذة ناتجة عن أخطاء في القياس أو التسجيل، أو قد تكون مؤشرًا على حالة طبية غير عادية. بالتالي بإمكان الطبيب معرفة القيمة الشاذة وتحديد هل القيمة الشاذة حقيقية أم لا، وهل هي ذات أهمية سريرية أم لا. لكن في حال كان النموذج أو التحليل لغرض التدريب فلا مشكلة، تستطيع الإعتماد على بيانات قياسية أو نسب شائعة في المجال الطبي والقياس عليها، ثم تنظيف البيانات على أساسها ومعالجة الـ Outlier. مثلاً لو قمت بعمل رسم بياني للبيانات من خلال: Scatter plots Box plots Histograms Density plots ربما تجد بعض البيانات التي تختلف بشكل كبير مقارنًة بباقي البيانات ولا تتبع نمط متشابه، وأيضًا مرتفعة بشكل كبير بالنسبة النسب المتعارف عليها طبيًا (ستحتاج للبحث عن النسب)، لذا قم بحذفها لتنظيف البيانات.
  5. طالما أنك لم تحدد بعد ما تريد التخصص به، فعليك دراسة تخصص Full-stack أي تعلم الواجهة الأمامية والخلفية معًا، وتستطيع ذلك من خلال تعلم PHP ولارافل أو جافاسكريبت وNode.js، بالطبع ستحتاج إلى تعلم HTML, CSS أيضًا. بعد ذلك تستطيع تحديد ما هو التخصص المناسب لك. لكن قبل تعلم التقنيات، من الأفضل البحث في سوق العمل عن الوظائف المتاحة لمجال البرمجة والتقنيات المطلوبة بنسبة أكبر وبالأخص لمستوى junior ثم تعلم تلك التقنيات لتوفر على نفسك الوقت، مثلاً هل لارافل لديك مطلوبة بنسبة أكبر مقارنًة بالتقنيات الخاصة بجافاسكريبت مثل Node.js وReact؟ تفقد مواقع التوظيف مثل LinkedIn وIndeed وحدد بلدك. ستجد هنا تفصيل:
  6. شكرًا لإهتمامك وللتنبيه، وبالفعل يوجد خطأ غير مقصود بالدروس نعتذر لك عن ذلك حقًا، سيتم مراجعة الأمر من قبل الفريق المسؤول عن الدورات بالأكاديمية.
  7. statsmodels هي مكتبة لبناء نماذج إحصائية تقليدية مثل: الانحدار الخطي Linear Regression الانحدار اللوجستي Logistic Regression تحليل التباين ANOVA النمذجة الزمنية Time Series Modeling النمذجة الخطية المعممة Generalized Linear Models وتُركز على فهم العلاقة بين المتغيرات وتقديم تحليلات إحصائية، بينما scikit-learn تُركز على بناء نماذج تنبؤية دقيقة.
  8. لا مشكلة في ذلك، وتلك ممارسة شائعة في تصور البيانات، تُعرف باسم الرسوم البيانية الصغيرة المتعددة small multiples أو panel charts. الفكرة هي إنشاء سلسلة من الرسوم البيانية الصغيرة المتشابهة التي تُظهر جوانب مختلفة من البيانات، ولكنها جميعها مرتبطة بفكرة واحدة أو نقطة واحدة، وذلك أكثر فعالية من محاولة حشر جميع المعلومات في رسم بياني واحد. حيث تسمح الرسوم البيانية الصغيرة المتعددة بالمقارنة السهلة بين المجموعات أو الفئات أو الفترات الزمنية المختلفة، والتي من الصعب القيام بها في رسم بياني واحد، أيضًا إظهار جوانب مختلفة من البيانات، وتستطيع الكشف عن المزيد من الأفكار والأنماط التي تكون مخفية في رسم بياني واحد. الفكرة هو توضيح المعلومات وليس الإكثار من الرسم البياني، في حال لم يأتي ذلك بفائدة فتكتفي برسومات قدر الحاجة فقط. للتوضيح، لنفترض أنك تريد تحليل العلاقة بين درجة الحرارة ومبيعات الآيس كريم، فتستطيع إنشاء رسم بياني واحد يُظهر العلاقة بين درجة الحرارة والمبيعات، ولكن باستطاعتك أيضًا إنشاء رسوم بيانية متعددة لإظهار: العلاقة بين درجة الحرارة والمبيعات لمناطق مختلفة ( الشمال، الجنوب، الشرق، الغرب). العلاقة بين درجة الحرارة والمبيعات لأنواع مختلفة من الآيس كريم ( الشوكولاتة، الفانيليا، الفراولة). العلاقة بين درجة الحرارة والمبيعات لأيام مختلفة من الأسبوع (أيام الأسبوع، عطلة نهاية الأسبوع).
  9. تلك عملية تحليل البيانات الخام لفهم خصائصها لمحاولة فهم البيانات وما هي أنواعها؟ ما هي النطاقات؟ ما هي التوزيعات؟، واكتشاف الأنماط أي هل هناك أي اتجاهات أو مجموعات؟ هل هناك أي قيم شاذة؟ ثم تحديد العلاقات بين المتغيرات، ثم تحضير البيانات للتحليل الإحصائي من خلال تنظيف البيانات، تحويلها، وتحديد المتغيرات ذات الصلة. وذلك لفهم البيانات بشكل أفضل قبل إجراء أي تحليل إحصائي. والآلية كالتالي: جمع البيانات من مصادر مختلفة. إزالة القيم المفقودة، تصحيح الأخطاء، وتوحيد البيانات. إنشاء الرسوم البيانية والرسوم التوضيحية، حساب الإحصائيات الوصفية. تحليل العلاقات بين المتغيرات، اختبار الفرضيات. عرض النتائج في شكل واضح ومختصر. ومن الأمثلة التطبيقية على ذلك: الرسوم البيانية المبعثرة، الرسوم البيانية الصندوقية، الرسوم البيانية شريطية. الإحصائيات الوصفية مثل المتوسط، الانحراف المعياري، التباين، الوسط. تحليل المكونات الرئيسية (PCA) وهي تقنية لتقليل الأبعاد. التجميع وهي تقنية لتصنيف البيانات إلى مجموعات. وبشكل عملي، يتم توظيف ذلك في فهم سلوك العملاء، تحديد أفضل استراتيجيات التسويق، أو تحليل البيانات الطبية، اكتشاف الأنماط في الأمراض، أو تحديد المخاطر المالية، تحسين استراتيجيات الاستثمار.
  10. الفرق كبير، على الرغم من وجود بعض التداخل فبعض أساليب النمذجة الإحصائية، مثل الانحدار الخطي، تُستخدم أيضًا في scikit-learn، ومن الممكن استخدام بعض خوارزميات التعلم الآلي في scikit-learn لفهم العلاقة بين المتغيرات، على الرغم من أن هذا ليس هدفها الأساسي. والهدف الأساسي مختلف تمامًا، حيث النماذج الإحصائية تهدف إلى فهم العلاقة بين المتغيرات، بينما scikit-learn تهدف إلى التنبؤ بدقة. تستخدم النماذج الإحصائية أساليب إحصائية تقليدية، بينما تستخدم scikit-learn خوارزميات التعلم الآلي الأكثر تعقيدًا. ومن المتاح استخدام مجموعة متنوعة من البيانات في scikit-learn، بينما تُستخدم البيانات التي تُظهر العلاقة بين المتغيرات في النماذج الإحصائية والتي تُركز على تفسير النتائج، بينما scikit-learn تُركز على الدقة في التنبؤ.
  11. المشكلة في 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; }
  12. أسئلة SMART أداة لضمان أن تكون أهدافك محددة Specific، قابلة للقياس Measurable، قابلة للتحقيق Achievable، ذات صلة Relevant، ومحددة زمنياً Time-bound، مما يساعدك على اتخاذ قرارات أفضل تعتمد على البيانات. في البداية تبدو معقدة بعض الشيء في البداية، لكنها في الواقع أداة قوية جدًا لمساعدتك على اتخاذ قرارات أفضل تعتمد على البيانات. للتوضيح، لنفترض أنك تريد تحسين أداء موقعك الإلكتروني، فبدلاً من قول أريد تحسين موقعي الإلكتروني، استخدم أسئلة SMART لتحديد هدفك بشكل أكثر دقة من خلال الأسئلة التالية: ما هو معدل تحويل الزوار إلى عملاء على موقعنا الإلكتروني؟ (Specific) كيف يمكننا زيادة معدل تحويل الزوار إلى عملاء بنسبة 10% خلال الأشهر الثلاثة المقبلة؟ (Measurable, Achievable, Relevant, Time-bound)
  13. ذلك مؤتمر أون لاين على الإنترنت يقام كل عام، ويهدف إلى تعزيز التنوع والشمول في مجال الذكاء الاصطناعي (AI) من خلال توفير منصة للنساء لمشاركة تجاربهن، والتواصل، والتعلّم من بعضهن البعض، وهو ليس حصريًا للنساء فقط لكنه موجه لهم بالأساس. وفقًا للموقع الرسمي فإن الحدث مفتوح لأي شخص مهتم بتعزيز التنوع والشمول في مجال الذكاء الاصطناعي، بغض النظر عن الجنس، حيث تهدف القمة إلى جمع مجموعة متنوعة من الأفراد، الذين لديهم شغف بالذكاء الاصطناعي ويرغبون في إحداث تأثير إيجابي في هذا المجال. تستطيع التسجيل من هنا: https://developers.google.com/events/women-in-ai/2024
  14. تلك كانت منحة مبادرة الارتقاء بالمهارات في المشرق العربي من البنك الدولي منذ 4 سنوات ستجد تفصيل هنا: منحة مبادرة الارتقاء بالمهارات في المشرق العربي من البنك الدولي
  15. بالطبع، statistics.median() خاص بمكتبة statistics في بايثون وتعمل على قوائم lists أو مجموعات tuples من الأرقام لحساب الوسيط median لقائمة من الأرقام، و لا تدعم البيانات في شكل DataFrame أو Series. في حال كانت قائمة الإدخال ذات طول فردي، فإن الوسيط هو القيمة الوسطى، ولو كانت قائمة الإدخال ذات طول زوجي، فإن الوسيط هو متوسط القيمتين الوسطيتين، أما في حال كانت فارغة، فإنها ترفع خطأ StatisticsError. np.median() خاصة بمكتبة numpy وتستقبل مصفوفة NumPy أو قائمة بايثون من الأرقام (أعداد صحيحة أو أرقام عشرية)، وتوفر لك قيمة الوسيط كرقم عشري. وتعمل كالتالي: في حال كانت مصفوفة الإدخال ذات طول فردي، فإن الوسيط هو القيمة الوسطى. إن كانت مصفوفة الإدخال ذات طول زوجي، فإن الوسيط هو متوسط القيمتين الوسطيتين. إن كانت مصفوفة الإدخال فارغة، فإنها تعيد nan (ليس رقم). أما pandas.median() هي دالة من مكتبة Pandas. تحسب الوسيط لسلسلة Pandas أو DataFrame. وتستقبل سلسلة Pandas أو DataFrame قيمة الوسيط كرقم عشري أو سلسلة من قيم الوسيط (إن كان الإدخال DataFrame). والسلوك الخاص بها هو في حال كانت سلسلة الإدخال ذات طول فردي، فإن الوسيط هو القيمة الوسطى. ولو كانت سلسلة الإدخال ذات طول زوجي، فإن الوسيط هو متوسط القيمتين الوسطيتين، وفي حال سلسلة الإدخال فارغة، فإنها تعيد NaN (ليس رقم). ولو الإدخال DataFrame، فإنها تحسب الوسيط لكل عمود.
  16. أرجو صورة للتوضيح فلا يظهر شيء بخانة البحث
  17. أرجو توضيح أين قمت بقراءة ذلك؟ هل هو في وصف الدورة؟
  18. عليك أولاً إنشاء حساب مجاني في Mailgun، ثم ستحصل على مفتاح API. الآن للحصول على البريد الإلكتروني، إتجه إلى تبويب Domains واضغط على Add a domain للحصول على بريد إلكتروني ثم اتبع الخطوات: ويوجد مكتبة PHP خاصة بـ mailgun وهي mailgun-php وهي متوافقة مع المنصة وستوفر عليك الكثير من الإعدادات واستخدامها مباشر، تحتاج إلى تثبيت التالي: composer require mailgun/mailgun-php symfony/http-client nyholm/psr7 ثم استيراد: require 'vendor/autoload.php'; use Mailgun\Mailgun; ثم إرسال الرسالة: <?php // 2. إنشاء كائن Mailgun باستخدام بيانات اعتماد API // 2.1. للخوادم الأمريكية: $mg = Mailgun::create('key-example'); // استبدل "key-example" بمفتاح API الخاص بك // 2.2. للخوادم الأوروبية: $mg = Mailgun::create('key-example', 'https://api.eu.mailgun.net'); // استبدل "key-example" بمفتاح API الخاص بك $mg->messages()->send('example.com', [ 'from' => 'bob@example.com', // عنوان البريد الإلكتروني للمرسل 'to' => 'sally@example.com', // عنوان البريد الإلكتروني للمستلم 'subject' => 'The PHP SDK is awesome!', // موضوع الرسالة 'text' => 'It is so simple to send a message.' // نص الرسالة ]); ?> وستجد تفصيل في المستند الرسمي، فالكود السابق هو من المستند في المستودع الخاص بالمكتبة الذي أشرت إليه.
  19. تقدم جيد وملحوظ، صفحة التسجيل أفضل من قبل بنسبة كبيرة، بخصوص التصميم، يجب توفير كافة المعلومات التي يحتاجها المستخدم بشكل سهل ومباشر قدر الإمكان وليس الإهتمام بالجمالية فقط، مثلاً وضعت رابط "Have an Acount? Login" في مكان بعيد عن نموذج التسجيل. الشكل المناسب لتجربة مستخدم جيدة هو التالي: أو التالي: بخصوص الكود حاول عدم استخدام الـ ID إلا للضرورة ولتحديد عنصر مميز، وليس استخدامه للتنسيق في css، نستخدم الكلاسات لذلك. أيضًا تستطيع استخدام <button> بدلاً من <input type="submit"> لإنشاء زر الإرسال، لأننا button يستخدم من أجل تنفيذ أمر معين في الصفحة مثل الإرسال. ويجب استخدام <label> لوصف الحقول، بدلاً من استخدام <i> فقط، فالعنصر مخصص لذلك. يوجد هنا مصادر جيدة لتتعلم التصميم:
  20. ذلك يسمى Circle progress bar، ولتنفيذ ذلك من خلال HTML, CSS فقط ستقوم بالآتي: HTML: نقوم أولاً بإنشاء عنصر كحاوية، ثم استخدام عنصر <progress> بداخله ونخفيه عن طريق CSS (visibility:hidden;height:0;width:0;) لأننا سنستخدم CSS لإنشاء شريط التقدم. <div class="progress-bar"> <progress value="75" min="0" max="100" style="visibility:hidden;height:0;width:0;">75%</progress> </div> CSS: أولاً نقوم بإنشاء خاصية مخصصة وهي @property --progress-value تعني أننا نقوم تُسمى --progress-value لتخزين قيمة التقدم. و @keyframes progress يُعرّف تأثير متحرك يسمى progress ونغير به قيمة --progress-value من 0 إلى 75. progress-bar هو التنسيق الخاص بكلاس شريط التقدم ونضع خلفية له من خلال radial-gradient. و .progress-bar::before يُنشئ عنصرًا قبل الحاوية لعرض قيمة التقدم. عند تشغيل الكود، ستظهر دائرة بيضاء صغيرة في المنتصف. ثم ستبدأ الدائرة بالتحول إلى اللون hotpink ببطء حتى تصل إلى 75% من الدائرة، وفي نفس الوقت، ستظهر قيمة التقدم (75%) داخل الدائرة. @property --progress-value { syntax: "<integer>"; initial-value: 0; inherits: false; } @keyframes progress { to { --progress-value: 75; } } .progress-bar { display: flex; justify-content: center; align-items: center; width: 100px; height: 100px; border-radius: 50%; background: radial-gradient(closest-side, white 79%, transparent 80% 100%), conic-gradient(hotpink calc(var(--progress-value) * 1%), pink 0); animation: progress 2s 1 forwards; } .progress-bar::before { counter-reset: percentage var(--progress-value); content: counter(percentage) '%'; animation: progress 2s 1 forwards; } بالطبع لتعديل قيمة التقدم في الدائرة ستحتاج إلى استخدام جافاسكريبت من أجل التلاعب بالقيمة والتعديل على كود CSS و HTML.
  21. هل قمت بإعادة تشغيل الحاسوب؟ حاول التشغيل عن طريق التالي: php -S 127.0.0.1:8000 -t public/ server.php إن استمرت المشكلة قم بتشغيل المشروع من خلال خادم apache في لاراجون بالضغط على الواجهة بزر الفأرة الأيمن ثم www ثم اختر مجلد المشروع.
  22. len() في سلاسل نصية نستخدمها لحساب عدد الأحرف في السلسلة بينما في القواميس لحساب عدد العناصر ( عدد مفتاح-قيمة key-value pairs) في القاموس. في بداية التعلم الاستيعاب ثم الحفظ ثم التطبيق العملي لتثبيت تلك المعلومات وزيادة الاستيعاب، لا مشكلة بعد ذلك إن نسيت بعض الأمور تستطيع البحث عنها واستخدامها، ومع الوقت ستترسخ لديك الأمور التي تستخدمها بكثرة. وأثناء التطبيق حاول التغيير بالكود ولا مشكلة إن حدثت أخطاء تعلم منها، لتستوعب آلية عمل الميثود أو كيف يتم كتابة الكود بالطريقة الصحيحة وما هو نوع البيانات المناسب لها. أيضًا ربط الدروس ببعضها البعض، أي استخدم ما تعلمته في الدروس السابقة ولا تستعجل في إنهاء التطبيق.
  23. قم بتجربة إغلاق laragon وإعادة تشغيله ثم تفقد المشكلة، إن استمرت قم بإعادة تشغيل الحاسوب فربما هناك خدمة معينة تعمل بالنظام تسبب تلك المشكلة. إن استمرت المشكلة قم بتشغيل الأمر التالي في منفذ الأوامر وأرفق النتيجة: php --ini
  24. في ملف php.ini بالخادم لديك تأكد من أنّ به المتغير variables_order بالقيمة GPCS: variables_order = "GPCS" في حال تستخدم XAMPP ستجد الملف في المسار: C:\xampp\php عند فتح الملف اضغط على CTRL + F وابحث عن variables_order واضغط على Enter أكثر من مرة في حال لم تجد variables_order وليس بجانبها ; فقم بكتابتها. إن استمرت المشكلة قم بتجربة تغيير المنفذ: php artisan serve --port=8008
  25. أولاً أنصحك بحذف XAMPP وتثبيت Laragon، ثم التأكد من التالي: هل قمت بتحميل ملف oci8_19.dll المناسب لإصدار php لديك؟ ستحتاج لتثبيت oci8-3.2.1 لإصدار PHP 8.1 ونسخةoci8-3.0.1 لإصدار PHP 8.0 ونسخة oci8-2.2.0 لإصدار PHP 7 ُثم تفعيل الإضافة في PHP.ini أيضًا تحتاج إلى تثبيت Microsoft Visual C++ Redistributable من 2015 حتى 2022، قم بتثبيت الملف التالي: https://aka.ms/vs/17/release/vc_redist.x64.exe ثم ملف instantclient الذي قمت بتحميله فك الضغط عنه، ثم انسخ ملفات .dll التي به وضعها في مجلد php في بيئة التطوير لديك، ثم كرر نفس الأمر ولكن في مجلد apache\bin في بيئة التطوير.
×
×
  • أضف...