Python 基于Keras的几个类别分类

Python 基于Keras的几个类别分类,python,conv-neural-network,Python,Conv Neural Network,假设我有6个不同的类别,我试图用神经网络将我的数据分类。对于培训来说,每个课程都有相同数量的实例有多重要?目前我一个班有50英镑,另一个班有6英镑,另一个班有300英镑。。你明白了。这个问题有多大?我想我可能会取消一些代表性较低的类,但我不确定什么是好的截止值,或者它是否真的很重要。不平衡的数据通常是机器学习的一个问题。尤其是当类严重不平衡时(例如在您的案例中)。简而言之,该算法无法学习所有类的特征和类别之间的正确关联。它很可能会错过规则,或者过于依赖多数阶级。请查看imblearn软件包。不平

假设我有6个不同的类别,我试图用神经网络将我的数据分类。对于培训来说,每个课程都有相同数量的实例有多重要?目前我一个班有50英镑,另一个班有6英镑,另一个班有300英镑。。你明白了。这个问题有多大?我想我可能会取消一些代表性较低的类,但我不确定什么是好的截止值,或者它是否真的很重要。

不平衡的数据通常是机器学习的一个问题。尤其是当类严重不平衡时(例如在您的案例中)。简而言之,该算法无法学习所有类的特征和类别之间的正确关联。它很可能会错过规则,或者过于依赖多数阶级。请查看
imblearn
软件包。不平衡数据的一般解决方案是:

  • 减少多数类的样本数(减少多数类中的样本数/实例数以匹配少数类之一)
  • 向上采样少数类(寻找SMOTE/合成少数类过采样技术。这会增加少数类中的样本数量,以匹配某些数量(例如,多数类)
  • 两者的结合
  • 删除表示性非常低的类(这不是最好的主意,但在某些情况下是合理的)。如果增加采样,300可能仍然可用,但可能并不理想
  • 其他考虑因素包括更改您的性能指标,以包括精度/召回率,而不是准确性(例如)


    这将提供一些可能有用的进一步示例

    我已将多数类样本减少到3k样本。少数类样本使用重新定向进行了增加采样。例如将矩阵旋转90度、180度和270度,然后进行转置并再次旋转。因此,这是8x增加采样的可能性。现在一切都在3k左右。