我在WEKA中使用SMOTE过滤器来平衡数据
我对这两个参数nearestNeighbors
和percentage
有疑问。
nearestNeighbors - 要使用的最近邻居数 percentage - 要创建的SMOTE实例的百分比。
我应该如何设置它们?
我认为邻居的数量是它要创建的同步样本的数量 那么百分比的含义是什么?它应该小于或等于邻居的数量,对吧?是否考虑了合成样本的百分比?
例如:
如果我把10个邻居和200%会发生什么?
谁能给我一些正确使用的例子?
答案 0 :(得分:5)
nearestNeighbors
参数表示使用多少个最近邻居实例(当前考虑的实例周围)来构建inbetween合成实例。默认值为5.因此,实际现有实例的5个最近邻居的属性用于计算新的合成实例。
percentage
参数表示根据具有较少实例的类的数量创建了多少个合成实例(默认情况下,您也可以通过设置-C
选项来使用多数类)。默认值为100.这意味着如果您的少数类中有25个实例,则再次从这些实例中创建25个实例(使用它们最近邻居的值)。创建了200%的50个合成实例,依此类推。
有关详细信息,请参阅weka doc of SMOTE和original paper of Chawla et al. 2002,其中深入介绍了整个方法。
对我而言,Weka SMOTE似乎只对实例进行过采样。因此,您可以使用受监督的SpreadSubsample过滤器,然后对少数群体类实例进行欠采样。
答案 1 :(得分:1)
如果你有两个类,并希望每个类中的数字相等,则需要将大类中的样本数除以较小类中的样本数。取其中的小数部分并乘以100.这是你的P参数。