如何应用PCA和随机森林训练的模型来测试数据?

问题描述 投票:0回答:1

在解决一个机器学习问题时,我对训练数据实施 PCA,然后使用 sklearn 对训练数据应用 .transform。观察方差后,我仅保留转换数据中方差较大的那些列。然后我使用 RandomForestClassifier 训练模型。现在,我很困惑:由于测试数据和保留的转换数据(应用随机森林)的列数不同,如何将训练好的模型应用于测试数据?

python-2.7 machine-learning scikit-learn random-forest
1个回答
3
投票

如果这是您所寻求的,这里有一种方法...理想情况下,您应该在测试和训练中使用相同数量的主要组件...否则就达不到保留集的目的。

pca = PCA(n_components=20)
train_features = pca.fit_transform(train_data)

rfr = sklearn.RandomForestClassifier(n_estimators = 100, n_jobs = 1, 
                                         random_state = 2016, verbose = 1,
                                         class_weight='balanced',oob_score=True)

rfr.fit(train_features)

test_features = pca.transform(test_data)
rfr.predict(test_features)
© www.soinside.com 2019 - 2024. All rights reserved.