Получение «недопустимого типа (списка) для переменной» при подборе модели логистической регрессии - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь согласовать модель логистической регрессии со всеми предикторами данных обучения, но продолжаю получать ошибки.Я получил это:

library(kernlab)
data(spam)

tr_idx = sample(nrow(spam), 1000)
spam_tr = spam[tr_idx,]  # training
spam_te = spam[-tr_idx]  # testing

fit_tr = lm(spam_te ~ spam_tr, data=spam)

, но эта ошибка всегда появляется:

Error in model.frame.default(formula = spam_te ~ spam_tr, data = spam, : 
invalid type (list) for variable 'spam_te'

, и когда я ввожу это:

fit_tr = lm(spam_te ~ spam_tr, data=tri_dx)

я получил еще одну ошибку:

Error in is.data.frame(data) : object 'tri_dx' not found

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

В формуле необходимо указать переменные в модели, а не наборы данных.

lm также является линейной моделью, а не логистической.

0 голосов
/ 03 декабря 2018

Есть несколько проблем с вашим кодом.1. ваша третья строка пропускает кому 2. ваша четвертая строка должна иметь единственный spam_tr, потому что линейная модель сначала подгоняется к тренировочным данным, а затем проверяется на тестовых данных.

tr_idx = sample(nrow(spam), 1000)
spam_tr = spam[tr_idx,]
spam_te = spam[-tr_idx,]
fit_tr = lm(spam_tr , data = spam)

Надеюсь, это поможет.

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