لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 01/01/25 in أجوبة
-
4 نقاط
-
3 نقاط
-
السلام عليكم.. في البداية سنه سعيده على الجميع ان شاء الله وعسى تحقيق احلامكم واهدافكم.. في عندي سؤال كيف ترتبون وقت دراستكم للكورس وكم مره تعيدونه لضمانة الاجابه في الاختبار النهائي؟ حاليا ادرسه ساعتين ونصف يوميا وناوي اعيد الدروس مرتين... مهتم لسماعة ردودكم وسنه..2 نقاط
-
السلام عليكم ده الكود # Create a Kaplan-Meier object kaplanmeierfitter = KaplanMeierFitter() # Create a larger figure to avoid overlap plt.figure(figsize=(12, 8)) # Iterate through each unique combination of 'cyto_score', 'tbi_status', 'graft_type', and 'vent_hist' for (cyto_score, tbi_status, graft_type, vent_hist) in data_train.groupby(['cyto_score', 'tbi_status', 'graft_type', 'vent_hist']).groups: # Filter the data based on the current group group_data = data_train[(data_train['cyto_score'] == cyto_score) & (data_train['tbi_status'] == tbi_status) & (data_train['graft_type'] == graft_type) & (data_train['vent_hist'] == vent_hist)] # Fit the Kaplan-Meier model kaplanmeierfitter.fit(group_data['efs_time'], event_observed=group_data['efs'], label=f'cyto_score {cyto_score}, tbi_status {tbi_status}, graft_type {graft_type}, vent_hist {vent_hist}') # Plot the survival function with a unique color for each group kaplanmeierfitter.plot_survival_function(color=plt.cm.tab10(group_data['cyto_score'] % 10)) # Using colormap for variety # Customize the plot plt.title('Kaplan-Meier Survival Curve') plt.xlabel('Time (months)') plt.ylabel('Survival Probability') plt.legend() plt.show()2 نقاط
-
2 نقاط
-
2 نقاط
-
السلام عليكم انا هنا مش عاوز الكود ده يشتغل الا بعد ما الحلقه ماتخلص plt.title(f'Kaplan-Meier Curve for Cyto_Score {cyto_score}') plt.xlabel('Time (months)') plt.ylabel('Survival Probability') plt.tight_layout() plt.show() ودي الحلقه إنشاء كائنات Kaplan-Meier لكل متغير kaplanmeierfitter_cyto = KaplanMeierFitter() kaplanmeierfitter_tbi = KaplanMeierFitter() kaplanmeierfitter_graft = KaplanMeierFitter() kaplanmeierfitter_vent = KaplanMeierFitter() # Iterate through each unique combination of 'cyto_score', 'tbi_status', 'graft_type', and 'vent_hist' for (cyto_score, tbi_status, graft_type, vent_hist), indices in data_train.groupby(['cyto_score', 'tbi_status', 'graft_type', 'vent_hist']).groups.items(): # Filter the data based on the current group group_data = data_train.loc[indices] # Fit the Kaplan-Meier model for each feature kaplanmeierfitter_cyto.fit(group_data['efs_time'], event_observed=group_data['efs'], label=f'Cyto_Score {cyto_score}') kaplanmeierfitter_tbi.fit(group_data['efs_time'], event_observed=group_data['efs'], label=f'tbi_status {tbi_status}') kaplanmeierfitter_graft.fit(group_data['efs_time'], event_observed=group_data['efs'], label=f'graft_type {graft_type}') kaplanmeierfitter_vent.fit(group_data['efs_time'], event_observed=group_data['efs'], label=f'vent_hist {vent_hist}') kaplanmeierfitter_cyto.plot_survival_function() هل اقدر اعمل حاجه زي كده1 نقطة
-
يمكن تحريك أمر عرض الرسم البياني خارج الحلقة وهناك طريقتان لتحقيق ذلك يمكنك تحريك أوامر plt خارج الحلقة مباشرة: for (cyto_score, tbi_status, graft_type, vent_hist), indices in data_train.groupby(['cyto_score', 'tbi_status', 'graft_type', 'vent_hist']).groups.items(): group_data = data_train.loc[indices] kaplanmeierfitter_cyto.fit(group_data['efs_time'], event_observed=group_data['efs'], label=f'Cyto_Score {cyto_score}') kaplanmeierfitter_tbi.fit(group_data['efs_time'], event_observed=group_data['efs'], label=f'tbi_status {tbi_status}') kaplanmeierfitter_graft.fit(group_data['efs_time'], event_observed=group_data['efs'], label=f'graft_type {graft_type}') kaplanmeierfitter_vent.fit(group_data['efs_time'], event_observed=group_data['efs'], label=f'vent_hist {vent_hist}') kaplanmeierfitter_cyto.plot_survival_function() plt.title('Kaplan-Meier Curves for All Cyto_Scores') plt.xlabel('Time (months)') plt.ylabel('Survival Probability') plt.tight_layout() plt.show() أو تخزين كل المنحنيات ثم عرضها مرة واحدة في النهاية: plt.figure(figsize=(10, 6)) for (cyto_score, tbi_status, graft_type, vent_hist), indices in data_train.groupby(['cyto_score', 'tbi_status', 'graft_type', 'vent_hist']).groups.items(): group_data = data_train.loc[indices] kaplanmeierfitter_cyto.fit(group_data['efs_time'], event_observed=group_data['efs'], label=f'Cyto_Score {cyto_score}') kaplanmeierfitter_cyto.plot_survival_function(ci_show=False) plt.title('Kaplan-Meier Curves for All Cyto_Scores') plt.xlabel('Time (months)') plt.ylabel('Survival Probability') plt.tight_layout() plt.show() وأرى أنّ الطريقة الثانية أفضل إذا كنت تريد عرض جميع المنحنيات في رسم بياني واحد بشكل أوضح ستحصل على رسم بياني واحد يحتوي على جميع منحنيات البقاء لمختلف قيم Cyto_Score.1 نقطة
-
وعليكم السلام ورحمة الله تعالى وبركاته، في الحقيقة لا يوجد برنامج ثابت للمراجعة يمكن تعميمه على جميع الطلبة، وهذا الأمر في الغالب لا ينجح، لأنّ الظروف اليومية تختلف من شخص إلى آخر، لذا من الأحسن عمل برنامج مرن خاص بك مثلما تفعل الآن مع التركيز مع دروس وشروحات المدرب وعمل الجوانب التطبيقية ورفع المشاريع وفي حال لم تفهم أي جزئية يمكن طرحها علينا وسنجيبك. ولا أنصح بالحفظ وما شابه ذلك، البرمجة لا تحتاج لحفظ ولا تتطلب ذلك على الإطلاق، إنما التعود على البرمجة والتدريب المستمر هو الذي يجعلك تتذكر الأكواد والمفاهيم في حال فهمتها جيدا وطبقت عليها فلن تنساها خاصة إذا كنت تخصص أوقاتا للمراجعة. https://academy.hsoub.com/questions/18294-حل-مشكلة-نسيان-دروس-البرمجة/ https://academy.hsoub.com/questions/12276-مشكل-النسيان/ https://academy.hsoub.com/questions/25392-عندي-مشكلة-في-طريقة-التعلم-وهي-أنني-أنسى-كثيرًا/1 نقطة
-
لديك استخدام غير صحيح ل groupby.groups وفلترة البيانات باستخدام الشروط أي من خلال الفلترة اليدوية للبيانات باستخدام شروط لكل مجموعة والأفضل استخدام الفهارس مباشرة: for (cyto_score, tbi_status, graft_type, vent_hist), indices in data_train.groupby(['cyto_score', 'tbi_status', 'graft_type', 'vent_hist']).groups.items(): group_data = data_train.loc[indices] كما لديك خطأ في استخدام الألوان بسبب التعامل مع سلسلة بدلا من قيمة مفردة group_data['cyto_score'] لذا يمكنك استخدام cyto_score مباشرة: color=plt.cm.tab10(cyto_score % 10) كما أنك تقوم برسم كل المنحنيات على نفس الرسم بدلا من استخدام شبكة وهذا ما تسبب في ازدحام المنحنيات في رسم واحد لذا استخدم شبكة فرعية (subplots) لكل مجموعة fig, axes = plt.subplots(2, 2, figsize=(12, 8)) kaplanmeierfitter.plot_survival_function(ax=axes[row, col]) ثم يمكنك تحديد عدد الفئات التي سيتم رسمها: if i >= len(axes): break وإضافة نطاقات الثقة عند الرسم: kaplanmeierfitter.plot_survival_function(ci_show=True)1 نقطة
-
لدي هذا المشروع اريد برمجة task5 and task7 كيف؟ numerical methods_programming project_first sem_2024_2025_part II_unlocked.pdf1 نقطة
-
يمكنك تقسيم الرسوم البيانية إلى شبكة تحتوي على 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].1 نقطة
-
وعليكم السلام ورحمة الله وبركاته. أولا لنكن متفقين أن كل شخص مختلف عن الأخر في طبيعة المذاكرة والفهم فهناك من يستطيع فهم الدرس من أول مرة وهناك من يفهمه من ثاني مرة وهناك من يجب عليه التكرار اكثر من مرة ليفهم الدرس تماما . وهذا طبيعي فالجميع متفاوتون في القدرات . لهذا بالنسبة إلى تكرار الدروس فهذا يعتمد على فهمك فينبغي عليك تكرار الدرس حتي تتأكد من فهمه 100% فلو فهمته من أول مرة فلاحاجة إلى تكراره مرتين . وتأكد من التطبيق مع المدرب حيث المذاكرة فقط لن تساعدك بل ينبغي التطبيق حتي تترسخ المعلومات لديك . ويمكنك قراءة الإجابات التالية لمزيد من النصائح حول كيفية المذاكرة للدورات :1 نقطة
-
تحليل Kaplan-Meier هو تقنية إحصائية تستخدم لتقدير دالة البقاء وتحليل الوقت حتى حدوث حدث معين، مثل الوفاة أو الشفاء، و نستخدم هذا التحليل بشكل واسع في الأبحاث الطبية لدراسة بقاء المرضى بعد تشخيص مرض أو تلقي علاج، وفي مجالات أخرى مثل الهندسة لتحليل موثوقية الأنظمة، أو في الأعمال لدراسة مدة احتفاظ العملاء بالخدمات، و تعتمد الطريقة على تقسيم البيانات إلى خطوات زمنية بناء على الأوقات التي حدث فيها الحدث المدروس، مع حساب احتمال البقاء عند كل نقطة زمنية، حيث يأخذ Kaplan-Meier في الحسبان البيانات غير المكتملة مثل المرضى الذين خرجوا من الدراسة قبل حدوث الحدث، مما يجعله أداة فعالة لتحليل بيانات البقاء.1 نقطة
-
وعليكم السلام ورحمة الله وبركاته. إن تحليل البقاء باستخدام مؤشر تقدير كابلان ماير هو طريقة إحصائية يتم إستخدامها لتقدير دالة البقاء (Survival Function) لمجموعة من الأفراد أو العينات التي خضعت لدراسة بمرور الوقت. والهدف من هذه الطريقة هو تقدير احتمالية البقاء (Survival Probability) على قيد الحياة حتى فترة زمنية معينة .حيث في بعض الدراسات، مثل دراسات السرطان أو الدراسات السريرية لا يعاني جميع الأفراد من التوقع المستهدف مثل الوفاة أو تدهور الحالة. ويمكنك قراءة المقال التالي لشرح ما هو تحليل البقاء survival analysis و كيف يتم إستخدام تقدير كابلان ماير :1 نقطة
-
تحليل كابلان ماير هو طريقة إحصائية تستخدم لفهم المدة الزمنية حتى حدوث حدث معين مثل المدة التي يبقى فيها العميل مشتركا في خدمة معينة أو المدة الزمنية التي يظل فيها جهاز إلكتروني يعمل قبل أن يحتاج إلى صيانة أو المدة التي يبقى فيها منتج ما في السوق قبل أن يتم إيقافه وغيرها من الأمثلة التي توضح وتحليل كابلان ماير هو جزء من تحليل البقاء وهو إحدى الطرق الأساسية المستخدمة داخل هذا المجال فتحليل البقاء (Survival Analysis) هو الإطار العام الذي يتناول دراسة الزمن حتى حدوث حدث معين (مثل إلغاء الاشتراك، حدوث خطأ تقني، انتهاء مدة منتج) ويشمل طرقا مختلفة لتحليل بيانات البقاء منها منحنيات كابلان ماير ونماذج الانحدار مثل نموذج كوكس (Cox Proportional Hazards Model) وأساليب أكثر تعقيدا تأخذ في الاعتبار تأثير عدة متغيرات وتحليل كابلان هو واحدة من الأدوات المستخدمة داخل تحليل البقاء يمكنك دراسة المزيد من هنا:1 نقطة
-
السلام عليكم لدي مشكلة لم اجد لها حل و هي عند ربط لابتوبي على شاشة مونيتور تظهر شاشة سوداء في شاشة المونيتور و لايظهر لي محتوى اللابتوب على الشاشة مع العلم اني استخدمت نفس اللابتوب و نفس الكيبل على شاشة عادية (شاشة المنزل) عرض محتوى اللابتوب عليها ممكن حلول لحل هذه المشكلة مع العلم ان شاشة تعرض محتوى اللابتوب على منفذ VGA و لكن لا تعرض على منفذ HDMI1 نقطة
-
1 نقطة
-
لدي مشكلة من ناحية شرط حفظ المشاريع, حيث انني لم اعلم بهذا الشرط الا متاخرا, لكن يوجد لدي تعليقات تثبت تطبيقي ومتابعتي وتطبيقات خارج مسار الدورة تثبت فهمي1 نقطة
-
1 نقطة
-
يمكن للمبرمجين الاستفادة من مهاراتهم التقنية في مجالات متعددة يمكن لشخص مثلا يدرس إدارة الأعمال أن يستخدم مهارات البرمجة لتطوير تطبيقات تساعد في تحليل البيانات أو تحسين العمليات وغيرها. بالنسبة لدراسة العلوم الشرعية فهذا الأمر يختلف في حالة ما أنك تريد دراستها في الجامعة أو في معهد خارجي أو بشكل حر، ويعتمد عليك أنت وعلى التوقيت الذي تقدمه لها، وبرنامجك الزمني، أما بالنسبة للعمل كمبرمج فهو أيضا مسألة تحتاج توضيحا إن كنت تعمل عملا حرا، أو تعمل في إطار وظيفة معينة، عمومية أو خاصة، وأنت الوحيد القادر على تحديد ما يمكنك فعله وما لا تستطيعه بناء على برنامجك. كمبرمج مستقل لو كان لي خيار دراسة العلم الشرعي لفعلت ذلك ولكن ليس في الجامعة لأني تخصصت في تخصص آخر، ولكن التخصص في تخصص تقني أو أدبي غير الشريعة لا يعني أن الطالب لن يستطيع أخذ العلوم الشرعية فالعديد من العلماء والشيوخ والدعاة هم لم يكونوا يوما خريجي مدارس وجامعات.1 نقطة
-
لا يوجد أي طريقة مضمنة مباشرة للحصول على قيمة P-value أو فترات الثقة، لكن يمكن الحصول عليها من خلال استخدام مكتبات أخرى مثل statsmodels أو عن طريق حساب هذه القيم يدويا، يمكن نقل النموذج أو البيانات إلى مكتبة مثل statsmodels للحصول على الإحصاءات المطلوبة مثل P-value، معاملات الثقة، والخطأ المعياري ثم يمكن حساب هذه القيم يدويا باستخدام مفاهيم الإحصاء (مثل الخطأ المعياري والاحتمالات التوزيعية)، أو باستخدام مكتبات مثل scipy وnumpy.1 نقطة
-
السلام عليكم كنت اتسائل عن سؤال يدور في ذهني يجب على جميع المبرمجين عند قيامهم ببرمجة مشروع موقع ان يتم تأمينه من جميع النواحي وفلتره الطلبات وغيرها الان اريد فقط مالذي احتاج اضافته في التحقق من المستخدم هل token ام الكوكيز ام uuid الخاص بـuser id او csrf وكيفية التعامل مع devise في Ruby on Rails ؟1 نقطة
-
للتحقق من المستخدم، هناك عدة استراتيجيات، منها JWT عبارة عن معيار مفتوح يستخدم لنقل البيانات بين الأطراف ككائن JSON مضغوط وآمن، بحيث تستخدم JWT لتأمين API ةيحصل المستخدم على رمز JWT بعد تسجيل الدخول، ويجب عليه إرسال هذا الرمز مع كل طلب لاحق. بعد ذلك يوجد الكوكيز هي ملفات صغيرة تُخزن على جهاز المستخدم وتُستخدم لتخزين معلومات الجلسة، وعند تسجيل الدخول، يمكن تخزين معرف الجلسة في الكوكيز، ويتم إرسال الكوكيز مع كل طلب إلى الخادم للتحقق من الجلسة. ويتوفر UUID هو معرف فريد يمكن استخدامه لتعريف المستخدمين بشكل آمن وفريد، وتُخزن UUID في قاعدة البيانات ويُستخدم لتعريف المستخدمين في التطبيقات. أما CSRF هو نوع من الهجمات التي تُجبر المستخدم على تنفيذ إجراءات غير مرغوب فيها على موقع ويب آخر يتمتع فيه المستخدم بالتصديق، والإعتماد على CSRF tokens هو آلية شائعة لمنع تلك الهجمات. وDevise هو حل كامل لمصادقة المستخدمين في تطبيقات Rails، بحيث يوفر Devise العديد من الميزات الجاهزة مثل التسجيل، تسجيل الدخول، استعادة كلمة المرور، تأكيد الحساب، وغيرها، تستطيع تثبيته كالتالي: إضافته إلى ملف gem: gem 'devise' ثم تثبيت Devise: rails generate devise:install بعد التثبيت، ستحتاج إلى اتباع التعليمات التي تظهر على الشاشة لتكوين Devise وإعداد البريد الإلكتروني لإرسال روابط تأكيد الحساب واستعادة كلمة المرور. وفي حال تقوم بإنشاء تطبيق جديد، فتستطيع إنشاء نموذج المستخدم باستخدام Devise: rails generate devise User ثم ترحيل قاعدة البيانات: rails db:migrate بعد ذلك إضافة مصادقة إلى عناصر التحكم من خلال before_action لحماية مساراتك: class ApplicationController < ActionController::Base before_action :authenticate_user! end و Rails يوفر حماية مدمجة ضد هجمات CSRF، لأنه يتم تضمين CSRF tokens تلقائيًا في النماذج والطلبات AJAX. ولو تحتاج استخدام JWT مع Devise، فهناك gem مثل devise-jwt ستوفر لك JWT مع Devise.1 نقطة