import numpy as np
from sklearn.metrics import accuracy_score, confusion_matrix, roc_auc_score, roc_curve
n = 10000
ratio = 0.95
n_0 = int((1-ratio) * n)
n_1 = int(ratio * n)
y = np.array([0] * n_0 + [1] * n_1)
y_proba_2 = np.array(
np.random.uniform(0, 0.7, n_0).tolist() +
np.random.uniform(0.3, 1, n_1).tolist()
)
y_pred_2 = y_proba_2 > 0.5
print(f'准确率: {accuracy_score(y, y_pred_2)}')
cf_mat = confusion_matrix(y, y_pred_2)
print('混淆矩阵')
print(cf_mat)
print(f'类别0准确率: {cf_mat[0][0]/n_0}')
print(f'类别1准确率: {cf_mat[1][1]/n_1}')