如何将使用 PCA 和随机森林训练的模型应用于测试数据?
How to apply model trained with PCA and Random Forest to test data?
在解决其中一个机器学习问题时,我对训练数据实施 PCA,然后使用 sklearn 对训练数据应用 .transform。观察方差后,我只保留方差较大的转换数据中的那些列。然后我使用 RandomForestClassifier 训练模型。现在,我很困惑如何将经过训练的模型应用于测试数据,因为测试数据的列数和保留的转换数据(应用随机森林)不同。任何解决方案将不胜感激。
谢谢。
如果这就是你想要的,这里有一种方法......理想情况下,你应该在测试和训练中使用相同数量的主要组件......否则会破坏保留集的目的.
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)
在解决其中一个机器学习问题时,我对训练数据实施 PCA,然后使用 sklearn 对训练数据应用 .transform。观察方差后,我只保留方差较大的转换数据中的那些列。然后我使用 RandomForestClassifier 训练模型。现在,我很困惑如何将经过训练的模型应用于测试数据,因为测试数据的列数和保留的转换数据(应用随机森林)不同。任何解决方案将不胜感激。
谢谢。
如果这就是你想要的,这里有一种方法......理想情况下,你应该在测试和训练中使用相同数量的主要组件......否则会破坏保留集的目的.
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)