Я получил большую базу данных, я распался в году и создал на поезде и испытание для каждого соответствующего годаПрименение функции к списку и выводу результатов
#split the dataset into a list of datasets
Y <- split(dat_all, dat_all$year)
#create a train and test dataset for all years
#takes Y is inp
create_sets <- function(x){
train_set <- sample(2, nrow(x), replace = TRUE, prob = c(0.7, 0.3))
train <- x[train_set == 1, ]
test <- x[train_set == 2, ]
assign('x', list(train = train, test = test))
}
Ylist <- lapply(Y, create_sets)
Для вызова каждого элемента из вас используйте Ylist $ '2016' $ train
Я сделал функцию коэффициента точности, которую я могу запускать каждый список по отдельности, но я ищу способ сделать все это в одном, чтобы сохранить огромное количество кода (theres 16 лет данных)
Ниже приведено, как я создаю коэффициент точности в течение одного года
val_train<-Ylist$'2016'$train
val_train$pred<-predict(modf,newdata=Ylist$'2016'$train)
val_train$probs<-exp(val_train$pred)/(1+exp(val_train$pred))
x<-data.frame(rcorr.cens(val_train$probs, val_train$default_flag))
train_AR<-x[2,1]
train_AR
modfull <-ModFit(test)
val_test<-test
val_test$pred<-predict(modf,newdata=test)
val_test$probs<-exp(val_test$pred)/(1+exp(val_test$pred))
x<-data.frame(rcorr.cens(val_test$probs, val_test$default_flag))
test_AR<-x[2,1]
test_AR
AR_Logistic1<-c(train_AR,test_AR,)
AR_Logistic2<-c(train_AR,test_AR) #just in to see if table works
AccuracyRatio<-rbind(AR_Logistic1,AR_Logistic2)
colnames(AccuracyRatio)<-c("Train","Test","All")
AccuracyRatio
Просто для уточнения я пытаюсь запустить через весь мой список через мое отношение точности, а затем выводит AR на каждый год для своего поезда и испытания.
Любая помощь очень ценится
Привет, это все прекрасно работает так я пометил его правильным. Тем не менее, несколько небольших вопросов. В таблице имена каждого года вызывается с помощью x. Это выводит «2008 rcorr.cens.val_train_test.probs..val_train_test.default_flag». есть ли способ просто провести год? – user2902494
Еще одна вещь, которую я сделал. Я также пытаюсь запустить коэффициент точности на весь год, например, тест + поезд. Попробовал добавить это в trainDat <- yearDat $ train testDat <- yearDat $ test trainDat_testDat <-yearDat , а затем добавив в другой раздел для trainDat_testDat, но безуспешно. Любые идеи о том, как я могу это сделать? Ваша помощь действительно оценена! – user2902494
Я знаю, что я отметил, что это правильно, но это было бы очень приятно, но я бы очень признателен за дополнительную помощь. – user2902494