输入对输出分类的影响

The impact of input to output in classification

我设计了一个使用 MLP 神经网络的 classifier。网络输入有 2000 个特征,网络输出为 6 classes.

我的代码:

train_X, test_X, train_Y, test_Y = train_test_split(X, Y, test_size=0.2, random_state=np.random.seed(7), shuffle=True)

train_X = np.reshape(train_X, (train_X.shape[0], 1, train_X.shape[1]))
test_X = np.reshape(test_X, (test_X.shape[0], 1, test_X.shape[1]))

model = Sequential()
model.add(LSTM(100, return_sequences=False, input_shape=(train_X.shape[1], train_X.shape[2])))
model.add(Dense(train_Y.shape[1], activation='softmax'))
model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])

model.fit(train_X, train_Y, validation_split=.20,
                        epochs=1000, batch_size=50)

问题:我如何找出网络的哪个输入对每个class的class化影响最大?

你有 Python 的示例吗?

也许你想要mutual_info_classif

有一件事:有很多特征评估,主要取决于你的分类器要做什么。有关详细信息,请参阅 sklearnfeature_selection

查看训练后的权重,尽管这是否有帮助取决于复杂性,例如您有多少隐藏层。

小心你做出的假设,我最喜欢的故事之一,可能是杜撰的,是关于 U.S 的一些作品。军方做到了。他们想要一个能够识别图片中是否有主战坦克的神经网络。所以他们制作了一组有坦克和没有坦克的照片,过了一会儿,他们得到了非常好的结果。然后他们在一组不同的图片上进行了尝试,但不幸地失败了。经过一番分析,他们发现有坦克的图片是蓝天,没有阴天的图片。