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) # 真实标签
# 从总是预测多数类的假设模型中获取的概率值:
# 预测类别 1 的概率为 100%
y_proba = np.array([1]*n) # 全部预测为类别 1 的概率
y_pred = y_proba > 0.5 # 预测结果(全部为 True)
# 输出模型评估结果
print(f'模型准确率: {accuracy_score(y, y_pred)}')
cf_mat = confusion_matrix(y, y_pred)
print('混淆矩阵:')
print(cf_mat)
print(f'类别 0 准确率: {cf_mat[0][0]/n_0}')
print(f'类别 1 准确率: {cf_mat[1][1]/n_1}')