我正在尝试使用多种技术在python中执行功能选择。我尝试应用的第一种技术是仅使用特征的变化来选择特征。我的代码如下:
def feature_selection_technique(train, test, lbls, technique):
if technique == "variance":
sel = VarianceThreshold(threshold=(0.00010 * (1 - .15)))
model1 = sel1.fit_transform(face_train)
new_train = model1.transform(train)
new_test = model1.transform(test)
return new_train, new_test
实际上,我想使用训练数据集来计算所选要素,然后将其应用于测试数据集。在这种情况下,似乎无法转换方法。在这种情况下我该怎么办?
最佳答案
我认为您使用的语法有问题。请参阅文档和示例here。正确的语法如下:
def feature_selection_technique(train, test, lbls, technique):
if technique == "variance":
sel = VarianceThreshold(threshold=(0.00010 * (1 - .15)))
new_train=sel.fit_transform(train)
new_test = sel.transform(test)
return new_train, new_test
也就是说,您应该初始化
sel
,然后将其适合训练数据并进行转换,然后转换测试数据。关于python - Python中的功能选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44946001/