-
المساهمات
2609 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
26
آخر يوم ربح فيه Kais Hasan هو يناير 7
Kais Hasan حاصل على أكثر محتوى إعجابًا!
آخر الزوار
3950 زيارة للملف الشخصي
إنجازات Kais Hasan
-
و عليكم السلام علي، عادة ما يكون هناك تقاطع بين المجالات، فأهداف بعض المجالات قد تكون مشتركة. مثلًا مجال معالجة الصورة يهتم بكافة الأمور المتعلقة بالعمليات التي نقوم بتطبيقها على الصور، من فلاتر و تحسينات و غيرها. أما مجال علم البيانات فهو يهتم بالعمليات التي يمكن عن طريقها استخراج الأنماط من البيانات و استعمالها في اتخاذ القرارات. بالتالي في حال كانت البيانات التي تريد استخلاص أنماط منها هي صور، فغالبًا ستقوم بتطبيق بعض الأمور التي تتبع لمجال معالجة الصور. تحياتي.
- 4 اجابة
-
- 1
-
-
يمكنك استعمالها في ال console الخاص بالمتصفح، فقط اضغط على ctrl+shift+c يفترض أن يظهر لك. هناك يمكنك كتابة بعض أكواد جافا سكربت و رؤية ما تقوم به على الصفحة. أيضًا في حال قمت بكتابة موقع و فيه كود js يمكنك وضع بعض تعليمات الطباعة للتحقق مما يحدث و فتح ال console لرؤية الخرج و فهم كيف يسير العمل. بشكل عام هذه طرق عملية للقيام بذلك، و لكن الصحيح هو أن تفهم آلية عمل اللغة، فعندها يمكنك تخيل كيف سيسير عمل البرنامج و هذا ضروري. تحياتي.
-
مرحبًا علي، خوارزميات ال binary search تحتاج إلى شروط أكثر، فيجب أن تكون العناصر قابلة للترتيب بناء على ما تريد البحث عنه، مثلًا في حال كنت تريد البحث عن رقم ما ضمن مصفوفة أرقام يجب أن تكون الأرقام مرتبة. أما ال tree فلا تفترض ترتيب كهذا فعملية البحث تتم عن طريق جداول hashing لا تفترض أن البيانات مرتبة بشكل تلقائي. كما أن ال tree تسمح لك بإضافة و حذف عناصر بسهولة على عكس المصفوفة. أي بشكل عام لا يوجد خيار مفضل بشكل مطلق، دائمًا قم بالتفكير بما تريده بشكل دقيق و على أساس ذلك يتم تحديد أي الخيارات أفضل. تحياتي.
- 2 اجابة
-
- 1
-
-
مرحبًا علي، رغم أنه يجب أن يكون هناك توافق بين الاثنين، إلا أن ال loss قد يعطيك فكرة عن بعض المشاكل التي قد لا توضحها ال accuracy. أحد أهم هذه المشاكل هو التوقع بدون مقدار ثقة عالية من النموذج، مثلًا في حال كنا نقوم بمهمة تصنيف ثنائي لنفترض حالة متطرفة بأن النموذج توقع كل الأصناف التي هي 1 عن طريق وضع احتمال 0.51 و كل الأصناف التي هي 0 عن طريق وضع احتمال 0.49. في هذه الحالة ستكون الدقة 100% و لكن الخطأ مرتفع جدًا بسبب أن النموذج غير واثق من نتائجه و أي تغيير طفيف في الدخل قد يؤدي إلى تغير الخرج بين الصنفين. لذلك دائمًا أبقي نظرك على كليهما. تحياتي.
- 2 اجابة
-
- 1
-
-
مرحبًا علي، نعم كلما كانت أقل كلما كانت أفضل. و لكن عليك النظر إلى كل من نتيجة الخطأ على بيانات التدريب و بيانات الاختبار، فإذا كان الخطأ كبير في بيانات التدريب هذا يعني أن النموذج لم يتعلم الأنماط الموجودة في البيانات و عليك زيادة تعقيده. أما في حال كان الخطأ صغير على بيانات التدريب، فهنا يكون هناك مشكلة over-fitting و عليك البدء بحلول بسيطة مثل تقليل تعقيد النموذج و إضافة regularization و غيرها من الطرق البسيطةـ في حال لم ينجح الأمر حاول استعمل transfer learning عن طريق استعمال نموذج مدرب مسبقًا على بيانات كثيرة في مهمة تشبه المهمة التي تحاول القيام بها، عندها يمكنك الاستفادة من الأنماط التي اكتشفها و تدريب جزء صغير منه فقط ليناسب المهمة الخاصة بك. في حال لم ينجح أي مما سبق قد تضطر إلى جمع بيانات أكثر. تحياتي.
- 3 اجابة
-
- 1
-
-
و عليكم السلام، يمكنك استعمال ما تشاء من قيم الخرج، لا وجود لحد نظري يخبرك أنه لا يمكن استعمال أكثر من خرج. أي أن هناك الكثير من الشبكات تقوم بتوقع العديد من الأمور في نفس الوقت، مثلًا ال YOLO تقوم بتوقع موقع الغرض (عن طريق صندوق يحيط به)، الصنف الذي يتبع له هذا الغرض، و مقدار الثقة في التوقع. لذلك عندما تريد توقع أكثر من قيمة ببساطة يجب أن يكون هناك أكثر من label، بحيث تقارن توقع النموذج به. بالطبع قد تحتاج إلى بعض التغييرات في هيكلية الشبكة، حيث يتم قسمها إلى قسم مختص باستخراج الميزات، و عدد من الرؤوس كل منها مبني على قسم الاستخراج و يقوم بتوقع قيمة ما. هذه صورة توضح أحد الأمثلة على استعمال رأسين للشبكة: تحياتي.
- 2 اجابة
-
- 1
-
-
لقد حللت مشكلتك. كان هناك مشكلة في ترك فراغ حتى يمكن رسم ال legends فيه باستعمال الطريقة السابقة. لكن إبقاء المخططين بجانب بعضهما سيجعل المخططات متداخلة، لذلك قمت ببعض التنسيق بحيث تظهر المخططات بشكل أفضل: import matplotlib.pyplot as plt import seaborn as sns import pandas as pd from matplotlib.patches import Patch data_train = pd.read_csv('train.csv') # Create figure with 2 vertical subplots (2 rows, 1 column) fig, axes = plt.subplots(2, 1, figsize=(12, 14)) # Increased height for vertical spacing # ----------------------------------------------------------------- # Plot 1: Top plot (age_at_hct vs gvhd_proph) # ----------------------------------------------------------------- hue_categories_1 = data_train['gvhd_proph'].unique() palette_1 = sns.color_palette("Blues", n_colors=len(hue_categories_1)) sns.histplot( data=data_train, x='age_at_hct', hue='gvhd_proph', multiple='stack', palette=palette_1, ax=axes[0], legend=False ) axes[0].set_title("Stacked Histogram of Age at HCT and GVHD Prophylaxis", pad=20) axes[0].set_xlabel("Age at HCT") axes[0].set_ylabel("Count") # Legend for top plot (right side) legend_patches_1 = [Patch(color=color, label=label) for color, label in zip(palette_1, hue_categories_1)] axes[0].legend( handles=legend_patches_1, bbox_to_anchor=(1.05, 1), # Right side loc='upper left', title='GVHD Prophylaxis' ) # ----------------------------------------------------------------- # Plot 2: Bottom plot (age_at_hct vs tbi_status) # ----------------------------------------------------------------- hue_categories_2 = data_train['tbi_status'].unique() palette_2 = sns.color_palette("Blues", n_colors=len(hue_categories_2)) sns.histplot( data=data_train, x='age_at_hct', hue='tbi_status', multiple='stack', palette=palette_2, ax=axes[1], legend=False ) axes[1].set_title("Stacked Histogram of Age at HCT and Tbi-Status", pad=20) axes[1].set_xlabel("Age at HCT") axes[1].set_ylabel("Count") # Legend for bottom plot (right side) legend_patches_2 = [Patch(color=color, label=label) for color, label in zip(palette_2, hue_categories_2)] axes[1].legend( handles=legend_patches_2, bbox_to_anchor=(1.05, 1), # Right side loc='upper left', title='TBI Status' ) # ----------------------------------------------------------------- # Final layout adjustments # ----------------------------------------------------------------- plt.tight_layout() plt.subplots_adjust( hspace=0.3, # Space between subplots right=0.85 # Make space for legends on the right ) plt.show() تحياتي.
- 6 اجابة
-
- 1
-
-
بشكل عام تكون مفيدة في حال كان هناك ترتيب للبيانات، مثلًا لنفترض أنه لديك بيانات توضح درجات الحرارة من تاريخ محدد لتاريخ محدد. في حال كان هناك أحد التواريخ فيه خطأ و لم يتم تسجيل درجة الحرارة فيه، يمكنك استعمال هذه التقنية فبشكل عام أنت تريد أن تعطي وزن أكبر للأيام القريبة، فدرجات الحرارة نادرًا ما تتغير بشكل كبير بين يوم و آخر، و لكن بنفس الوقت تريد إبقاء تأثير الأيام البعيدة و لكن بدرجة أخف (لإلغاء تأثير تقلب حدث بشكل استثنائي في درجات الحرارة). تحياتي.
- 5 اجابة
-
- 1
-
-
مرحبًا، يجب أن يكون استعمال bbox_to_anchor مناسب لحل مشكلتك، يمكننا وضعه في أول الرسم البياني بحيث يكون فوق الرسم. جرب استعمال الكود التالي و أخبرني بالنتيجة: import matplotlib.pyplot as plt import seaborn as sns # Assuming 'data_train' is your DataFrame # Set the overall figure size plt.figure(figsize=(12, 11)) # Plot 1: age_at_hct vs gvhd_proph plt.subplot(2, 2, 1) sns.histplot(data=data_train, x='age_at_hct', hue='gvhd_proph', multiple='stack', palette='Blues') plt.title("Stacked Histogram of Age at HCT and GVHD Prophylaxis") plt.xlabel("Age at HCT") plt.ylabel("Count") plt.legend(bbox_to_anchor=(1, 1), loc='upper left') # Move legend outside # Plot 1: age_at_hct vs tbi_status plt.subplot(2, 2, 2) sns.histplot(data=data_train, x='age_at_hct', hue='tbi_status', multiple='stack', palette='Blues') plt.title("Stacked Histogram of Age at HCT and Tbi-Status") plt.xlabel("Age at HCT") plt.ylabel("Count") plt.legend(bbox_to_anchor=(1, 1), loc='upper left') # Move legend outside plt.tight_layout() plt.show() تحياتي.
- 6 اجابة
-
- 1
-
-
يبدو أن هذا السؤال متعلق بوظيفة. في أكاديمية حسوب لا نقوم بحل الوظائف، فهذا لا يعود عليك بأي فائدة. من الافضل أن تحاول حل الوظيفة لوحدك و يمكننا مساعدتك في حال كان لديك سؤال محدد عن آلية عمل تابع معين أو عن خطأ لم تستطع معرفة سببه. تحياتي.
-
مرحبًا، أعتقد أن ما تقصده هو تقسيم البيانات إلى 3 أقسام هي train, dev, test. الهدف من هذا التقسيم هو عدم الوقوع في مشكلة overfitting على ال test. أي عندما تقوم بالتدريب و تعديل النموذج بناء على نتائج الاختبار على ال test فأنت فعليًا ستقع في مشكلة حيث أن نموذج تم تدريبه بحيث يعطي أفضل نتيجة على ال test و بالتالي قد يكون هناك overfitting. تظهر هذه المشكلة عندما تريد المقارنة بين النماذج، فالمقارنة العادلة يجب أن تختبر كيف تقوم النماذج بتعميم بيانات التدريب على بيانات الاختبار و لهذا السبب يجب ألا يتم اختيار بارامترات النماذج بحيث تعطي أفضل نتائج، و إلا يكون الاختبار بلا فائدة. في نفس الوقت يجب أن تختبر النموذج خلال التدريب حتى تختار قيم بارامترات جيدة تعطي نتائج لا بأس بها على بيانات لم تراها. لحل هذا التعارض تم إنشاء التقسيم الثالث و هو ال dev حتى تقوم باستعمالها كبيانات اختبار خلال عملية تطوير النموذج، و تكون ال test فقط لاختبار النموذج مرة واحدة بعد الانتهاء من تطويره و مقارنته بنماذج أخرى قد تكون طورتها لمعرفة أيها أفضل. تحياتي.
- 4 اجابة
-
- 1
-
-
مهمتها هي إضافة إزاحة لأول سطر في محتوى نصي، أي في حال كان لديك فقرات نصية ضمن الموقع الخاص بك، فإن أحد طرق التنسيق هي أن تقوم بإزاحة أول سطر من الفقرة قليلًا. هذا الأسلوب متبع بكثرة في الكتب مثلًا و يمكن أن تجده في بعض المواقع. هذه هي النتيجة عند تطبيقها، لاحظ كيف تمت إزاحة أول سطر: تحياتي.
- 3 اجابة
-
- 1
-
-
مرحبًا شريف، في حالتك هذه ينصح باستعمال الخدمات السحابية بدلًا من بناء الأمر بنفسك، فهي تقدم لك حلًا لمشاكل انقطاع الكهرباء و إمكانية إنشاء نسخ احتياطية، كما تعالج مشاكل الأمان لوحدها. يمكنك الإطلاع على الخدمات التي تقدمها شركات مثل Amazon و Google و غيرها. تحياتي.
-
و عليكم السلام علي، يبدو أن بعض الأعمدة تحمل قيم نصية، يبدو أن هذه نفس البيانات التي قمت بسؤالنا عنها منذ فترة، مثلًا العمود cyto_score يحمل قيمة نصية و ليس عددية، و لا يمكنك تطبيق عملية المتوسط الحسابي عليه. تحياتي.
- 2 اجابة
-
- 1
-
-
مرحبًا علي، بعد الإطلاع على المسابقة يبدو أن هذا ما يظهر لك فقط، أي تم إظهار أول 3 أسطر حتى تعرف ما هو شكل بيانات الاختبار و لكن البيانات مخفية. عادة ما يتم القيام بذلك لضمان أنك لم ترى بيانات الاختبار بنفسك و لم تصمم النموذج بحيث يتوافق معها. لقد تم ذكر هذا الأمر هنا: https://www.kaggle.com/competitions/equity-post-HCT-survival-predictions/discussion/549958#3079219 تحياتي.
- 4 اجابة
-
- 1
-