Я обучил модель (код ниже) на основе набора данных, содержащего данные за 50 периодов (атрибуты), сохранив полученную модель. На тренировке я пытался предсказать поведение Period_50.
Образец набора данных:
Period_1 Period_2 Period_3 Period_4 Period_5 Period_6 Period_7 Period_8
1 Normal Normal Normal Normal Normal Normal Normal Normal
2 Normal Normal Normal Normal Normal Normal Normal Normal
3 Normal Normal Failure Normal Normal Normal Normal Normal
4 Normal Failure Normal Normal Normal Normal Normal Failure
5 Normal Normal Normal Normal Normal Normal Normal Normal
6 Normal Normal Normal Normal Normal Normal Normal Normal
7 Normal Normal Normal Normal Normal Normal Normal Normal
8 Normal Normal Normal Normal Normal Normal Normal Normal
9 Normal Normal Normal Normal Normal Normal Normal Normal
10 Normal Failure Normal Normal Normal Normal Normal Normal
Модель тренировки:
set.seed(123);
partition <- createDataPartition(data_failures$Period_50, p = 0.8, list = F)
trainingSet <- data_failures[partition,]
testingSet <- data_failures[-partition,]
train.control <- trainControl(method = "repeatedcv", number = 10, repeats = 3, classProbs = TRUE, summaryFunction = twoClassSummary)
model <- train(Period_50 ~., data = trainingSet, method = "rf", metric = "ROC", trControl = train.control)
predictions <- predict(model, newdata = testingSet)
print(confusionMatrix(predictions, testingSet$Period_50))
finalModel <- model
saveRDS(finalModel, "./finalModel.rds")
Мой вопрос: Используя обученную модель, могу ли я получить прогнозы только для Period_50 или я могу прогнозировать Period_51? Для этого я должен предоставить модели новый набор данных, содержащий набор данных за 51 период (как представлено ниже)? Но если у меня нет этих данных?
new_data <- read.csv('OUTPUT_NEWDATA.csv', header = TRUE, sep = ",", stringsAsFactors = TRUE)
predictions <- predict(model, newdata = new_data)
print(confusionMatrix(predictions, new_data$Period_51))