10-кратное перекрестное подтверждение лассо для нескольких предикторов в R - PullRequest
0 голосов
/ 08 марта 2019

Набор данных, с которыми я работаю, может быть получен онлайн. Это набор данных, который содержит 569 наблюдений и 32 переменных. Первый столбец - идентификатор субъекта, второй - метка для экземпляра класса; то есть М (злокачественная опухоль) или В (доброкачественная опухоль). Следующие 30 атрибутов представляют собой действительные входные характеристики (предикторы), которые рассчитываются на основе оцифрованного изображения аспирата тонкой иглы (FNA) массы молочной железы. В наборе данных содержится 357 доброкачественных и 212 злокачественных случаев.

cancerdata <- read.csv("http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/wdbc.data",head=FALSE)

Я уже разбил набор данных на набор для обучения и тестирования, используя следующий код.

set.seed(1245) 

#Split the data into a training set and a test set by randomly selecting 119 observations/instances in your test set. 

sample.size <- floor(0.79086116 * nrow(cancerdata))
train.index <- sample(seq_len(nrow(cancerdata)), size = sample.size)
train.set <- cancerdata[train.index,]
test.set <- cancerdata[-train.index,]

Что мне трудно понять, так это то, как мне выполнить 10-кратную перекрестную проверку с LASSO для этого набора данных, который имеет 30 предикторов. В прошлом я использовал:

cv.lasso <- cv.glmnet(train_set$x2, train_set$y, type.measure="mse", nfolds=10, alpha=1)

Но согласно этому набору данных существует 30 предикторов, поэтому 30 значений x могут принимать. Есть какой-либо способ сделать это? Нужно ли мне создать модель, в которой есть все переменные, а затем провести перекрестную проверку?

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