Модель регрессии для прогнозирования оценки ученика в R - PullRequest
0 голосов
/ 12 февраля 2019

Пожалуйста, мне нужна ваша помощь!

У меня есть данные за 2017 год со следующими переменными:

Возраст : Числовой

Пол : Пол Значение M = Мужской, F = Женский, X = Неопределенный / Интерсекс / Не указано

Почтовый индекс : Числовой код

Жилой почтовый индекс : 1 = Крупные города, 2 = Внутренний район, 3 = Внешний регион, 4 = Удаленный и 5 = Очень удаленный Социально-экономический: * 0-99, где 0 низкий Социально-экономический, а 99 высокий *

Школьный код : Числовой код

Уровень образования первогородитель : числовой

образовательный уровень второго родителя : числовой

класс : Числовое значение от 0 до 100

Я бы хотел тренироваться на данных 2017 года, чтобы предсказать оценку ученика в 2018 году (например, если у нас есть ученик, получивший класс 80, а в 2018 году у нас естьстудент с той же вариациейbles или очень похожий, поэтому прогнозируемая оценка должна составлять около 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 312699,2 21 M 3910 94,65

И newdata может быть чем угодно с таким же количеством переменных.

Вывод был примерно таким: 1 2 3 4
20.09547 20.48317 19.82224 20.55038

Но на самом деле желаемый результат - это фактическая оценка для каждого студента из 100!

1 Ответ

0 голосов
/ 12 февраля 2019

То, что вы ищете, - это модель линейной регрессии.В R он вызывается с lm().Вы можете прочитать больше здесь .Вы хотите подобрать модель, прогнозирующую оценку, а затем запустить модель на данных с возрастом, увеличенным на единицу, поскольку, предположительно, это единственный атрибут, который изменится в следующем году.

Предполагая, что выданные находятся в кадре данных, называемом данными, это будет выглядеть примерно так:

model <- lm(Age~., data=data)

nextYear <- data
nextYear$Age <- nextYear$Age + 1
results <- predict(model, newdata=nextYear, type='response')

Убедитесь, что все нечисловые столбцы являются факторами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...