我构建了一个具有13个特征(没有二进制特征)的分类器,并使用scikit工具(Normalizer()。transform)为每个样本单独标准化。
当我做出预测时,它会将所有训练集预测为正数,将所有测试集预测为负数(无论是正数还是负数)
我应该在分类器,功能或数据中关注什么异常???
注意:1)我将测试和训练集(每个样本单独)标准化。
2)我尝试了交叉验证,但性能相同
3)我使用了SVM线性和RBF内核
4)我试过没有正常化。但同样糟糕的结果
5)我有相同数量的阳性和阴性数据集(每个400个)和34个阳性样本和1000个阴性测试集样本。
答案 0 :(得分:1)
如果您正在对平衡数据进行培训,那么“它预测所有训练集都是正面的”这一事实可能足以得出结论:出现了问题。
尝试构建非常简单的东西(例如,具有一个或两个特征的线性SVM)并查看模型以及训练数据的可视化;按照scikit-learn示例:http://scikit-learn.org/stable/auto_examples/svm/plot_iris.html
您的输入数据也可能存在许多影响转换过程的大异常值...
答案 1 :(得分:0)
尝试对训练数据进行特征选择(与测试/验证数据分开)。 整个数据集中的特征选择很容易导致过度拟合。