我有一个生物不平衡数据集,我在其上应用了深度学习、支持向量机(所有核函数)和人工神经网络,用于在 python 中进行多类分类(大小:139 个样本,5 个属性)。不幸的是,准确率不超过 55%。可以做些什么来提高准确性?如果数据集永远无法超过这样的平均准确度,那么解决方案是什么?
可以做些什么来提高生物数据集的准确性?
数据挖掘
分类
深度学习
scikit-学习
多类分类
阶级失衡
2022-03-09 16:48:13
2个回答
对于小训练集的问题,浅层神经网络是错误的方法。对于小型训练集,深度学习甚至更糟。139 个样本严重不足以训练任何深度学习模型,甚至是浅层神经网络。
作为一个非常普遍的经验法则,我为我的数据集中的每个特征使用 100 个示例来进行深度学习。然后,这会随着您期望的每个不同类别而呈指数增长。
我建议您使用机器学习技术,例如 SVM。考虑到数据集的大小,这可能会产生更好的结果。试试这些技术,看看你会得到什么结果:k-NN、内核 SVM、k-means 聚类。
如果你有一个不平衡的数据集,那么你会想要使用可以在单个分布上训练的异常检测算法。您可以了解所需的每个输出类的分布。从那里,可以根据它们适合给定分布的可能性对新示例进行分类。
有很多可能的解释。也许只是代码中的错误,或者也许没有更好的分离可能。使用 SVM 时,功能非常重要,您应该将大部分时间投资于选择/设计它们。“我已应用深度学习”的说法只是含糊其辞,因此我不能给出任何提示。第三,在处理不平衡数据时,您有许多可能的操作。我推荐阅读: 数据分析中的过采样和欠采样
其它你可能感兴趣的问题