我创建了 3 个类的两个模拟随机数据集。数据集之间的唯一区别是类的频率。
Dataset A: (Class 0 = 300, Class 1 =200, Class 2 = 500)
Dataset B: (Class 0 = 500, Class 1 =500, Class 2 = 500)
两者都是随机数据集,所以我应该期望从逻辑回归模型中混淆每个具有相同频率的类。这意味着在归一化混淆矩阵中,我应该期望所有三个类之间的混淆比例相等。
Confusion matrix of Dataset A
Confusion matrix of Dataset B
我对数据集 A 的期望与数据集 B 相同。但我无法实现。为什么?我在 python 中使用以下命令来运行逻辑回归模型。
log_reg_model = LogisticRegression(C=1,penalty='l1',multi_class='ovr',class_weight='balanced',solver='liblinear')
pipe=Pipeline([('StandardScaler',StandardScaler()), ('logistic_regression',log_reg_model)])
编辑:我正在以下 Dropbox 链接中上传这两个数据集。 https://www.dropbox.com/sh/pkiapvqy3k3f12v/AADpeBJ0XTWA2v9MCjALBcexa?dl=0 第一列是索引,第二列是类id,第三到第五列是类特征。

