如何在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个功能:)