Как применить тот же PCA для обучения и тестирования набора - PullRequest
1 голос
/ 31 марта 2019

Я применяю PCA для своего поезда и хочу, например, провести классификацию с SVM. Как я могу автоматически использовать те же функции в наборе тестов? (так же, как новый поезд после PCA).

1 Ответ

0 голосов
/ 31 марта 2019

В 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

...