python 中的特征选择
Feature selection in python
我正在尝试使用多种技术在 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
实际上我想使用训练数据集计算所选特征,然后将其应用于测试数据集。在这种情况下,似乎无法对 transform 方法进行操作。在这种情况下我能做什么?
我认为您使用的语法有问题。请参阅文档和示例 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 中执行特征选择。我尝试应用的第一种技术是仅使用特征的方差来选择特征。我的代码如下:
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
实际上我想使用训练数据集计算所选特征,然后将其应用于测试数据集。在这种情况下,似乎无法对 transform 方法进行操作。在这种情况下我能做什么?
我认为您使用的语法有问题。请参阅文档和示例 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
,然后将其拟合到训练数据上并进行变换,再对测试数据进行变换。