我正在执行分类问题。
假设这是我的训练和测试数据集。
X_train.shape y_train
(7500, 5760) (7500,)
x_test.shape y_test
(2500, 5760) (2500,)
使用knn分类器后,我的准确度为0.74%。
现在我要选择前1000个功能,然后再次使用knn并检查我的准确性。
我如何使用SelectKBest
?
from sklearn.feature_selection import SelectKBest, chi2
k_best = SelectKBest(chi2, k=1000)
我是否必须适合并转换训练和测试数据集。
如果我这样做,会不会在训练中选择的功能与在测试中选择的功能不同?
我不知道如何进行?请提供示例。