-
المساهمات
2589 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
26
آخر يوم ربح فيه Kais Hasan هو يناير 7
Kais Hasan حاصل على أكثر محتوى إعجابًا!
آخر الزوار
3925 زيارة للملف الشخصي
إنجازات Kais Hasan
-
و عليكم السلام، يمكنك استعمال ما تشاء من قيم الخرج، لا وجود لحد نظري يخبرك أنه لا يمكن استعمال أكثر من خرج. أي أن هناك الكثير من الشبكات تقوم بتوقع العديد من الأمور في نفس الوقت، مثلًا ال 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
-
من الصعب الإجابة بدون معرفة عن أي بيانات تتحدث. فقد يكون هناك سبب منطقي. أو قد تكون البيانات غير جيدة. فليس كل شيء على كاغل ذو جودة عالية. حيث أنه يمكن لأي شخص رفع بيانات. تحياتي.
- 4 اجابة
-
- 1
-
و عليكم السلام، في المشاريع الحقيقية يفضل استعمال الأدوات الجاهزة، فهي توفر الوقت و قد تم اختبارها بشكل كبير لذلك يمكن الوثوق بها. أما في حال كتابة الكود من الصفر فقد يأخذ ذلك وقت طويل و قد يكون هناك أخطاء كثيرة من الصعب إيجادها. في حال كنت تعمل في قسم البحث العلمي الخاص بالشركة فقد تحتاج حينها إلى كتابة بعض الأمور غير المدعومة من قبل اللغات بعد، و عندها ستقوم بكتابة الكود بالاعتماد على نفسك. و لكن هذا لا يعني من الصفر تمامًا حيث ستعتمد على أدوات من المكاتب و لكن هيكلية الشبكة و تفاصيلها قد تكتبها بنفسك. أو كيفية عمل بعض المكونات فيها. أي في النهاية الأمر يعتمد على العمل الذي تقوم به، طالما يمكنك استعمال أدوات جاهزة قم بذلك. تحياتي.
- 2 اجابة
-
- 1
-
كما سبق و أخبرتك، هناك طرق يمكنك استعمالها في حال كان العمود مهمًا في نظرك و ليس من المفيد حذفه. في النهاية هنا تأتي مهمتك في أن تجد أهم الأعمدة، فعملية معالجة البيانات مهمة جدًا مثل عملية تطوير النموذج.
- 5 اجابة
-
- 1
-
مرحبًا علي، بالطبع يجب مسحه، عدم مسحه يفترض أن يعطيك خطأ. فمثلًا لو أنك قمت بتدريب النموذج على 10 أعمدة فهذا يعني أنه لديك أوزان مخصصة لهذه الأعمدة فقط، و في حال حاولت اختبار النموذج على 11 عمود يفترض أن يعطيك خطأ. من الطبيعي مسح الأعمدة، فهي جزء من عملية اختيار الميزات المهمة و حذف غير المهمة، و وجود بيانات ناقصة بشكل كبير في عمود قد يدل أن العمود غير مهم. في حال كان العمود رقمي، يمكنك تعويض مسح العمود بتعويض البيانات الناقصة ب 0 .. في تلك الحالة لن تؤثر على الوزن الخاص بذلك العمود، أي أن النموذج سيتعامل و كأن هذه العينة لا تحوي على هذه الميزة. تحياتي,
- 5 اجابة
-
- 1
-
مرحبًا علي، الكود ليس مهمًا فما يهم هو جودة النموذج الذي قمت بتطويره. قد يتم التحقق من الكود لضمان عدم وجود غش فقط و لكن عدا ذلك هو ليس معيار. أيضا الكود الخاص بك سيصبح مرئي للآخرين في حال الفوز و جودة الكود قد تكون في صالحك من ناحية أن من سيرى الكود سيعرف أنك منظم و تجيد كتابة كود جيد. تحياتي.
- 3 اجابة
-
- 1