# How can I know the name of the features selected by a Deep Belief Network?

I want to use DBN to reduce the 41 features of nslkdd dataset after transforming nominal data to numeric the number of features increases from 41 to 121 . I used 3 RBMs (121-50-10) now I want to know the 10 selected features i.e know their names to put them as an input to the classifier. how can I do it?

• I have edited your question a little to make it easier to read. In general, it is helpful to include a little more information to allow people to understand the context. E.g. I did not know what the NSLKDD dataset was. Links are also good, but your question should contain enough information to get an answer, minimising time users must spend looking at other resources. Jun 12 '18 at 10:44

In general you are extracting/creating 10 features that scan theoretically recreate the input i.e. the 41 features. The features on their own may not necessarily make a lot of sense and (depending on the dataset) may not be easily interpretable. One could draw a comparison to Principal Component Analysis and the result components as features.

One benefit of using Deep Belief Nets to pre-train your model and encode features is that the data must not be labelled. This leads to the final point, which is that your 10 features must not necessarily have names. You can just call them e.g. feature1, feature2, ..., feature10.

If you are having problems with the actual code and the way to push the 10 features further into the classifier, I would suggest you provide the code that you have so far and add more detail regarding your exact problem.

• I want to know the names of the 10 selected feature to remove the rest from my dataset
– user
Jun 12 '18 at 12:25
• The features are not those selected from the original 41, they are combinations of them! You cannot just remove them from the original input. Jun 12 '18 at 12:34
• ah ok and I must change the nominal features to numeric before putting them to the DBN?
– user
Jun 12 '18 at 12:40
• Inputs need to be numeric, yes. But that doesn't strictly have anything to do with the actual names themselves - the data itself must be numeric. Jun 12 '18 at 12:43
• the data must be unlabelled this mean I shoud remove the colomn 'class' from my dataset, how can I add it again to make the classification and the prediction.
– user
Jun 12 '18 at 13:00