machine-learning - 使用 Keras 进行特征提取不包括类标签
问题描述
我使用 Keras 在 MNIST 数据集上应用图像分类,这里提供了实现。我使用这个实现,但添加了以下方法来从训练的图像中提取特征:
def feature_extraction(model, x_test, path_to_save):
extract = keras.Model(inputs=model.input, outputs=model.get_layer('dense_1').output)
features = extract.predict(x_test)
np.savetxt(path_to_save, features, delimiter=",")
输出文件不包含类标签,即文件中的每一行都是一组特征但没有类标签。有没有办法修改这个方法,以便它也添加每个提取特征的类标签(即每一行)?
解决方案
您可以获得多个输出,因此特征和预测的标签概率:
extract = Model(model.input, [model.get_layer('dense_1').output, model.output])
features, labels = extract.predict(x_test)
labels = np.argmax(labels, axis=1)
预测现在将为您提供两个输出。您可能希望np.argmax
获得实际的类标签,而不是取决于模型的概率。
推荐阅读
- angular - Angular Firestore 使用两个相等的 where 条件查询集合
- amazon-web-services - 为什么不能在域名上配置 AWS 安全组
- mongodb - Mongoose - 查询 Mongo 对象数组,匹配搜索数组中的任何对象
- c - 从不同的功能插入 GLib 树
- html - esp32 网站 ASCII 到字符转换
- python - 初学者:Python 声音模块不起作用(循环导入)
- java - 在 java 中使用 ArrayList 的 indexOf()
- javascript - JQUERY 替换 data-empty_label 值上的文本
- latex - 如何仅在乳胶中在奇数页上制作带有连续文本的文档?
- php - 简单的 PHP ping 到多个域