-
المساهمات
2342 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
24
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Kais Hasan
-
و عليكم السلام، هي تقوم بالتخزين بشكل مماثل لآلية التخزين في كافة لغات البرمجة، أي عبارة عن أماكن متجاورة في الذاكرة. في حال كان هناك أكثر من بعد فيتم التخزين أيضًا بنفس الطريقة، مثلًا في حال 2d يتم تخزين السطر الأول إلى جانبه السطر الثاني و هكذا. تحياتي.
- 2 اجابة
-
- 1
-
إضافة سؤال هو إضافة تعليق، بالتالي سيظهر لك نافذة مماثلة لما يلي: قم بكتابة سؤالك ثم قم بسحب الملف و وضعه فوق التعليق بحيث يتم إدراجه تحياتي.
-
مرحبًا، يبدو أنك تطرح سؤال متعلق بأحد الدروس في أحد دورات الأكاديمية. من فضلك قم بطرح سؤالك في التعليقات أسفل الدرس حتى يمكننا معرفة إلى أي درس يتبع سؤالك. تحياتي.
-
مرحبًا مصعب، متأسف للأوضاع التي تمر بها. بشكل عام لا توجد دورة مجانية تعطيك شهادة معتمدة. يمكنك محاولة التعلم بشكل ذاتي من خلال المقالات و غيرها و عند الحاجة سؤالنا هنا. و حاول القيام بمشاريع بحيث تكون دليل على خبرتك تضعه في ال cv الخاص بك. بالطبع لو أمكنك شراء الدورة فإن هذا سيسهل العمل عليك و ستتلقى دعم أسرع، و لكن يمكنك حاليًا الدراسة ذاتيًا حتى يتحسن وضعك بشكل يسمح بشراء الدورات. تحياتي.
-
مرحبًا، لاحظ أنه أخبرك بأنك تقوم بإرفاق مفتاح ال api لحسابك حيث في نهاية الخرج موجود: عليك الذهاب إلى حسابك على huggingface ثم إلى الإعدادات، ثم نختار access tokens و نضغط على create new token. تحياتي.
-
و عليكم السلام علي، التحليل الآلي ممكن أن يعتمد على خوارزميات عادية، أو من الممكن أن يكون عبارة عن نموذج مدرب بطرق التعلم الآلي المختلفة. لذلك المقارنة بينه و بين التعلم الآلي ليست مفيدة فهما لا يندرجان ضمن صنف واحد. فالتعلم الآلي هو كافة الطرق المختلفة المستعملة لبناء نماذج رياضية لتنفيذ المهام المختلفة بالاعتماد على البيانات بدون برمجتها بشكل مباشر. تحياتي.
- 3 اجابة
-
- 1
-
و عليكم السلام علي، هو نوع من أنواع بنى المعطيات، مثل dict, set, list و غيرها في بايثون. يتم استعماله لتمثيل مجموعة لن يتم تعديل عناصرها، و الهدف من ذلك إمكانية استعمال هذه المجموعة في الحالات التي تتطلب استعمال بنية معطيات غير قابلة للتعديل، مثلًا استعمالها كمفتاح في قاموس (لا يمكن استعمال ال set أو list كمفتاح لأنها قابلة للتعديل). تحياتي.
- 5 اجابة
-
- 1
-
هذا الإطار هو إطار عام يمكن استعماله في أي مشروع برمجي و ليس فقط في مشاريع تحليل البيانات. هذه الأطر تحدد تدفق العمل و تساعد في تنظيم العمل و سيره بشكل صحيح. قد تبدو لك هذه العملية طبيعية و لا تحتاج إلى اسم فمن البديهي أن يقوم الشخص باتباع هذه العمليات بالترتيب، إلا أن الكثير من المبرمجين غالبًا ما يتخطون أول مرحلتين و يقومون ببناء المشروع بشكل مباشر و التعديل عليه حسب الحاجة بدون أي تخطيط، و هذا ما يجعل التعديل أحيانًا مكلف فقد يؤدي إلى التأثير على هيكلية البرنامج بشكل عام و يضيع جهد أيام كثيرة. هناك الكثير من أطر العمل الأخرى و لكن بشكل عام كلها تتبع لنفس الفكرة العامة. تحياتي.
- 2 اجابة
-
- 1
-
و عليكم السلام، ال Data visualization هي عملية عرض البيانات بشكل مقروء للإنسان، و هناك طرق مختلفة لذلك منها المخططات البيانية و التدفقية. بينما تحليل البيانات هو عملية فهم البيانات و استنتاج أمور مختلفة منها، و للقيام بذلك فإن أحد الطرق هو استعمال ال Data visualization التي تسهل قراءة البيانات و بالتالي فهمها. كلمة visualization بحد ذاتها تعني "تصوير" أي تمثيل البيانات الرقمية على شكل صور و مخططات لذلك كما ذكرت فهي لا تعني التحليل و إنما هي جزء من عملية التحليل. تحياتي.
- 2 اجابة
-
- 1
-
و عليكم السلام، هذا ليس ضروري لتفهم الأفكار، فأي فكرة سيتم فيها استعمال أمور رياضية سيتم شرحها. من الأفضل أن تبدأ بالمجال قبل التعمق في الرياضيات حتى يمكنك معرفة ما هي الأمور المهمة التي يجب تعلمها في الرياضيات بشكل دقيق. تحياتي.
-
و عليكم السلام، هذه المسابقة هي مسابقة تعليمية، و هي من أسهل المسابقات على Kaggle و هذا هو سبب شهرتها. المسابقة التعليمية هي مسابقة لا يوجد لها جوائز، أي أنها ليست كباقي مسابقات كاغل تعطي جوائز للأوائل، و هي تسمح لك بتطبيق الكثير من المفاهيم التي ستكون قد تعلمتها خاصة في التعامل مع البيانات و استعمال خوارزميات تعلم الآلة المختلفة. تحياتي.
- 2 اجابة
-
- 1
-
مرحبًا، الفرق هو أن ال Quantitave تمثل بأرقام فهي عبارة عن مجموعة من القياسات، مثلًا في حال كان لدينا بيانات عن أشخاص، فالمقاييس الرقمية من الممكن أن تكون راتب الشخص، عدد الأطفال، عدد ساعات العمل، العمر، و غيرها الكثير. بينما ال Qualtitave تركز على الإجابة عن أسئلة محددة غالبًا بشكل نصي غير قابل للقياس، إذا أخذنا نفس المثال السابق، يمكن أن تكون هذه البيانات عبارة عن: الجنسية، هل يعمل الشخص بشكل جزئي أم كامل (لاحظ هنا ليس رقم و إنما تصنيف فقط)، المهنة و غيرها الكثير. أما ما يتم استعماله في نماذج تعلم الآلة فهو غالبًا خليط من النوعين، فغالبًا ما تجد بيانات رقمية و بيانات نصية تصنف الشخص، لذلك لا يوجد نوع مفضل على آخر، , لكن من الجدير بالذكر أن البيانات الرقمية يمكن أن تستعمل و يتم تحليلها سواء بنماذج تعلم آلة أو بطرق تقليدية لإنتاج البيانات غير الرقمية، فيمكنك تحليل عدد ساعات العمل لاستنتاج فيما إذا كان الشخص يعمل بشكل كامل أو جزئي، أو تدريب نموذج تعلم آلة لتوقع عدد الأطفال بناء على بيانات أخرى. لذلك يمكنك اعتبار ال qulatitave data على أنها أعلى مستوى من ال quantitave data فهي نتاج تحليل. تحياتي.
- 4 اجابة
-
- 1
-
مرحبًا، يبدو أنك تقصد كيفية تشغيل module في لغة بايثون. بشكل عام ال modules يتم كتابتها لتقسيم الكود و تنظيمه، لذلك سؤالك عن كيفية "تشغيل" ذلك ليس واضحًا تمامًا. يمكنك تشغيل سكربت يستعمل module، كما أن بعض ال modules تقوم بكتابة بعض التعليمات التي تنفذ اختبارات على ال module في حال قمت بتنفيذ الملف الخاص به. بالتالي في حال أردت تشغيل ال module فكل ما عليك هو تشغيله بنفس الطريقة التي تقوم بتشغيل أي ملف كود بايثون. كما أنه من الأفضل لك أن تستعمل بعض البرامج متل vscode فهي تسهل عملية التعديل و كتابة الكود. و بغض النظر عن البرنامج الذي تستعمله لكتابة ملف الكود، يمكنك تشغيله عن طريق سطر الاوامر عن طريق كتابة python يليها اسم الملف الذي تريد تشغيله، بالطبع الملف يجب أن يكون في المسار الحالي في سطر الأوامر. تحياتي.
-
سأقوم بنقل رغبتك بإضافة ذلك المسار إلى الإدارة. تحياتي.
- 4 اجابة
-
- 1
-
و عليكم السلام، ال design patterns هو عبارة عن أنماط لتنظيم الكود البرمجي لتحقيق وظائف معينة بشكل أفضل. بالتالي هو ليس خاصًا بال oop، و إن كان أغلب الأنماط الخاصة بال design patterns تستعمل ال oop فهي تستعمله و ليست "خاصة" به. تحياتي.
- 2 اجابة
-
- 1
-
و عليكم السلام، يمكنك اعتبارها تطورًا لها، ففي الخوارزميات التقليدية يجب اختيار الميزات features بشكل يدوي، بينما في الشبكات العصبية فإنها تتعلم ذلك بنفسها. بشكل عام في حال وجود بيانات كثيرة فإن الأفضل دائمًا هو استعمال الشبكات العصبية، أو شبكات التعلم العميق بشكل عام. بينما في حال وجود بيانات قليلة فالخوارزميات التقليدية غالبًا ما تعطي نتائج أفضل. و يبقى الأمر يخضع للاختبار قليلًا خاصة في حال كنت لست متأكد فيما إذا كان لديك بيانات كثيرة للمهمة أم لا. تحياتي.
- 2 اجابة
-
- 1
-
مرحبًا، يمكنك إضافة الصورة من حسابك على حسوب، فهو حساب عام لكل مواقع حسوب من بينها الأكاديمية. يمكنك الوصول إلى إعدادات حسابك من هنا: https://accounts.hsoub.com/settings تحياتي.
- 1 جواب
-
- 1
-
مرحبًا، لا يوجد حاليًا مسار خاص ب fast api ضمن دورة بايثون، حيث يتم استعمال django و flask بشكل أساسي. تحياتي.
- 4 اجابة
-
- 1
-
مرحبًا، الكود الخاص بك يحتوي على الكثير من if..else و هذا غير جيد بشكل عام، أنت تقوم بالاعتماد على معرفتك الدقيقة للخرج و كتابة كل شيء بشكل مباشر في الكود بدل الاعتماد على قدرة الكود على كتابة الأفكار العامة. من غير الجيد أن أعطيك الكود مباشرة، و كما يبدو أنه لديك خبرة في البرمجة لذلك سأشرح لك كيفية القيام بالتحويل و عليك كتابة الكود بنفسك حتى تتعلم و تكتسب خبرة أكبر. سنقوم بكتابة تابع في البداية و لندعوه decodeTime يقوم بأخذ الساعة (بدون معرفة فيما إذا كانت بنظام 12 أو 24) و يعيد لنا 3 متغيرات (يمكنك إعادتهم ضمن مصفوفة مثلا) الأول يمثل الساعة و الثاني يمثل الدقيقة و الثالث يمثل الثواني، طبعًا كل هذه المتغيرات من النمط integer. أيضًا نكتب تابع آخر يقوم بالعملية بشكل عكسي و سندعوه encodeTime، بحيث يأخذ مصفوفة من قيم الساعة و يعيد الساعة على شكل سلسلة نصية. ثم سنقوم بالتحقق فيما إذا كان الكود يتبع لنظام ال 12 أو 24 عن طريق التحقق فيما إذا كان ينتهي ب pm, am، هذا قمت به أنت في مرحلة من مراحل كودك لذلك أعتقد أنك تستطيع القيام بذلك. بعد التحقق من ذلك سيكون لدينا إما تحقق الشرط أو لا. في حال تحقق الشرط أي نحن في نظام ال 12 ساعة، نقوم بإزالة am أو pm من الكود (مع معرفة أيهما موجود)، و نقوم بتمرير ما تبقى و الذي يمثل الساعة الى التابع decodeTime الذي سبق و كتبناه بحيث يعيد لنا هذه الأمور على شكل أعداد صحيحة. الآن كل ما علينا القيام به هو إضافة 12 إلى المتغير الذي يحمل رقم الساعات في حال كان الوقت pm، أو لا نضيف أي شيء في حال كان am. ثم نقوم بتمرير القيم الجديدة للمصفوفة إلى التابع encodeTime بحيث يقوم بإعادتها على شكل سلسلة نصية. حاليًا قمنا بشكل صحيح بالتحويل من نظام 12 ساعة إلى نظام 24 ساعة بسهولة. أما في الحالة العكسية، فنقوم في البداية باستدعاء التابع decodeTime مباشرة (بما أنه ليس لدينا am, pm في الوقت)، و نقوم بالتحقق فيما إذا كانت الساعات أكبر من 12، في تلك الحالة نقوم بطرح 12 منها، و نضع التوقيت أنه pm و إلا لا نقوم بطرح أي شيء و نضع التوقيت أنه am. نقوم بتمرير المصفوفة الخاصة بالوقت إلى الدالة encodeTime للحصول على الوقت، من ثم نقوم بإضافة am أو pm إلى نهاية السلسلة النصية الناتجة. بشكل عام كما تلاحظ الكود ليس صعب، فكرة كتابة تابع يقوم بتقسيم الوقت و إرجاعه على شكل مصفوفة من الأعداد الصحيحة تسهل عليك العمل بشكل كبير. تحياتي.
- 3 اجابة
-
- 1
-
مرحبًا، النتيجة جيدة نوعًا ما في حال نظرت إليها بشكل مجرد. و لكن من الناحية المجردة أيضًا، من الأفضل النظر إلى الدقة على بيانات التدريب، و الدقة على بيانات الاختبار ، و ليس فقط على بيانات الاختبار. فهذا يساعدك على كشف مشاكل ال overfitting. كما أن معيار الدقة فقط لوحده غير جيد، حيث أنه عليك التفكير في المهمة التي تقوم ببناء النموذج لها، و هل هذا المعيار جيد أم لا؟ في أغلب المهام التي تتعلق بالأمور الطبية، ما يهمنا بشكل كبير هو كشف المرض في حال وجوده، حتى لو كان النموذج أسوء قليلًا من ناحية أنه يكشف مرض غير موجود، أي يكون الشخص سليم و لكنه يقول أنه مريض. و هذا يمكنك قياسه عن طريق معياري precision و recall. السبب في أننا نريد دقة عالية هو أنه بشكل عام يتم استعمال النماذج كأداة مساعدة للطبيب، أو أنه يمكنك توقع أن يقوم شخص عادي باستخدامه، ففي حال كان هناك شك ولو طفيف، أنت تريد أن تظهر له أن عليه مراجعة طبيب، حتى لو كان لا يحتاج إلى ذلك. فهذا أفضل من أن يكون مريضًا و تظهر له أنه لا يحتاج إلى مراجعة الطبيب. كما أنه يجب عليك المقارنة مع أشخاص أخرين عملوا على نفس المهمة، لمعرفة ما توصلوا له و هل نموذج جيد مقارنة بهم أم لا. ففي بعض المهام تعتبر دقة 60 بالمية ممتازة (كمهام التعرف على الأغراض من صور الأقمار الصناعية)، أما في مهام أخرى فإن أي نتيجة أقل من 90 غير جيدة (كأغلب مهام التصنيف الخاصة بالصور). أي ما يهم أن تفكر فيما وراء الأرقام و هل هي تعكس الأداء الذي تريد قياسه أم لا. تحياتي.
- 2 اجابة
-
- 1
-
و عليكم السلام يحيى، هذا الرقم هو سمعتك في الموقع، و تزيد السمعة كلما قام أحد بالتفاعل مع تعليقاتك أو أسئلتك. هذا يظهر نسبيًا نشاطك ضمن الأكاديمية. مثلًا لقد قمت الآن بالتفاعل مع سؤالك الحالي، و يمكنك أن ترى أن سمعتك أصبحت 24 بدلًا من 23. تحياتي.
- 1 جواب
-
- 1
-
من الطبيعي ألا تفهم كل شيء بشكل كامل من البداية. أما مشكلة النسيان فغالبًا سببها أنك لا تطبق ما تعلمته من أفكار بشكل كافٍ، فالتطبيق العملي مهم جدًا لتثبيت الأفكار التي تعلمتها و تحسين قدرتك على استعمال هذه الأفكار بالشكل الصحيح. نصيحتي هي ألا تقوم بإعادة الدروس و إنما محاولة تطبيق الأفكار التي تعلمتها في تلك الدروس، عندها عندما تحتاج إلى فكرة ما و تكون قد نسيتها يمكنك البحث عنها على غوغل أو العودة إلى الدرس. تدريجيًا ستصبح هذه الأفكار أوضح و ستترسخ في ذهنك حتى لا تنساها. لكن التطبيق العملي هو شيء يجب أن يكون مستمر، فتوقفك عن التطبيق لمدة طويلة سيعيد مشكلة النسيان. لذلك حاول دائمًا زيادة تطبيقك العملي عن طريق القيام بالمشاريع المختلفة التي توظف فيها ما تعلمته. لا تقم باعتبار الدرس مجرد معلومات عليك مشاهدتها و المرور إلى الدرس التالي، عليك إعطاء كل درس حقه من الوقت للتطبيق، بعد ذلك يمكنك الانتقال إلى الدروس التالية. تحياتي.
- 4 اجابة
-
- 1
-
كما سبق و ذكرت، المكتبات التي لا ترتبط بخدمة مرخصة لا يمكنك اعتبارها موثوقة. coinbase-commerce مشابهة للموقع الذي قمت بذكره crypto.com .. كلاهما يعتبر منصة مرخصة للتعامل بالعملات المشفرة و يمكنك التعامل مع ما ترغب منهما. تحياتي.
- 5 اجابة
-
- 1
-
يمكنك الإطلاع على هذه المكتبات، أو يمكنك البحث فيما إذا كان هناك موقع موثوق يؤمن هذه الخدمة. أحد المواقع الموثوقة هو https://crypto.com/eea/pay-merchant .. و هو يؤمن بطاقات ائتمانية تدعم العملات المشفرة و يوفر خدمة أن تقوم باستقبال الدفع عن طريقها، يمكنك الإطلاع عليه أعتقد أنه سيقدم لك ما تحتاجه. تحياتي.
-
و عليكم السلام، علوم الحاسوب تتعلق بالأساسيات التي تبنى عليها كافة التقنيات الخاصة بالحاسوب، و هذا يتضمن لغات البرمجة. هذا لا يعني أنك خلالها يجب أن تتعلم كيف تقوم بكتابة برنامج ما في لغة البرمجة، و لكن خلالها مثلًا ستتعلم ما هي المترجمات و كيف تكتب و ما إلى هنالك من أمور نظرية تشكل الأساس الذي تصنع عن طريقه لغات البرمجة. قد لا تجد هذه الأمور في الكثير من الكورسات بسبب أنها نظرية بشكل كبير جدًا و من الصعب أن يستفيد الشخص منها إلا في مراحل متقدمة جدًا بعد أن يصبح خبيرًا و في حال قرر العمل في هذه الأمور النظرية. أما مطوري البرامج فلا حاجة لهم بهذه المعلومات في أغلب الأحيان، خاصة في لغة مثل بايثون. قد يستفيد منها شخص مطور في لغة c++ حيث أن فهم بعض التفاصل تساعده على حل مشاكل صعبة مثل مشاكل ال linker الخاص باللغة، و لكن أيضًا ليس عليه فهم كل تفاصيلها و إنما فقط كيف تعمل بشكل عام. لا أنصحك بالتعمق في هذه الأمور في البدايات، فهي صعبة جدًا و الوقت الذي تستغرقه لإتقانها لن يعود عليك بفائدة كبيرة في هذه المرحلة. تحياتي.
- 2 اجابة
-
- 1