У меня есть код:
feature_sel_list=[mutual_info_classif,f_classif,chi2]
percentiles = (1,5,10, 15, 20, 30, 40,50,60,70,80,90,100)
for l in feature_sel_list:
for percentile in percentiles:
# Instantiate model
rf = RandomForestClassifier(n_estimators= 1000, random_state=42)
print('Percentile is ',percentile)
X_new = SelectPercentile(l,percentile).fit_transform(X_train,y_train)
print("Reduced shape ",X_new.shape)
rf.fit(X_new,y_train)
y_pred = rf.predict(X_test)
После того, как я сделал SelectPercentile(l,percentile).fit_transform(X_train,y_train)
, мне нужно преобразовать тестовые данные, так как количество функций будет уменьшено. Как мне избежать длительной процедуры, состоящей в том, чтобы сначала взять имена столбцов, а затем выполнить фильтр. Есть ли для этого функция sklearn?