我想使用PCA进行降维,然后将其输出用于Python中的单类SVM分类器。我的训练数据集规模为16000×60。另外,如何将主成分映射到原始列以便在SVM中使用,或者我可以直接使用主成分吗?
回答:
不清楚您的问题是什么,以及您已经尝试了什么。当然可以,您可以将PCA的输出添加到原始数据集中,或者直接使用输出作为单一特征。我建议您使用sklearn的管道(pipelines)。
简单示例:
from sklearn import decomposition, datasets
from sklearn.pipeline import Pipeline
from sklearn import svm
svc = svm.SVC()
pca = decomposition.PCA()
pipe = Pipeline(steps=[('pca', pca), ('svc', svc)])
digits = datasets.load_digits()
X_digits = digits.data
y_digits = digits.target
pipe.fit(X_digits, y_digits)
print(pipe.score(X_digits,y_digits))