作者:中华医学网发布时间:2025-06-12 08:25浏览: 次
作者:中华医学网
from sklearn.metrics import roc_auc_score, confusion_matrix, f1_score # 假设y_true为实际结局,y_pred_proba为预测概率 auc = roc_auc_score(y_true, y_pred_proba) tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel() sensitivity = tp / (tp + fn) # 灵敏度 specificity = tn / (tn + fp) # 特异度
from lifelines.utils import concordance_index # 假设event_time为生存时间,event_observed为结局事件(1=发生,0=删失) # y_pred_risk为预测风险评分(风险越高,评分越高) c_index = concordance_index(event_time, -y_pred_risk, event_observed) # 负号用于将风险评分转为升序排列,与生存时间正相关
# 使用dca-python包 from dca import dca # 绘制不同阈值下的净获益曲线 dca.plot_dca(y_true, [y_pred_proba, 'all_treat', 'no_treat'], labels=['模型', '全治疗', '不治疗'])