我最初有一个维度 (13961,48) 的数据,经过一次热编码和基本的数据按摩之后,在 (13961,862) 周围观察到维度。数据不平衡,两类“保留”约为 6%,“未保留”约为 94%。
在运行任何算法(如逻辑、knn、决策树、随机森林)时,即使没有执行任何特征选择过程,数据也会产生非常高的准确率,并且除了“朴素偏差分类器”之外,准确率大多超过 94%。
这似乎很奇怪,甚至随机具有任意两个特征-> 提供超过 94% 的准确度,这通常看起来不现实。
也应用 SMOTE,即使对于上述任何算法的基线模型,如逻辑、knn、决策树、随机森林、
去除前 20 个特征后,这给出了超过 94% 的良好结果的准确率(检查了解真实性)
g = data[Target_col_Y_name]
df = pd.concat([g.value_counts(),
g.value_counts(normalize=True).mul(100)],axis=1, keys=('counts','percentage'))
print('The % distribution between the retention and non-retention flag\n')
print (df)
# The code o/p to show the imbalance is
The % distribution between the retention and non-retention flag
counts percentage
Non Retained 13105 93.868634
Retained 856 6.131366
我的数据有 7 个数值变量,例如月份、金额、利率和所有其他变量(大约 855)作为单热编码转换的分类变量。
有什么方法可以处理此类关于基线、特征选择或不平衡优化技术的数据?请通过查看每个级别的维度和不平衡计数来指导。