r - R中预测学生成绩的回归模型
问题描述
拜托我需要你的帮忙!
我有 2017 年的数据,其中包含以下变量:
年龄:数字
性别:性别值 M=男性,F=女性,X=不确定/双性人/未指定
邮政编码:数字代码
住宅邮政编码:1 = 主要城市,2 = 内区,3 = 外区,4 = 偏远和 5 = 非常偏远 社会经济:*0-99,其中 0 为低社会经济,99 为高 *
学校代码:数字代码
第一父母的教育程度:数字
第二父母的教育程度:数字
等级:0到100之间的数字
我想对 2017 年的数据进行训练,以预测学生在 2018 年的成绩(例如,如果我们有一个学生的成绩为 80,而在 2018 年,我们有一个学生的变量相同或非常相似,所以预测的成绩应该接近 80)
///////////////////////////////////////// //////////////////////////
谢谢你,生机勃勃!我已经使用了你的脚本,我得到了结果!这是我使用的脚本和数据:
data<-read.csv("Olddata.csv")
newdata<-read.csv("Newdata.csv")
model <- lm(Age~., data=data)
nextYear <- data
nextYear$Age <- nextYear$Age + 1
results <- predict(model, newdata=nextYear, type='response')
假设我们只有以下变量:
年龄 性别 Postal.Postcode Grade 20 F 3191 89.6 20 M 3930 99 20 F 3126 99.2 21 M 3910 94.65
并且 newdata 可以是具有相同数量变量的任何东西。
输出类似于:1 2 3 4
20.09547 20.48317 19.82224 20.55038
但实际上,我想要的输出是 100 分中每个学生的实际成绩!
解决方案
您正在寻找的是线性回归模型。在 R 中,它使用lm()
. 你可以在这里阅读更多。您需要拟合一个预测成绩的模型,然后在年龄递增 1 的数据上运行该模型,因为据推测,这是明年唯一会改变的属性。
假设您的数据位于名为 data 的数据框中,它看起来像这样:
model <- lm(Age~., data=data)
nextYear <- data
nextYear$Age <- nextYear$Age + 1
results <- predict(model, newdata=nextYear, type='response')
确保所有非数字列都是因子。
推荐阅读
- c++ - 当超出 BeginPlay 函数 Unreal Engine 的范围时,成员变量失去值 c++
- android - 是否可以将非抽象 ViewModel 转换为扩展它的另一个 ViewModel?
- maven - 无法解析 mojo org.owasp:dependency-check-maven:5.2.4:check 的配置
- php - 获取特定分类术语的高级自定义字段组
- python - 如何在数据集上创建、训练和打印 RandomForestClassifer 的结果
- r - 如何从动物园对象中获取特定时间的所有日期?
- ruby-on-rails - 在 Rails 中制作可选控制器需要包含哪些模块?
- ios - 从 macOS 上的 Cocoa 应用程序访问 iOS 设备
- google-cloud-functions - 将 TensorflowJS 模型保存到 Firebase 存储的最佳实践?
- python - 将单例矩阵的熊猫数据帧转换为数字数据帧