如何在涡扇发动机退化模拟数据集上使用R和主成分分析创建预测模型?

如何在涡扇发动机退化模拟数据集上使用R和主成分分析创建预测模型?,r,machine-learning,dplyr,pca,R,Machine Learning,Dplyr,Pca,我正在尝试根据我的主成分分析创建一个预测模型,我在一个名为涡扇发动机脱拱模拟数据集的数据集上使用了该数据集,或者在本例中称为“通用推进”(General propulsion)()。此数据集包含20个引擎,每个引擎都有一定数量的循环(和其他变量),引擎一直运行到崩溃。(我是一名学生,对Rstudio还没有太多的经验,所以我的代码可能会让我有点混乱) vapply(电机驱动,功能(x)长度(唯一(x))>1,逻辑(1L)) 电机1,逻辑(1L))] 我删除了包含具有相同值的行的所有变量,以清理数

我正在尝试根据我的主成分分析创建一个预测模型,我在一个名为涡扇发动机脱拱模拟数据集的数据集上使用了该数据集,或者在本例中称为“通用推进”(General propulsion)()。此数据集包含20个引擎,每个引擎都有一定数量的循环(和其他变量),引擎一直运行到崩溃。(我是一名学生,对Rstudio还没有太多的经验,所以我的代码可能会让我有点混乱)

vapply(电机驱动,功能(x)长度(唯一(x))>1,逻辑(1L))
电机1,逻辑(1L))]
我删除了包含具有相同值的行的所有变量,以清理数据集,并通过将引擎1-5绑定到测试集,将引擎6-20绑定到火车集,将数据集分为一列和一个测试集

Motor_test <- rbind(Engine1,Engine2,Engine3,Engine4,Engine5)

Motor_train<- rbind(Engine6,Engine7,Engine8,Engine9,Engine10,Engine11,Engine12,Engine13,Engine14,Engine15,Engine16,Engine17,Engine18,Engine19,Engine20)

Motor\u测试您预期的结果是什么?采用什么格式?您好,很抱歉反应太晚。我希望结果是一个模型,告诉我发动机何时处于临界循环水平。数据集中的所有引擎都会一直运行到出现故障,因此我必须创建一个模型,该模型使用其他变量告诉引擎何时需要维护。在这种情况下,我尝试使用PCA来预测这一点。格式可能是闪亮的,也可能只是Excel/CSV文件。我回答你的问题了吗?或者你需要更多的信息吗?干杯看看这个,它会帮你问一些很棒的问题:
Motor_test <- rbind(Engine1,Engine2,Engine3,Engine4,Engine5)

Motor_train<- rbind(Engine6,Engine7,Engine8,Engine9,Engine10,Engine11,Engine12,Engine13,Engine14,Engine15,Engine16,Engine17,Engine18,Engine19,Engine20)
PCA <- prcomp(Motor_train, scale = T)
PCA
plot(PCA, type= "l")
biplot(PCA, scale = 0)

std_dev <- PCA$sdev
pr_var <- std_dev^2
propvarex<- pr_var/sum(pr_var)
plot(propvarex, xlab = "PC", ylab = "prop of var", type = "b")
plot(cumsum(propvarex), xlab = "pca", ylab = "cum prop van var", type = "b")
train.data<- data.frame(Cycle = Motor_train$Cycle, PCA$x)
train.data<- train.data[,1:16]

library(rpart)
rpart.model <- rpart(Cycle ~ ., data = train.data, method = "anova")
rpart.model
test.data<- predict(PCA, newdata = Motor_test)
test.data<- as.data.frame(test.data)
test.data<- test.data[,1:15]

rpart.prediction<- predict(rpart.model, test.data)
head(rpart.prediction)
       1        2        3        4        5        6 
31.74074 31.74074 31.74074 31.74074 31.74074 31.74074