WEKA预处理和预测学生成绩

时间:2016-07-10 18:05:47

标签: machine-learning classification regression weka

我正在开发一个根据学生成绩对每年进行预测的应用程序。学生的成绩从70到97不等。我的数据集包含从第1年到第5年的学生成绩: GWA1 - 第一年一般加权平均值 GWA2 - 第二年一般加权平均值 等等,直到GWA5

我计划使用J48进行预测。

我有不同的问题,

  1. 我的数据集包含不同的学生年级。如果学生目前处于第4年,则GWA4和GWA5为零。我应该只接受毕业的学生吗? (拥有GWA1-GWA5的学生)。
  2. 课程仅提供长达4年的课程。他们的数据集中的GWA5为0。
  3. 该计划还需要预测当年的成绩。例如,对于第二年的学生,该程序预测GWA2。对于四年级学生,该计划预测GWA4。
  4. 如何预处理数据?我应该将等级分类为等级标签,例如优秀,平均,差吗?
  5. 示例数据集:

    GWA1     GWA2     GWA3     GWA4     GWA5
    83.6     87.5     90.2     89.1     91.2
    76.4     78.2     77.6     80.9     79.4
    93.6     91.5     92.7     91.1     92.7
    

1 个答案:

答案 0 :(得分:0)

最重要的是,您的数据集不是tidy。列需要转换为行,例如进入这个表布局:

student year gpa passed s1 1 83.6 yes s1 2 76.4 no ...

我做了“通过”专栏。但是这种设计在J48的默认配置中更容易使用。也就是说,对分类或二元变量进行分类 - J48无法处理“class”属性中的数字属性(= To Be Predicted属性)。

我不确定你是否也能用J48预测数值。我认为weka和数据集需要进行相当多的调整。

检查自定义对话框,阅读文档和google“按回归分类”。或者更好的是,使用LinearRegression分类器而不是J48。

无论如何,在“过滤器”面板中,您需要添加“AddClassification”监督实例过滤器,然后将其“输出分类”选项设置为True。