اذهب إلى المحتوى

السؤال

نشر

السلام عليكم

انا هنا مش عاوز الكود ده يشتغل الا بعد ما الحلقه ماتخلص 


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()

هل اقدر اعمل حاجه زي كده

Recommended Posts

  • 0
نشر

يمكن تحريك أمر عرض الرسم البياني خارج الحلقة وهناك طريقتان لتحقيق ذلك يمكنك تحريك أوامر 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.

  • 0
نشر
بتاريخ 6 دقائق مضت قال عبد الوهاب بومعراف:

يمكن تحريك أمر عرض الرسم البياني خارج الحلقة وهناك طريقتان لتحقيق ذلك يمكنك تحريك أوامر 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.

انا استخدم الطريقه التاني بس الرسم برد كده  مش عارف ليه 

 

D.png

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...