У меня есть две переменные с именами Sa_T1 и Sa_07, оси x и y соответственно, а по оси z у меня есть log_EDPs, я использовал множественную линейную регрессию, чтобы определить следующую взаимосвязь:
log_EDPs = coef_log_Sa_T1 * log_Sa_T1 + coef_log_Sa_07 * log_Sa_07 + intercept
что дает следующие значения: 0,3364, 0,6530, -7,1452 соответственно. теперь я хочу рассчитать AUC и разработал следующий код на основе моего предыдущего кода для случая одной переменной:
Код: Выделить всё
# Coefficients
coef_log_Sa_T1 = 0.3364
coef_log_Sa_07 = 0.6530
intercept = -7.1452
# Predicted log(edp) using the regression model
predicted_log_edp = coef_log_Sa_T1 * log_Sa_T1 + coef_log_Sa_07 * log_Sa_07 + intercept
# log(edp) based on a threshold
threshold_SA = np.log(np.median(log_EDPs))
y_true = (log_EDPs >= threshold_SA).astype(int)
y_pred_binary = (predicted_log_edp >= threshold_SA).astype(int)
y_pred_prob = (predicted_log_edp - predicted_log_edp.min()) / (predicted_log_edp.max() - predicted_log_edp.min())
# Calculate AUC based on predicted probabilities
auc_prob = roc_auc_score(y_true, y_pred_prob)
print(f"AUC (probabilities): {auc_prob}")
Я хотел бы уточнить у вас, правильно ли выполняет расчет код.
Спасибо,
Подробнее здесь: https://stackoverflow.com/questions/790 ... sion-model