[英]Regression model to predict student's grade in 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')
假設我們只有以下變量:
年齡 性別 郵政編碼 等級 20 F 3191 89.6 20 M 3930 99 20 F 3126 99.2 21 M 3910 94.65
並且新數據可以是具有相同數量變量的任何東西。
輸出類似於: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')
確保所有非數字列都是因子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.