В python с scikit-learn мы помещаем PCA и классификатор в набор обучающих данных, а затем преобразуем набор тестовых данных, используя уже установленные pca и классификатор.
Это пример:
from sklearn.decomposition import PCA
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
# load data
iris = load_iris()
# initiate PCA and classifier
pca = PCA()
classifier = DecisionTreeClassifier()
# transform / fit
X_transformed = pca.fit_transform(iris.data)
classifier.fit(X_transformed, iris.target)
# predict "new" data
# (I'm faking it here by using the original data)
newdata = iris.data
# transform new data using already fitted pca
# (don't re-fit the pca)
newdata_transformed = pca.transform(newdata)
# predict labels using the trained classifier
pred_labels = classifier.predict(newdata_transformed)
Вы должны применить ту же логику к weka: применить встроенный pca-фильтр к тестовым данным, а затем выполнить предсказания для pca-преобразованного тестового набора. Вы можете проверить следующую тему weka:
Анализ основных компонентов на Weka