我有两个数据集,一个用于训练,另一个用于测试:
训练数据具有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/