我有两个数据集,一个用于训练,另一个用于测试:


训练数据具有X_train.shape = (5000, 30)y_train.shape = (5000, 1)
测试数据仅具有X_test.shape = (5000, 30)


在训练中,我应用了特征选择(SelectKBest()),从而得到了新的形状(5000, 10)

问题始于测试数据:没有输出,因此我无法应用SelectKBest(),因为它需要y_test。给定训练数据的新形状和新功能,我该如何重塑测试数据?

最佳答案

过度考虑sklearn变压器很容易。在您询问的评论中


  我可以使用get_support(True)获取索引值...


太累了!
尝试

best=SelectKBest(*args).fit(X_train,y_train)
new_train=best.transform(X_train)
new_test=best.transform(X_test)


使用tfidftransformer或standardscaler的方式相同

关于python - 如何在Sklearn中重塑测试数据? (功能选择),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60085588/

10-11 07:40
查看更多