我目前正在研究机器学习问题,而我必须处理非常不平衡的数据集。也就是说,有六个类('1','2'......'6')。不幸的是,例如对于类'1'150个示例/实例,对于'2'90个实例和对于类'3'仅20个。所有其他类都不能被“训练”,因为这些类没有可用的实例。
到目前为止,我发现WEKA(我正在使用的机器学习工具包)提供了这个受监督的“Resample”过滤器。当我使用'noReplacement'= false和'bialToUniformClass'= 1.0来应用此过滤器时,这将产生一个数据集,其中实例的数量很好并且几乎相等(对于类'1','3'和其他保持空虚)。
我现在的问题是:WEKA和这个过滤器如何为不同的类生成“新”/附加实例。
非常感谢您提供任何提示或建议。
干杯 儒略
答案 0 :(得分:2)
使用WEKA的监督重采样过滤器将实例添加到类中。这通过简单地从类中添加实例来实现,该实例只有少量实例多次到结果数据集。
因此,结果数据集在一个只有少数样本可用的类中具有很强的偏差。
答案 1 :(得分:2)
没有。它正在重新采样现有的实例。如果您有一个第2类实例,并要求重新采样偏差为1.0,则可以预期该实例的N个副本和已有数据的其他类型的N个其他实例。
答案 2 :(得分:1)
尝试预处理中的SMOTE过滤器。
通过为次要类生成新数据来平衡数据集。