使用 WEKA 对 arff 文件格式的数据集进行分类问题。
我想在我的数据集上使用 SMOTE,因为我有类别不平衡;然而,每当我这样做时,它都会为其中一些新的合成实例生成“不可能”的属性值。例如,属性“number_of_bedrooms”不能是浮点值,但应用 SMOTE 后,某些值将是 3.5 等。
我想在 WEKA 中应用某种过滤器,以便该特定属性只能是整数。我需要离散化这个属性吗?这对于房间数量这样的属性合适吗?
如果我进行离散化,这是否应该是集合中数据中每个房间数一个箱子,即 1、2、3、4 或 5 间卧室各一个箱子?或者是否应该考虑目标类别信息(更像是 1、2-3,然后 4+ 卧室)来帮助分类?
我尝试过应用以下过滤器: (注意:除非下面指定,否则所有设置均为默认设置。我使用的是 GUI,而不是在终端中编码,此处的格式需要将行设置为代码/块引用)
weka.filters.unsupervised.attribute.Discretize
binRangePrecision = 0
bins = 10(这是默认的,但我不知道是否要更改它)
findNumBins = Trueweka.filters.unsupervised.attribute.NumericToNominal
weka.filters.supervised.attribute.Discretize
binRangePrecision = 0
非常感谢任何帮助。 抱歉,如果其他地方有人问过这个问题,我对此很陌生!
谢谢
您可以使用 weka.filters.unsupervised.attribute.NumericToNominal 过滤器将您的 number of rooms 数字属性转换为名义属性。该过滤器只是将数字转换为字符串表示形式,以用作标称属性的标签。