Я ищу контролируемый PCA, чтобы уменьшить размерность моих данных. Для этого случая сначала мне нужно приспособить контролируемый PCA к данным обучения, а затем преобразовать данные испытаний с помощью pca, который ранее я использовал для данных обучения. Я нашел библиотеку superpc по этой ссылке . Тем не менее, для этого кода я не могу получить сокращенные данные обучения с PCA.
library(superpc)
set.seed(464)
x<-matrix(rnorm(1000*100),ncol=100)
v1<- svd(x[1:80,])$v[,1]
y<-2+5*v1+ .05*rnorm(100)
xtest<-x
ytest<-2+5*v1+ .05*rnorm(100)
censoring.status<- sample(c(rep(1,80),rep(0,20)))
censoring.status.test<- sample(c(rep(1,80),rep(0,20)))
featurenames <- paste("feature",as.character(1:1000),sep="")
data<-list(x=x,y=y, censoring.status= censoring.status, featurenames=featurenames)
data.test<-list(x=xtest,y=ytest, censoring.status=censoring.status.test, featurenames= featurenames)
train.obj<- superpc.train(data, type="survival")
fit.cts<- superpc.predict(train.obj, data, data.test, threshold=0.7, n.components=3, prediction.type="continuous")
View(fit.cts$v.pred)
Также я не уверен, что fit.cts<- superpc.predict(train.obj, data, data.test, threshold=0.7, n.components=3, prediction.type="continuous")
возвращает сокращенную версию test.data или обучающих данных.