Skip to main content

PerMetrics:机器学习模型的性能指标框架

项目描述

人工智能模型的性能指标(PerMetrics)框架

GitHub 发布 文件状态 车轮 PyPI 版本 DOI 下载 执照

快速通知

  • 在 1.3.0 版本中添加分类指标
  • 向版本 1.2.2 添加更多指标
  • 1.2.0 版本在计算多个指标(OOP 风格)方面存在严重问题,请尽快更新到 1.2.1 版本。

介绍

  • PerMetrics 是一个用于机器学习模型性能指标的 Python 库。
  • 该框架的目标是:
    • 结合回归、分类和聚类模型的所有指标
    • 帮助所有领域的用户尽快访问指标

依赖项

  • Python (>= 3.6)
  • 麻木 (>= 1.15.1)

用户安装

安装当前的 PyPI 版本

pip install permetrics==1.3.0

或者从 GitHub 安装开发版本:

pip install git+https://github.com/thieu1995/permetrics

例子

文件夹中更复杂的测试:示例

文档包括更详细的安装说明和解释。

from numpy import array
from permetrics.regression import RegressionMetric
from permetrics.classification import ClassificationMetric

#### Regression problem ==============================

## For 1-D array
y_true = array([3, -0.5, 2, 7])
y_pred = array([2.5, 0.0, 2, 8])

evaluator = RegressionMetric(y_true, y_pred, decimal=5)
print(evaluator.RMSE())
print(evaluator.MSE())

## For > 1-D array
y_true = array([[0.5, 1], [-1, 1], [7, -6]])
y_pred = array([[0, 2], [-1, 2], [8, -5]])

evaluator = RegressionMetric(y_true, y_pred, decimal=5)
print(evaluator.RMSE(multi_output="raw_values", decimal=5))
print(evaluator.MAE(multi_output="raw_values", decimal=5))


#### Classification problem ============================


## For integer labels or categorical labels
y_true = [0, 1, 0, 0, 1, 0]
y_pred = [0, 1, 0, 0, 0, 1]

# y_true = ["cat", "ant", "cat", "cat", "ant", "bird", "bird", "bird"]
# y_pred = ["ant", "ant", "cat", "cat", "ant", "cat", "bird", "ant"]

evaluator = ClassificationMetric(y_true, y_pred, decimal=5)

## Call specific function inside object, each function has 3 names like below

print(evaluator.f1_score())
print(evaluator.F1S(average="micro"))
print(evaluator.f1s(average="macro"))
print(evaluator.f1s(average="weighted"))

变更日志

  • 有关 permetrics 的显着更改历史记录,请参阅ChangeLog.md

重要链接

指标

问题 STT 公制 指标全名 特征
回归 1 电动汽车 解释方差分数 越大越好 (Best = 1), Range=(-inf, 1.0]
**** 2 最大误差 越小越好 (Best = 0), Range=[0, +inf)
**** 3 MBE 平均偏差误差 最佳 = 0,范围 =(-inf,+inf)
**** 4 MAE 平均绝对误差 越小越好 (Best = 0), Range=[0, +inf)
**** 5 MSE 均方误差 越小越好 (Best = 0), Range=[0, +inf)
**** 6 均方根误差 均方根误差 越小越好 (Best = 0), Range=[0, +inf)
**** 7 高级管理人员 均方对数误差 越小越好 (Best = 0), Range=[0, +inf)
**** 8 医学AE 中值绝对误差 越小越好 (Best = 0), Range=[0, +inf)
**** 9 MRE / MRB 平均相对误差/平均相对偏差 越小越好 (Best = 0), Range=[0, +inf)
**** 10 MPE 平均百分比误差 最佳 = 0,范围 =(-inf,+inf)
**** 11 马佩 平均绝对百分比误差 越小越好 (Best = 0), Range=[0, +inf)
**** 12 SMAPE 对称平均绝对百分比误差 越小越好(Best = 0),Range=[0, 1]
**** 13 马佩 平均反正切绝对百分比误差 越小越好 (Best = 0), Range=[0, +inf)
**** 14 马斯 平均绝对比例误差 越小越好 (Best = 0), Range=[0, +inf)
**** 15 NSE Nash-Sutcliffe 效率系数 越大越好 (Best = 1), Range=(-inf, 1]
**** 16 NNSE 归一化 Nash-Sutcliffe 效率系数 越大越好 (Best = 1), Range=[0, 1]
**** 17 威斯康星 威尔莫特指数 越大越好 (Best = 1), Range=[0, 1]
**** 18 R / PCC 皮尔逊相关系数 越大越好 (Best = 1), Range=[-1, 1]
**** 19 AR / APCC 绝对皮尔逊相关系数 越大越好 (Best = 1), Range=[-1, 1]
**** 20 R2s (皮尔逊相关指数)^ 2 越大越好 (Best = 1), Range=[0, 1]
**** 21 R2 / COD 测定系数 越大越好 (Best = 1), Range=(-inf, 1]
**** 22 AR2/ACOD 调整后的确定系数 越大越好 (Best = 1), Range=(-inf, 1]
**** 23 CI 信心指数 越大越好 (Best = 1), Range=(-inf, 1]
**** 24 DRV 径流量偏差 越小越好 (Best = 1.0), Range=[1, +inf)
**** 25 KGE 克林-古普塔效率 越大越好 (Best = 1), Range=(-inf, 1]
**** 26 基尼 基尼系数 越小越好 (Best = 0), Range=[0, +inf)
**** 27 GINI_WIKI 维基页面上的基尼系数 越小越好 (Best = 0), Range=[0, +inf)
**** 28 PCD 方向变化预测 越大越好 (Best = 1.0), Range=[0, 1]
**** 29 行政长官 交叉熵 Range(-inf, 0], 不能对此发表评论
**** 30 KLD Kullback Leibler 分歧 最佳 = 0,范围 =(-inf,+inf)
**** 31 JSD 詹森香农分歧 越小越好 (Best = 0), Range=[0, +inf)
**** 32 VAF 差异解释 越大越好(最佳 = 100%),范围=(-inf, 100%]
**** 33 RAE 相对绝对误差 越小越好 (Best = 0), Range=[0, +inf)
**** 34 A10 A10 指数 越大越好 (Best = 1), Range=[0, 1]
**** 35 A20 A20 指数 越大越好 (Best = 1), Range=[0, 1]
**** 36 A30 A30 指数 越大越好 (Best = 1), Range=[0, 1]
**** 37 NRMSE 归一化均方根误差 越小越好 (Best = 0), Range=[0, +inf)
**** 38 RSE 残差标准误差 越小越好 (Best = 0), Range=[0, +inf)
**** 39 稀土 / RB 相对误差/相对偏差 最佳 = 0,范围 =(-inf,+inf)
**** 40 AE 绝对误差 最佳 = 0,范围 =(-inf,+inf)
**** 41 东南 平方误差 越小越好 (Best = 0), Range=[0, +inf)
**** 42 SLE 平方对数误差 越小越好 (Best = 0), Range=[0, +inf)
**** 43
分类 1 附言 精度分数 越高越好(最佳 = 1),范围 = [0, 1]
**** 2 净现值 负预测值 越高越好(最佳 = 1),范围 = [0, 1]
**** 3 RS 召回分数 越高越好(最佳 = 1),范围 = [0, 1]
**** 4 作为 准确度得分 越高越好(最佳 = 1),范围 = [0, 1]
**** 5 F1S F1分数 越高越好(最佳 = 1),范围 = [0, 1]
**** 6 F2S F2分数 越高越好(最佳 = 1),范围 = [0, 1]
**** 7 胎牛血清 F-Beta 分数 越高越好(最佳 = 1),范围 = [0, 1]
**** 8 党卫军 特异性评分 越高越好(最佳 = 1),范围 = [0, 1]
**** 9 中冶 马修斯相关系数 越高越好(最佳 = 1),范围 = [-1, +1]
**** 10 HL 汉明损失 越高越好(最佳 = 1),范围 = [0, 1]
**** 11 LS 提升分数 越高越好 (Best = 0), Range = [0, +inf)
**** 12

贡献

引文

  • 如果您在项目中使用 permetrics,请引用我的作品:
@software{thieu_nguyen_2020_3951205,
  author       = {Nguyen Van Thieu},
  title        = {Permetrics: A framework of performance metrics for artificial intelligence models},
  month        = jul,
  year         = 2020,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.3951205},
  url          = {https://doi.org/10.5281/zenodo.3951205}
}

@article{nguyen2019efficient,
  title={Efficient Time-Series Forecasting Using Neural Network and Opposition-Based Coral Reefs Optimization},
  author={Nguyen, Thieu and Nguyen, Tu and Nguyen, Binh Minh and Nguyen, Giang},
  journal={International Journal of Computational Intelligence Systems},
  volume={12},
  number={2},
  pages={1144--1161},
  year={2019},
  publisher={Atlantis Press}
}

未来的作品

分类

  • 校准错误
  • 科恩·卡帕
  • 覆盖误差
  • 骰子分数
  • 铰链损失
  • 杰卡德指数

聚类

  • 调整后的相互信息
  • 调整后的兰德分数
  • Calinski 和 Harabasz 得分
  • 戴维斯-布尔丹评分
  • 完整性评分
  • 权变矩阵
  • 轮廓系数
  • V-measure 分数

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

permetrics-1.3.0.tar.gz (33.6 kB 查看哈希

已上传 source

内置分布

permetrics-1.3.0-py3-none-any.whl (35.3 kB 查看哈希

已上传 py3