我有一个具有以下规格的数据集:
- 训练193,176个样本的数据集,具有2,821个阳性
- 包含82,887个样本和673个阳性样本的测试数据集
- 有10个功能。
我想执行一个二进制分类(0或1)。我面临的问题是数据非常不平衡。在对数据进行归一化和缩放以及一些特征工程并使用几种不同的算法之后,这些是我可以实现的最佳结果:
mean square error : 0.00804710026904
Confusion matrix : [[82214 667]
[ 0 6]]
即只有6个正确的正面命中率。这是使用逻辑回归。这是我尝试过的各种方法:
- 不同的算法,例如RandomForest,DecisionTree,SVM
- 更改参数值以调用函数
- 一些基于直觉的要素工程以包含复合要素
现在,我的问题是:
- 我该怎么做才能增加正面的点击次数?
- 在这种情况下,如何确定是否存在过度拟合?(我曾尝试绘图等。)
- 在什么时候可以得出结论,也许这可能是我所能做到的最佳选择?(考虑到673中只有6个匹配项,这似乎很可悲)
- 有没有办法使正样本实例更重,从而提高模式识别能力并导致更多匹配?
- 哪些图形化图可以帮助检测离群值或关于哪种模式最适合的直觉?
我将scikit-learn库与Python一起使用,并且所有实现都是库函数。
编辑:
以下是一些其他算法的结果:
随机森林分类器(n_estimators = 100)
[[82211 667]
[ 3 6]]
决策树:
[[78611 635]
[ 3603 38]]