在
all_features = X_train.keys()
AttributeError:'numpy.ndarray'对象没有属性'keys'
这是我的代码:
cor_list = []
#calculate the correlation with y for each feature
for i in all_features:
cor = np.corrcoef(X_train[i], y_train, rowvar=False)[0, 1]
cor_list.append(cor)
#replace NaN with 0
cor_list = [0 if np.isnan(i) else i for i in cor_list]
#feature_name
cor_feature = X_train.iloc[:np.argsort(np.abs(cor_list))[-num_feats:]].columns.tolist()
#feature selection? 0 for not select, 1 for select
cor_support = [True if i in cor_feature else False for i in all_features]
X_train_selected = pd.DataFrame(X_train, columns=cor_feature)
X_test_selected = pd.DataFrame(X_test, column = cor_feature)
# Correlation with output variable
return X_train_selected, X_test_selected
**This when i called in main:**
``` all_features = X_train.keys()
X_train_selected, X_test_selected = FS.Feature_cor_selector(X_train, X_test, y_train, 10, all_features) ```
[在此处输入图像描述][1]
ndarray 没有“keys”属性。您可以找到文档和所有属性,https://numpy.org/doc/stable/reference/arrays.ndarray.html#。你可能应该使用 X_train.flags