WEKA 预处理和预测学生成绩
WEKA Preprocess and Predicting student grade
我正在开发一个应用程序,它根据学生的成绩对每年的成绩进行预测。学生的成绩范围从 70 到 97。我的数据集包含从 1 年级到 5 年级的学生成绩:
GWA1 - 第一年综合加权平均值
GWA2 - 第二年综合加权平均值
依此类推,直到 GWA5
我打算使用 J48 进行预测。
我有不同的问题,
- 我的数据集包含不同的学生年级。如果学生目前是第 4 年,则 GWA4 和 GWA5 为零。是不是应该只收研究生? (拥有GWA1-GWA5的学生)。
- 有些课程最多只提供 4 年。他们数据集中的 GWA5 是 0.
- 程序还需要预测他当年的成绩。例如,对于二年级学生,程序预测 GWA2。对于四年级学生,该程序预测 GWA4。
- 如何预处理数据?我应该将成绩分类为优秀、一般、差等等级标签吗?
示例数据集:
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
最重要的是,您的数据集不是 tidy。列需要转换为行,例如进入这个 table 布局:
student year gpa passed
s1 1 83.6 yes
s1 2 76.4 no
...
我编了 "passed" 列。但这种设计在默认配置下更易于 J48 使用。也就是说,要对分类变量或二进制变量进行分类 - J48 无法处理 "class" 属性(= 待预测属性)中的数值属性。
我不确定您是否也可以使用 J48 预测数值。我认为 weka 和数据集需要做很多调整。
检查自定义对话框,阅读文档,然后 google "classification by regression"。或者更好的是,使用 LinearRegression 分类器而不是 J48。
无论如何,在 "Filter" 面板中,您需要添加 "AddClassification" supervised-instance-filter,然后将其 "Output Classifications" 选项设置为 True。
我正在开发一个应用程序,它根据学生的成绩对每年的成绩进行预测。学生的成绩范围从 70 到 97。我的数据集包含从 1 年级到 5 年级的学生成绩: GWA1 - 第一年综合加权平均值 GWA2 - 第二年综合加权平均值 依此类推,直到 GWA5
我打算使用 J48 进行预测。
我有不同的问题,
- 我的数据集包含不同的学生年级。如果学生目前是第 4 年,则 GWA4 和 GWA5 为零。是不是应该只收研究生? (拥有GWA1-GWA5的学生)。
- 有些课程最多只提供 4 年。他们数据集中的 GWA5 是 0.
- 程序还需要预测他当年的成绩。例如,对于二年级学生,程序预测 GWA2。对于四年级学生,该程序预测 GWA4。
- 如何预处理数据?我应该将成绩分类为优秀、一般、差等等级标签吗?
示例数据集:
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
最重要的是,您的数据集不是 tidy。列需要转换为行,例如进入这个 table 布局:
student year gpa passed
s1 1 83.6 yes
s1 2 76.4 no
...
我编了 "passed" 列。但这种设计在默认配置下更易于 J48 使用。也就是说,要对分类变量或二进制变量进行分类 - J48 无法处理 "class" 属性(= 待预测属性)中的数值属性。
我不确定您是否也可以使用 J48 预测数值。我认为 weka 和数据集需要做很多调整。
检查自定义对话框,阅读文档,然后 google "classification by regression"。或者更好的是,使用 LinearRegression 分类器而不是 J48。
无论如何,在 "Filter" 面板中,您需要添加 "AddClassification" supervised-instance-filter,然后将其 "Output Classifications" 选项设置为 True。