python-3.x - 如何在 keras 模型中实现汉明损失作为自定义指标
问题描述
如何在 keras 模型中将汉明损失作为自定义指标实现
我有一个包含 6 个类的多标签分类
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy',hamming_loss])
我尝试使用
from sklearn.metrics import hamming_loss
def custom_hl(y_true, y_pred):
return hamming_loss(y_true, y_pred)
这不起作用,因为我有 y_true , y_pred 如下
YTRUE
Tensor("Cast_10:0", shape=(None, 6), dtype=float32)
YPRED
Tensor("model_1/dense_1/Sigmoid:0", shape=(None, 6), dtype=float32)
还尝试了这个问题中的功能,但它不起作用 在 scikit-learn 中获取多标签预测的准确性 有什么方法可以让我在 keras 中将汉明损失作为度量,感谢您的帮助
解决方案
所以我找到了一种方法
def Custom_Hamming_Loss(y_true, y_pred):
return K.mean(y_true*(1-y_pred)+(1-y_true)*y_pred)
def Custom_Hamming_Loss1(y_true, y_pred):
tmp = K.abs(y_true-y_pred)
return K.mean(K.cast(K.greater(tmp,0.5),dtype=float))
来源:https ://groups.google.com/g/keras-users/c/_sjndHbejTY?pli=1
推荐阅读
- javascript - PHP MySQL多列轮播不起作用
- r - 如何调整我的 ggplot 代码以更改生成的图表中使用的默认颜色?
- ionic-framework - 我如何用离子显示图像列表
- python - 字符串格式与列表和元组的区别
- angular - 在 vscode angular 6 中运行 ng serve --open 时,我面临以下问题
- python - 可以设置 include_requires 绕过 PyPI 中的最佳匹配并克隆 repo 吗?
- php - 如何更改 SVG 的宽度和高度以使其响应?
- java - 尝试在空对象引用上调用虚拟方法“void android.widget.TextView.setText(java.lang.CharSequence)”?
- samtools - 如何使用 pysam 在 bam 文件中添加带有读取质量分数的“OQ”标签作为附加字段
- c++ - 为什么我能够增加指向单个新 int 位置的指针?令人惊讶的是它运作良好