通过/未通过学校等级二年级分类

我正在使用Weka进行数据挖掘。我的数据考虑的是学校成绩( 0和20)。我希望按二进制分类对成绩建模(即,如果成绩> = 10,则为“通过”,否则为“失败”)。但是,当我在Weka中使用离散化并进行分箱(通过定义2个分箱)时,值= 10转到较低的分箱(失败组)。我希望values = 10成为上层bin(通过组)的一部分。我该如何解决这个问题?

q276941897 回答:通过/未通过学校等级二年级分类

MathExpression过滤器将起作用。

示例arff文件,其中y和y2只是重复的,所以我可以将y2和x转换为另一个属性:

@relation so_2020-04-01

@attribute x numeric
@attribute y numeric
@attribute y2 numeric

@data
0.32789,12,12
0.932754,8,8
0.750824,20,20
0.601161,17,17
0.867985,2,2
0.469246,19,19
0.570984,10,10
0.82686,18,18
0.536315,6,6
0.878526,15,15
0.318298,7,7
0.278011,5,5
0.78302,4,4
0.557255,1,1
0.510926,3,3
0.429421,13,13
0.642457,9,9
0.227804,11,11
0.655531,16,16
0.41444,14,14

设置MathExpression:

enter image description here

应用后,y2现在有1个通过和0个失败,以10为切入点。

@relation 'so_2020-04-01-weka.filters.unsupervised.attribute.MathExpression-Eifelse(A>10,0)-Rfirst,2-unset-class-temporarily'

@attribute x numeric
@attribute y numeric
@attribute y2 numeric

@data
0.32789,1
0.932754,0
0.750824,1
0.601161,1
0.867985,0
0.469246,1
0.570984,0
0.82686,1
0.536315,0
0.878526,1
0.318298,0
0.278011,0
0.78302,0
0.557255,0
0.510926,0
0.429421,1
0.642457,0
0.227804,1
0.655531,1
0.41444,1

如果您希望类变量是名义变量而不是数字变量,则可以使用NumericToNominal过滤器。

本文链接:https://www.f2er.com/2545273.html

大家都在问