符合scikit learn api的模型测试

drifter-ml的Python项目详细描述


毫升测试

这个模块的目标是创建一个灵活和易于使用的模块来测试机器学习模型,特别是在SCIKIT学习中。

这些测试将足够可读,任何人都可以将它们扩展到其他框架和api,主要概念保持不变,但或多或少的思想将被扩展,在这个库中不需要任何工作来扩展通过scikit学习api。

您可以read the docs获得更详细的解释。

Documentation StatusCircleCIVersion NumberDownloads Per Monthcodecov

涵盖的测试

  • 根据指标进行测试
    • 分类试验
      • 基于规则的测试:
        • 精度下限
        • 调用下边界
        • F1得分下限
        • AUC下限
        • 每个类的精度下限
        • 按类调用下边界
        • 每节课F1分数下限
        • 每个类的AUC下限
      • 基于决策的测试:
        • 精确折叠低于平均值
        • 召回次数低于平均值
        • f1倍低于平均值
        • AUC倍低于平均值
        • 每节课的精确折叠低于平均值
        • 每堂课召回次数低于平均值
        • 每班低于平均水平1倍
        • AUC低于每类平均值的倍数
      • 反对新的预测
        • 每类预测的比例
        • 班级不平衡测试
        • 概率分布相似性检验
        • 校准测试
    • 回归检验
      • 基于规则的测试:
        • 均方误差上边界
        • 中值绝对误差上边界
      • 基于决策的测试:
        • 均方误差倍高于平均值
        • 绝对误差中值高于平均值
  • 运行时性能测试
    • 大小为x的模拟样本的预测运行时间
  • 根据输入数据进行测试
  • 记忆测验
    • 集群测试-这是关于数据的总体结构 如果集群的数量显著增加或减少, 应该是一个指标,表明数据已经发生了足够的变化 可能需要重新运行
    • 相关性测试-这是为了确保给定列与以前收集的数据之间的相关性不会发生很大变化。如果数据确实发生了变化,那么应该重新运行模型。
    • 形状测试-这是为了确保给定列的一般形状不会随时间发生太大变化。这里的想法和相关测试是一样的。

可能的问题

与此相关的一些已知问题,任何机器学习测试都需要人工交互,因为统计测试的类型1和类型2错误。此外,我们只需要从多个角度来询问模型。不能只从一个角度。因此,我甚至不确定将ml测试添加到ci管道中的总体概念是否真的可行。

未来功能

参考文献

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java需要设置框架。可设置大小(false)以重新绘制()   java我对PDF文件感到困惑   为什么是太阳。jvm。热点。调试器。DebuggerException:无法打开二进制文件`?   设置结果为textview时出现java空指针异常   我应该使用什么同步原语在Java中实现事件驱动程序框架?   java为什么WindowClosing处理程序在退出程序之前不执行后台任务?   如何将“20170712T18:43:04.000Z”转换为安卓或java中的相对时间?   Java,获取按键的时间长度,currentTimeMillies()始终为24   maven构建的java可执行Jar找不到logback。xml   java在其外部的函数中使用for循环中的值   java如何以表格格式将不同长度的数据对齐   java Play 2.5 WebSocket连接构建   maven而非eclipse的java强制转换问题   java如何在JFreeChart中使X轴上的值水平?   构建Java Windows应用程序以访问在线MySQL数据库需要什么   java添加构造函数会出错吗?这没有道理,请帮忙,编程问题   java在一个jframe中的两个JPanel中使用两个绘制方法   java数学或逻辑问题   java如何复制Androids库存摄像头方向更改