模型评估
更新时间:
本文介绍了模型评估的 API 及示例。
重要
本文涉及 API 中所有的占位符,例如"$df0"
,必须包含单引号或双引号。
模型评估 API 代码示例
from typing import Union, Tuple, Dict
import tensorflow as tf
from tensorflow import keras
from tensorflow.python.keras import Model
from fascia.biz.model import JupiterKerasModel
from fascia.biz.api.dataframe import read_fed_table
roche = read_fed_table("$df0").values()
test_x, test_y = roche[:, 1:], roche[:, 0]
summary.schema(test_x)
summary.schema(test_y)
model = JupiterKerasModel(uid='roche-eval', file_uri="$modelName0", input_shape=(72,), build_method='from_local')
# 注意此处仍需要编译才能使用联邦全局视角的模型
model.compile(loss=tf.keras.losses.BinaryCrossentropy(), optimizer='adam',
metrics=[tf.metrics.BinaryAccuracy(),
tf.keras.metrics.AUC(),
tf.keras.metrics.Precision(),
tf.keras.metrics.Recall()],
strategy='fedavg-w')
eval_hist = model.evaluate(test_x, test_y, batch_size=8)
参数
以下是对 model.evaluate
参数的说明:
test_x:特征,接受
FedNdArray
或者"$df0"
形式的占位符。test_y:标签,接受
FedNdArray
或者"$df0"
形式的占位符。 但test_x
为FedDataset
时,无需提供test_y
参数。batch_size:批处理大小,接受整数或类似
{'party_a': 32, 'party_b': 64}
格式的字段,注意该设置也会影响验证集。sample_weight:
sample
权值,含义类似 keras。verbose:是否在过程中显示性能指标。
返回值定义
history:训练结果的历史记录,包括全局聚合的性能指标、本地训练集性能指标和验证集性能指标。
History 结果示例
{
'alice': [0.2467046082019806, 1.0],
'bob': [0.32576555013656616, 1.0],
'__name__': ['loss', 'accuracy'],
'__global__': [0.28623506, 1.0]
}
文档内容是否对您有帮助?