thinkphp 文件上传 切片_上传三组表格即可分析AI模型,可视化工具Manifold开源,来自Uber华人女工程师...

晓查 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

调试机器学习模型是最痛苦的,因为算法本身不透明,就算运行结果不好,有时你也很难知道问题出在哪里。

了解ML模型的性能和行为是一个不容易的过程。性能摘要统计信息(输出的数据,比如AUC、均方误差等等,对指导我们如何改进模型是远远不够的。

AI平台TensorFlow已经有了可视化工具Tensorboard,但是如果你用的不是TensorFlow怎么办?

ab596704b17e566d72ca7610fc87d619.png

最近,Uber也推出了一款ML可视化调试工具Manifold(流形),可以帮助开发者发现让模型不能准确预测的数据子集,通过不同子集之间的特征分布差异来解释模型性能不佳的可能原因。

Manifold的作者之一还是个华人女工程师李乐之,她本科毕业于南京大学,之后进入哈佛大学攻读硕士,毕业后进入Uber工作至今。

d9e387844ee37677bf1e63434b4240e2.png

她在官方博客中表示,Maniflod可以为机器学习工作流程提供可解释性和可调试性。

2种视图,4大特点

Manifold为用户提供两大功能:性能比较视图特征分布视图

性能比较视图生成的结果如下:

a37fc5ffb47ebef071f6333826d69a9d.png

X轴是模型的性能指标,一般是对数损失、平方误差或原始预测值。图片会根据实例之间跨模型的性能相似性,将数据集自动分为多个横行。而不同的颜色代表不同的模型。

特征分布视图可以显示按用户定义的数据特征值划分。它可以帮助用户识别可能与不正确的预测输出相关的任何输入特征分布。

ee2eb6ea02cdcf273e1963d22a591bbe.png

其中,X轴是数据的特征值,Y轴是数据的分布密度,每个图左下角的标注是分散度分数,用户衡量数据切片之间分布差异。

Manifold主要有4大特点:

1、支持与模型无关的通用二元分类与回归模型调试。

用户将能够分析和比较各种算法类型的模型,分辨各种数据切片的性能差异。

2、支持表格化特征输入的可视化:包括数字、分类和地理空间等特征类型。

06d343b26e0e57135a8daede9cfb1376.png

使用每个数据切片的特征值分布信息,用户可以更好地了解某些性能问题的潜在原因,例如,模型的预测损失与其数据点的地理位置和分布之间是否存在任何关联。

3、与Jupyter Notebook集成。

通过这种集成,Manifold将数据输入作为Pandas DataFrame对象接受,并在Jupyter中呈现可视化。

Jupyter Notebook是数据科学家和机器学习工程师使用最常用的平台之一,集成该功能可以让用户在不中断正常工作流程的情况下分析模型。

a7e4f587f1abafada6ea706d8d7ca0ce.gif

4、基于每个实例的预测损失和其他特征值的交互数据切片和性能比较。

用户将能够基于预测损失、真实值或其他感兴趣的特征对数据进行切片和查询。该功能使用户能够通过通用数据切片逻辑快速验证或拒绝其假设。

3367afacc01775d440555153711ea5a2.gif

安装

对于JavaScript用户:

npm install @mlvis/manifold styled-components styletron-engine-atomic styletron-react

对于Python用户:

pip install mlvis

然后安装和启用Jupyter Notebook扩展

jupyter nbextension install --py --symlink --sys-prefix mlvis
jupyter nbextension enable --py --sys-prefix mlvis

除了在本地安装外,还有Demo网站可供尝试:

http://manifold.mlvis.io/

使用方法

Uber提供两种方式使用Manifold,一种是直接上传已有的模型数据到Demo网站。

523d2f7865883340a6cb6da3f2e3ec04.png

在Demo网站上,我们可以看到三个上传项,它们分别是输入的“特征”、输出的“预测”以及“真实值”,分别对应于x、yPred、yTure,三个部分都以csv文件格式上传。

05304b1c0306fa9656cc9127d900e1d9.png

上传完成,即可看到由这些数据集生成的可视化效果。

63605aee4d5e582082bcfd5630c43efd.png

另一种方式就是在自己程序中使用Manifold组件,需要先将数据转换成Manifold可以读懂的格式再导入:

import {loadLocalData} from '@mlvis/manifold/actions';

// create the following action and pass to dispatch
loadLocalData({
  fileList,
  dataTransformer,
});
const defaultDataTransformer = fileList => ({
  x:     [...],         // feature data
  yPred: [[...], ...]   // prediction data
  yTrue: [...],         // ground truth data
};

传送门

官方博客:
https://eng.uber.com/manifold-open-source/

开源地址:
https://github.com/uber/manifold#load-and-convert-data

作者系网易新闻·网易号“各有态度”签约作者

—  —

AI内参|把握AI发展新机遇

拓展优质人脉,获取最新AI资讯&论文教程,欢迎加入AI内参社群一起学习~

e5a294a4448ec95a405457724d57b38f.png

跟大咖交流 | 进入AI社群

cfdd81004112c5cb5ef4c6d00312a325.png bf2b67dc2761b66c148948cc2e24190e.png

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值