我有以下简单的函数:
def f1(y_true, y_pred):
return {"f1": 100 * sklearn.metrics.f1_score(y_true, y_pred)}
根据SCRICKIT-LEARN文档,f1_score
的参数可以有以下类型:
-
y_true
:1D数组,或标签指示器数组/稀疏矩阵 -
y_pred
:1D数组,或标签指示器数组/稀疏矩阵
并且输出的类型为:
- 浮点或浮点数组,Shape=[n_Unique_Labels]
如何向该函数添加类型提示,以便mypy不会出现错误?
我try 了以下不同的版本:
Array1D = NewType('Array1D', Union[np.ndarray, List[np.float64]])
def f1(y_true: Union[List[float], Array1D], y_pred: Union[List[float], Array1D]) -> Dict[str, Union[List[float], Array1D]]:
return {"f1": 100 * sklearn.metrics.f1_score(y_true, y_pred)}
但这造成了错误.