-
المساهمات
2393 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
13
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Chihab Hedidi
-
هناك العديد من الكتب الرائعة التي يمكن أن تكون مفيدة لك حسب مستواك وأهدافك أشهرها كتاب Deep Learning by Ian Goodfellow، حيث يغطي المفاهيم الأساسية والمتقدمة بشكل شامل، ومناسب للمستوى المتوسط إلى المتقدم. كما أنصحك بالإطلاع على الكتب الموجودة في الأكاديمية و التي ستفيدك فعلا: بالنسبة لمعرض القاهرة الدولي للكتاب يعتبر أحد أكبر المعارض في المنطقة، وعادة ما يتوفر فيه مجموعة واسعة من الكتب في مختلف المجالات، بما في ذلك الكتب التقنية والتعلم العميق، أنصحك بالذهاب إليه ربما ستجد كتب أخرى تلهمك أكثر في هذا المجال.
-
يجب تقسيم البيانات المتاحة أثناء التدريب إلى بيانات تدريب وبيانات اختبار بشكل منفصل، و يتم تدريب النموذج على جزء من البيانات، ثم يقيّم أداؤه باستخدام بيانات الاختبار التي لم يراها أثناء التدريب، إذا أظهر النموذج أداء جيدا على بيانات الاختبار، فهذا مؤشر على أنه قد يعمم بشكل جيد. كما يمكن استخدام تقنية التحقق المتقاطع، حيث يتم تقسيم البيانات إلى عدة أجزاء، وتدريب النموذج على أجزاء مختلفة منها في كل مرة واختباره على الجزء المتبقي، و هذا يساعد في تقليل الانحياز وتقييم أداء النموذج بشكل أكثر دقة، و من المهم مراقبة الظاهرة التي تعرف بـ الـOverfitting أو الإفراط في التكيف، والتي تحدث عندما يتعلم النموذج تفاصيل البيانات التدريبية بشكل مفرط مما يجعله يفشل في التعميم على بيانات جديدة.
- 4 اجابة
-
- 1
-
في وقتنا الحالي تعلم الذكاء الاصطناعي وتحليل البيانات يمكن أن يفتح آفاقا واسعة لك على المستوى الشخصي والمهني، حيث ستكتسب مهارات تفكير نقدي وتحليلية تمكنك من حل المشكلات بشكل أكثر كفاءة، و ستتعلم أيضا كيفية استخدام الأدوات البرمجية لتبسيط العديد من المهام اليومية، مثل تحليل البيانات الشخصية أو تحسين المشاريع التي تعمل عليها، أما مهنيا فهذه الدورة تؤهلك لاكتساب مهارات حديثة ومطلوبة بشدة في سوق العمل، مثل برمجة النماذج الذكية وتحليل البيانات، ما يمنحك ميزة تنافسية قوية عند التقدم للوظائف. بالنسبة للمسميات الوظيفية في مجال الذكاء الاصطناعي يوجد الكثير منها مهندس تعلم آلي، محلل بيانات، مطور ذكاء اصطناعي و غيرها، و هذه المسميات تعتمد على تخصصك داخل المجال ومستوى خبرتك. أما طبيعة العمل فيتنوع بناء على دورك الوظيفي، و يكون مثل جمع البيانات وتحليلها لتحديد الأنماط والاتجاهات، تصميم وتطوير نماذج تعلم آلي، و تدريب النماذج على مجموعات بيانات واختبارها لضمان دقتها.
-
محركات الألعاب الجاهزة توفر أدوات شاملة وسهلة الاستخدام لتطوير الألعاب، وتأتي مع مزايا التي تساعد المطورين في حل المشكلات، و هذه المحركات تعتمد على نظام الاشتراك أو العائدات، حيث تدفع نسبة من الأرباح بعد تحقيق عائد معين، أما صنع محرك ألعاب خاص يتطلب جهدا برمجيا كبيرا، ومعرفة عميقة في الرسوميات، الفيزياء، والصوتيات، كما أن التكلفة المالية لصنع محرك خاص تعتمد على فريق العمل والوقت المستغرق، ولكنها قد تصل إلى مئات الآلاف من الدولارات إذا كنت تريد محركا متكاملا وفعالا.
-
يمكنك تصفح موقع ويكي حسوب الخاص بكل اللغات البرمجية من بينها لغة بايثون، و أيضا تصفح هذا الرابط الذي يحتوي على المقالات و الكتب من أكاديمية حسوب حيث تجد كل أنواع الدروس هناك: https://academy.hsoub.com/programming/python/
-
مقابلات العمل في الشركات في الشركات الكبيرة تعتبر تحديا في عالم التكنولوجيا، فهذه الشركات تبحث عن أفضل المواهب، لذا فإن عملية الاختيار تكون دقيقة وشاملة، و عادة ما تشمل المقابلات عدة مراحل، تبدأ بفحص السيرة الذاتية، ثم مقابلات هاتفية أو عبر الفيديو، وتنتهي بمقابلات شخصية أو افتراضية مع فريق العمل، و تركز الأسئلة على الجوانب التقنية، وحل المشكلات، والتفكير المنطقي، بالإضافة إلى المهارات السلوكية والثقافية، و قد يطلب منك حل مسائل برمجية معقدة أو تصميم أنظمة خلال المقابلة، مما يتطلب تحضيرا مكثفا وفهمًا عميقا للمفاهيم الأساسية والمتقدمة في المجال.
- 2 اجابة
-
- 1
-
وجود قيم NaN في الجدول الناتج يمكن أن يكون بسبب طبيعة عملية groupby و unstack، حتى لو قمت بمسح القيم الناقصة من البيانات الأصلية، فإن القيم الفارغة قد تظهر في النتيجة بسبب الطريقة التي ترتب بها البيانات عند تنفيذ العملية. حيث أن unstack يقوم بتحويل القيم الفريدة في عمود prim_disease_hct إلى أعمدة، و إذا لم يكن هناك أي بيانات مطابقة بين year_hct وقيمة معينة من prim_disease_hct في مجموعة بيانات معينة، فستظهر تلك الخلية كـNaN، لأن مكتبة pandas تتوقع وجود جميع القيم الممكنة لكنه لم يجدها.
- 3 اجابة
-
- 1
-
القوائم المرتبة تستخدم لعرض العناصر بترتيب معين، مثل القوائم المرقمة أو ذات الترتيب الأبجدي، ويتم إنشاؤها باستخدام الوسم <ol>، وتظهر العناصر داخلها بترقيم تلقائي أو حسب نوع الترقيم الذي يتم تحديده باستخدام السمة type. أما القوائم غير المرتبة فهي تستخدم لعرض العناصر دون ترتيب محدد، ويتم إنشاؤها باستخدام الوسم <ul>، و تظهر العناصر داخلها برمز نقطي أو أي رمز آخر حسب التصميم، و تعتبر القوائم غير المرتبة مناسبة عندما لا يكون الترتيب الزمني أو التسلسلي مهما، بينما تستخدم القوائم المرتبة عندما يكون التسلسل ذا دلالة أو ضروريا لفهم المحتوى.
- 4 اجابة
-
- 1
-
نعم هذا الأمر قد يكون له تأثير كبير وسلبي على أداء النموذج الذي تحاول تدريبه، و التأثير يعتمد على طريقة معالجة النموذج لهذه القيم المفقودة ومدى أهمية البيانات المحذوفة حيث أن حذف 90% من البيانات يعني أن النموذج سيحصل على كمية محدودة جدا من المعلومات لتعلم الأنماط، و بالتالي تحتاج إلى معالجة البيانات المفقودة بعناية وتقييم كيفية تأثير الحذف على الأنماط التي يحاول النموذج تعلمها.
- 4 اجابة
-
- 1
-
بالنسبة ل pycharm اذهب إلى File > Settings، ثم انتقل إلى القسم Project > Python Interpreter، ثم اضغط على أيقونة الترس واختر Add Interpreter، و اختر Add Local Interpreter، ثم حدد مسار مفسر Python داخل البيئة الافتراضية و اضغط OK لحفظ الإعدادات. و الأمر مشابه بالنسبة ل VsCode، و لكن يجب أن تعرف أن Pycharm يسهل هذا الأمر تماما حيث عند إنشاء مشروع من داخله يقوم تلقائيا بإنشاء بيئة إفتراضية و يتم تثبيت المكاتب عليها و بالتالي لا تحتاج إلى كل هذه المراحل اليدوية.
- 4 اجابة
-
- 1
-
عند استخدام fillna، تحتاج إلى إعادة تعيين القيم إلى الأعمدة لأن fillna لا تعدل البيانات في مكانها بشكل افتراضي إلا إذا استخدمت inplace=True، إليك الكود المعدل الذي يجب أن يعمل كما هو متوقع: # تحديد الأعمدة التي تحتوي على القيم المفقودة والتي ترغب في التعامل معها data_columns_nulls = ['cyto_score', 'cyto_score_detail', 'hla_high_res_6', 'hla_high_res_8', 'hla_high_res_10', 'hla_match_b_high', 'tce_imm_match', 'mrd_hct', 'tce_match', 'tce_div_match'] # مسح القيم المفقودة (NaN) في الأعمدة غير المحددة for column in data_train.columns: if column not in data_columns_nulls: data_train = data_train.dropna(subset=[column]) # تعبئة القيم المفقودة (NaN) في الأعمدة المحددة for column in data_columns_nulls: if column in data_train.columns: # إذا كان العمود نصي (object)، املأ بـ mode if data_train[column].dtype == 'object': data_train[column].fillna(data_train[column].mode()[0], inplace=True) else: # إذا كان العمود رقمي، املأ بـ mean data_train[column].fillna(data_train[column].mean(), inplace=True) # التحقق من القيم المفقودة مرة أخرى print("-" * 20) missing_values = data_train.isna().sum() print(missing_values) هنا أضفنا inplace=True مع fillna لضمان تعديل القيم داخل الإطار مباشرة.
- 2 اجابة
-
- 1
-
الاشتقاق والجبر الخطي لهما أهمية كبيرة في فهم عمل الشبكات العصبية وتطويرها، حتى لو كنت ستستخدم أدوات جاهزة مثل TensorFlow أو PyTorch، هذه الأدوات تقوم بتبسيط العمليات الرياضية المعقدة مثل حساب التدرجات في عملية تحسين الأوزان باستخدام خوارزمية الانحدار العكسي، ولكن فهم الأساسيات مثل المصفوفات، المتجهات، والاشتقاق يتيح لك إدراك كيفية عمل هذه العمليات في الخلفية. و الإبداع يظهر عندما تفهم المبادئ الأساسية وتستطيع تحسين النموذج أو تعديله بطرق مبتكرة، و الفهم العميق يساعدك أيضًا في تحديد الأسباب وراء مشكلات مثل الإفراط في التخصيص أي Overfitting أو عدم استقرار التدريب، وإيجاد حلول فعالة لها بدلا من الاعتماد الكامل على الأدوات الجاهزة دون إدراك، لذا هذه الأدوات تسهل التنفيذ، لكن الإبداع يظهر في كيفية استخدام هذه الأدوات بذكاء واستغلال الرياضيات لفهم وتحسين النماذج بشكل عملي.
- 3 اجابة
-
- 1
-
بالتأكيد يمكنك تحويل ملفات Excel إلى CSV مع الحفاظ على النصوص العربية بطريقة صحيحة عن طريق ضبط الترميز على UTF-8، افتح ملف Excel، ثم اختر File > Save As أو حفظ باسم، و اختر CSV UTF-8 (Comma delimited) (*.csv) من قائمة Save as type. هذا الخيار متاح في الإصدارات الحديثة من Excel، إذا لم يظهر النص العربي بشكل صحيح، استخدم الخطوات التالية. أو يمكنك استخدام مكتبة pandas في Python لمعالجة الملفات. الكود التالي يقوم بعملية التحويل مع الحفاظ على اللغة العربية: import pandas as pd # قراءة ملف Excel excel_file = "example.xlsx" # ضع اسم ملف الإكسيل df = pd.read_excel(excel_file) # حفظ الملف بصيغة CSV مع الترميز UTF-8 csv_file = "output.csv" df.to_csv(csv_file, index=False, encoding='utf-8-sig')
- 1 جواب
-
- 1
-
تأكد من رفع ملف PDF بشكل مباشر إذا كان مدعوما، أو نسخ النصوص المهمة من الملف ولصقها عند الطلب، لأن ChatGPT لا يقرأ الصور أو الرسومات داخل الملف، و إذا كان الملف يحتوي على صور أو جداول مهمة، يمكنك وصفها بالتفصيل أو استخدام أدوات لتحويل الصور إلى نص إذا كانت تحتوي على نصوص قبل مشاركتها، وأيضا لضمان عدم تخطي المعلومات يمكنك تقسيم النصوص الطويلة إلى أجزاء وطلب تلخيص كل جزء على حدة، مع التأكيد على تضمين التفاصيل.
-
بالتأكيد يمكنك إنشاء برنامج سطح مكتب بدون استخدام قواعد بيانات تقليدية، حيث يمكن تخزين المعلومات والملفات والصور داخل ملفات البرنامج نفسه باستخدام طرق مثل تخزين البيانات في ملفات نصية TXT أو ملفات JSON أو XML، أو حتى استخدام ملفات ثنائية لحفظ الصور والمعلومات بشكل مضغوط وآمن، و هذا النهج كان شائعًا في الألعاب القديمة حيث يتم تخزين كل البيانات داخل ملفات اللعبة بطرق مخصصة.
- 4 اجابة
-
- 1
-
الملحقات لا تظهر عادة لذا يجب عليك كتابتها يدويا و هذا على حسب نوع الملف الذي تريد إنشاءه، فمثلا لو كنت تريد إنشاء ملف من نوع html فقط قم بإضافة .html في آخر الملف و بهذه الطريقة سيكون بالصيغة التي كتبتها.
-
نتستخدم الوظائف التي ذكرتها لتحليل البيانات الإحصائية، لكنها تخدم أغراضا مختلفة وتعتمد على طبيعة البيانات والعلاقات التي ترغب في تحليلها: حيث أن fisher_exact تستخدم لاختبار الترابط بين متغيرين تصنيفيين في جدول تكراري ثنائي، و هذا الاختبار مفيد عندما تكون العينات صغيرة، حيث يقوم بحساب قيمة الاحتمالية لاختبار فرضية العدم. pearsonr تستخدم لحساب معامل الارتباط لبيرسون، الذي يقيس العلاقة الخطية بين متغيرين مستمرين، حيث يعطينا معامل الارتباط وقيمة الاحتمالية لاختبار قوة واتجاه العلاقة الخطية. بالنسبة ل spearmanr تستخدم لحساب معامل ارتباط سبيرمان، وهو مشابه لبيرسون، ولكنه يعتمد على الرتب بدلا من القيم الفعلية، مما يجعله مناسبًا للعلاقات غير الخطية أو البيانات التي لا تتبع التوزيع الطبيعي. أما mannwhitneyu يستخدم لاختبار ما إذا كانت توزيعات مجموعتين مستقلتين تختلف بشكل كبير، و يعتبر هذا الاختبار بديلا غير معلمي لاختبار t-test، مما يجعله مناسبا للبيانات التي لا تتبع التوزيع الطبيعي أو التي تحتوي على تباينات غير متساوية.
- 3 اجابة
-
- 1
-
بناء شبكة عصبية من الصفر أو استخدام الأدوات الجاهزة يعتمد على هدفك وخبرتك، إذا كنت تتعلم أو تريد فهم التفاصيل الدقيقة للشبكات العصبية، فبناءها من الصفر يكون مفيد لتطوير مهاراتك البرمجية والفهم العميق، أما إذا كان هدفك تنفيذ مشروع بسرعة وكفاءة، فاستخدام الأدوات الجاهزة مثل TensorFlow أو PyTorch هو الخيار الأفضل، حيث توفر هذه الأدوات إمكانيات متقدمة وتوفر الوقت والجهد، و دائما الجمع بين الفهم النظري واستخدام الأدوات الجاهزة قد يكون الحل الأمثل لتحقيق أفضل النتائج.
- 6 اجابة
-
- 1
-
إذا كان السؤال خاص بالدورة، ستجد أسفل الفيديو مكان للتعليق هناك أرجوا كتابة المشكلة في ذلك المكان حتى يكون فهمه أسهل بما يتناسب مع الدرس، أما هنا نقوم بطرح الأسئلة العامة فقط و التي ليس لها علاقة بالدرس.
-
بالنسبة ل KaplanMeierFitter تستخدم هذه الطريقة لتقدير دالة البقاء بشكل غير مُعلَّم، حيث تعمل Kaplan-Meier على حساب احتمالية بقاء الأفراد في الدراسة لفترة زمنية معينة مع الأخذ في الاعتبار حالات الرقابة، وهي مناسبة لتحليل بيانات البقاء البسيطة عند عدم وجود متغيرات مستقلة. لدينا أيضا CoxPHFitter تعتمد هذه الطريقة على نموذج الانحدار النسبي للمخاطر، وهو نموذج شبه مُعلَّم يُستخدم لتقييم تأثير المتغيرات المستقلة على وقت البقاء، و يتيح هذا النموذج تحليل العلاقات بين الوقت والبقاء من جهة، والمتغيرات التفسيرية من جهة أخرى. أما logrank_test فتستخدم هذه الأداة لإجراء اختبار إحصائي لمقارنة دوال البقاء بين مجموعتين أو أكثر. يعمل الاختبار على تقييم الفرضية الصفرية التي تفترض عدم وجود فرق بين المجموعات من حيث دالة البقاء، و يتم استخدام هذا الاختبار عندما ترغب في مقارنة بيانات البقاء بين مجموعات دون الحاجة إلى نموذج أكثر تعقيدًا. لذا يمكن القول أن KaplanMeierFitter يستخدم لتقدير البقاء، CoxPHFitter لتحليل تأثير المتغيرات، و logrank_test للمقارنة الإحصائية بين المجموعات.
- 3 اجابة
-
- 1
-
يجب عليك استخدام بوابة دفع تدعم الحسابات الفرعية مثل Stripe Connect أو PayPal Adaptive Payments، و يمكنك تصميم النظام بحيث ينشئ حساب دفع لكل مستخدم عند التسجيل أو إنشاء متجر فرعي، مع ربطه بواجهة API لبوابة الدفع، و عند قيام عميل بشراء منتج، يتم توجيه الأموال مباشرة إلى الحساب الخاص بمالك المتجر، مع إمكانية خصم عمولة للمنصة عبر إعداد "Application Fee" أو نسبة مئوية من الدفع. و أيضا في Django ستحتاج إلى إعداد نماذج مخصصة للمستخدمين، حيث يرتبط كل منتج بمتجر فرعي وكل متجر بمستخدم، كما يجب عليك إعداد منطق العمل للتعامل مع عمليات الدفع باستخدام مكتبة مثل Stripe، حيث يمكنك إنشاء حسابات فرعية للمستخدمين وإدارة عمليات الدفع وتحويل الأموال، و أيضا تأكد من إضافة واجهة مستخدم تسمح للمستخدمين بإعداد حساباتهم المالية وعرض تقارير المدفوعات والمبيعات.
- 2 اجابة
-
- 1
-
يمكنك تقسيم الرسوم البيانية إلى شبكة تحتوي على 4 رسومات باستخدام مكتبة matplotlib لإنشاء شبكة من المحاور، و بهذه الطريقة يمكنك عرض الرسومات المختلفة بشكل مرتب في نافذة واحدة و يكون التعريف بهذا الشكل: from matplotlib import pyplot as plt from lifelines import KaplanMeierFitter # Create a Kaplan-Meier object kaplanmeierfitter = KaplanMeierFitter() # تحديد الشبكة (2×2) fig, axes = plt.subplots(2, 2, figsize=(15, 10)) # 2 صفوف × 2 أعمدة # تحويل الشبكة إلى قائمة لتسهيل التكرار axes = axes.flatten() # Iterate through each unique combination of 'cyto_score', 'tbi_status', 'graft_type', and 'vent_hist' groups = data_train.groupby(['cyto_score', 'tbi_status', 'graft_type', 'vent_hist']).groups for i, (group_key, group_indices) in enumerate(groups.items()): # التوقف إذا تم رسم 4 رسومات فقط if i >= 4: break # Filter the data based on the current group group_data = data_train.loc[group_indices] # Fit the Kaplan-Meier model kaplanmeierfitter.fit(group_data['efs_time'], event_observed=group_data['efs'], label=f'cyto_score {group_key[0]}, tbi_status {group_key[1]}, graft_type {group_key[2]}, vent_hist {group_key[3]}') # Plot on the corresponding subplot kaplanmeierfitter.plot_survival_function(ax=axes[i], color=plt.cm.tab10(group_data['cyto_score'] % 10)) # Customize each subplot axes[i].set_title(f'Group: cyto_score {group_key[0]}, tbi_status {group_key[1]}') axes[i].set_xlabel('Time (months)') axes[i].set_ylabel('Survival Probability') # تحسين المسافات بين الرسومات plt.tight_layout() # عرض الرسوم plt.show() هكذا يتم إنشاء شبكة من الرسومات باستخدام plt.subplots(2, 2) مما يعني 4 رسومات أي 2 صفوف × 2 أعمدة، و أيضا استخدمنا axes.flatten() لتحويل المحاور إلى قائمة لتسهيل التكرار عليها، ثم نقوم بتحديد عدد الرسومات لا يزيد عن 4 باستخدام الشرط، و كل مجموعة يتم رسمها على المحور الخاص بها باستخدام ax=axes[i].
- 4 اجابة
-
- 1
-
تحليل Kaplan-Meier هو تقنية إحصائية تستخدم لتقدير دالة البقاء وتحليل الوقت حتى حدوث حدث معين، مثل الوفاة أو الشفاء، و نستخدم هذا التحليل بشكل واسع في الأبحاث الطبية لدراسة بقاء المرضى بعد تشخيص مرض أو تلقي علاج، وفي مجالات أخرى مثل الهندسة لتحليل موثوقية الأنظمة، أو في الأعمال لدراسة مدة احتفاظ العملاء بالخدمات، و تعتمد الطريقة على تقسيم البيانات إلى خطوات زمنية بناء على الأوقات التي حدث فيها الحدث المدروس، مع حساب احتمال البقاء عند كل نقطة زمنية، حيث يأخذ Kaplan-Meier في الحسبان البيانات غير المكتملة مثل المرضى الذين خرجوا من الدراسة قبل حدوث الحدث، مما يجعله أداة فعالة لتحليل بيانات البقاء.
- 4 اجابة
-
- 1
-
الفرق يكمن في الهدف الأساسي لكل مكتبة، والأسلوب الذي توفره لتحليل البيانات أو بناء النماذج، فالهدف الرئيسي لكل مكتبة statsmodels هي أنها مصممة خصيصا للتحليل الإحصائي وبناء النماذج التفسيرية حيث توفر تفاصيل دقيقة وشاملة حول النماذج، مثل الإحصائيات الخاصة بالمتغيرات، و تركز على فهم العلاقات بين المتغيرات والاختبارات الإحصائية. بينما scikit-learn موجهة أكثر نحو التعلم الآلي وبناء النماذج التنبؤية، و نستخدمها لتطوير النماذج السريعة وتحقيق أفضل أداء للتنبؤات، و لا توفر نفس مستوى التحليل الإحصائي العميق الذي توفره statsmodels. لذا فدائما يجب عليك إختيار المكتبة المناسبة بناء على إحتياجات المشروع الخاص بك، و إذا كنت تريد الجمع بين الميزتين، يمكنك استخدام scikit-learn لتطوير النموذج سريعا ثم statsmodels لتحليل النتائج بتفصيل أكثر.
- 2 اجابة
-
- 1