Python 使用自动编码器的特征选择

Python 使用自动编码器的特征选择,python,arrays,dataframe,feature-selection,autoencoder,Python,Arrays,Dataframe,Feature Selection,Autoencoder,我使用一个简单的自动编码器进行特征选择。我遵循以下代码: X=mydata.drop('target'],axis=1) y=mydata['target'] input_size = X.shape[1] hidden_size = 200 code_size = 100 input_layer = Input(shape=(X.shape[1],)) encoded = Dense(12, activation='relu')(input_la

我使用一个简单的自动编码器进行特征选择。我遵循以下代码:

   X=mydata.drop('target'],axis=1)
   y=mydata['target']

   input_size = X.shape[1]
   hidden_size = 200
   code_size = 100

   input_layer = Input(shape=(X.shape[1],))

   encoded = Dense(12, activation='relu')(input_layer)
   decoded = Dense(X.shape[1], activation='softmax')(encoded)

   autoencoder = Model(input_layer, decoded)
   autoencoder.compile(optimizer='adam', loss='binary_crossentropy')
   
   X1, X2, Y1, Y2 = train_test_split(X, X, test_size=0.3, random_state=100)

   autoencoder.fit(X1, Y1,epochs=100,batch_size=100,shuffle=True,verbose = 50,validation_data=(X2, Y2))

   encoder = Model(input_layer, encoded)
   X_ae = encoder.predict(X)
我使用“encoder.predict(X)”的输出作为所选特征。但这些特征的结构似乎发生了变化。因此,我不知何故无法理解选择了哪些功能。事实上,我想知道所选特征的名称,但最后一行的输出将给我一个数组,我无法识别特征的名称。知道哪些功能被删除或选择了吗?即使是列位置(来自原始数据框,在我的例子中是“mydata”)也适用于我