如何在MATLAB中使用神经网络进行主成分分析?

如何在MATLAB中使用神经网络进行主成分分析?,matlab,machine-learning,neural-network,pca,Matlab,Machine Learning,Neural Network,Pca,此处使用的变量: trainX: 1818x13 (Input Matrix with 13 features) trainY: 1818x1 (Output Vector) testX and testY are corresponding variables for testing the neural network. 现在,我想使用PCA来减少输入特征的数量,因为我怀疑一些特征之间有一定程度的相关性。因此,我编写以下代码 [pn,meanp,stdp] = prestd(trainX

此处使用的变量:

trainX: 1818x13 (Input Matrix with 13 features)
trainY: 1818x1  (Output Vector)
testX and testY are corresponding variables for testing the neural network.
现在,我想使用PCA来减少输入特征的数量,因为我怀疑一些特征之间有一定程度的相关性。因此,我编写以下代码

[pn,meanp,stdp] = prestd(trainX');
[ptrans,transMat] = prepca(pn,0.0002);

trainX = ptrans';

[pn,meanp,stdp] = prestd(testX');
[ptrans,transMat] = prepca(pn,0.0002);
testX = ptrans';

net = newfit(trainX', trainY', 45);
net.performFcn = 'mae';
net = trainlm(net, trainX', trainY');

forecast = sim(net, testX')';

在应用PCA后,
预测
中出现了巨大错误。我知道我做错了什么,但我不知道是什么。

尝试在应用PCA转换后拆分trainX和testX中的数据…非常感谢。我试过了,效果很好。虽然错误稍微多了一点,但我只介绍了6个功能:)