简体   繁体   中英

Can you help me in this error? AttributeError: 'numpy.ndarray' object has no attribute 'keys'

in all_features = X_train.keys()

AttributeError: 'numpy.ndarray' object has no attribute 'keys'

This my code:

    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) ```

[enter image description here][1]

ndarray does not have a "keys" attribute. You can find the documentation, and all of the attributes, https://numpy.org/doc/stable/reference/arrays.ndarray.html# . You should probably use X_train.flags()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM