我正在尝试使用多种技术在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/

10-12 17:03