好的数据集质量,决定后续模型的上限 (Better data leads to better models),那么怎么快速评估数据集的质量了?

本文分享的Facets,是一款由Google开源、快速评估数据集质量的神器;

Facets包含2个组件:

  • facets overview:outlier检测、数据集间各特征分布比较

  • facets dive:交互式探索某一特定数据细节。


安装

pip install facets-overview

facets overview

以一个案例简单介绍使用方法,

# 1、生成数据源
import pandas as pdfeatures = ["Age", "Workclass", "fnlwgt", "Education", "Education-Num","Marital Status", "Occupation", "Relationship", "Race", "Sex","Capital Gain", "Capital Loss", "Hours per week", "Country", "Target"
]
train_data = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data",names=features,sep=r'\s*,\s*',engine='python',na_values="?")
test_data = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.test",names=features,sep=r'\s*,\s*',skiprows=[0],engine='python',na_values="?")# 2、GenericFeatureStatisticsGenerator()和ProtoFromDataFrames()函数存储数据集的所有统计信息
from facets_overview.generic_feature_statistics_generator import GenericFeatureStatisticsGenerator
import base64gfsg = GenericFeatureStatisticsGenerator()
proto = gfsg.ProtoFromDataFrames([{'name': 'train','table': train_data
}, {'name': 'test','table': test_data
}])
protostr = base64.b64encode(proto.SerializeToString()).decode("utf-8")# 3、生成HTML并可视化结果
from IPython.core.display import display, HTMLHTML_TEMPLATE = """<script src="https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/1.3.3/webcomponents-lite.js"></script><link rel="import" href="https://raw.githubusercontent.com/PAIR-code/facets/1.0.0/facets-dist/facets-jupyter.html" ><facets-overview id="elem"></facets-overview><script>document.querySelector("#elem").protoInput = "{protostr}";</script>"""
html = HTML_TEMPLATE.format(protostr=protostr)
display(HTML(html))

以上结果可非常方便的展示train//test数据集的偏斜情况、缺失值情况等等。


facets dive

同样以一个案例简单介绍使用方法,

import base64
import urllib.request
import os
import pandas as pd# 数据准备
img_url = "https://storage.googleapis.com/what-if-tool-resources/misc-resources/fmnist_sprite_atlas.png"
img_name = os.path.basename(img_url)
urllib.request.urlretrieve(img_url, img_name)df_fmnist = pd.read_csv("https://storage.googleapis.com/what-if-tool-resources/misc-resources/fmnist.csv"
)
with open("fmnist_sprite_atlas.png", "rb") as image_file:encoded_string = base64.b64encode(image_file.read())# 生成HTML并可视化展示
from IPython.core.display import display, HTMLjsonstr = df_fmnist.to_json(orient='records')
HTML_TEMPLATE = """<script src="https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/1.3.3/webcomponents-lite.js"></script><link rel="import" href="https://raw.githubusercontent.com/PAIR-code/facets/1.0.0/facets-dist/facets-jupyter.html">      <facets-dive id="elem" height="1000" sprite-image-width="28" sprite-image-height="28" atlas-url="data:image/png;base64,{encoded_string}"></facets-dive> #调用facets-dive <script>var data = {jsonstr};document.querySelector("#elem").data = data;</script>"""
html = HTML_TEMPLATE.format(jsonstr=jsonstr,encoded_string=encoded_string.decode("utf-8"))
display(HTML(html))

参考&进一步学习

Facets:评估机器学习数据集质量利器 (来自Google、可交互、可可视化)相关推荐

  1. 【机器学习】Facets:评估机器学习数据集质量利器 (来自Google、可交互、可可视化)...

    好的数据集质量,决定后续模型的上限 (Better data leads to better models),那么怎么快速评估数据集的质量了? 本文分享的Facets,是一款由Google开源.快速评 ...

  2. 怎么提高代码质量?-来自Google的研发经验总结

    你的团队有没有过这样的经历:开发效率低,招了很多人,天天加班,出活却不多,线上bug频发,领导发飙,中层束手无策,工程师抱怨不断,查找bug困难.其实这些都是代码质量差惹的祸.代码质量是研发质量管理的 ...

  3. 如何打造高质量的机器学习数据集?这份超详指南不可错过

    作者 | 周岩,夕小瑶,霍华德,留德华叫兽 转载自知乎博主『运筹OR帷幄』 导读:随着计算机行业的发展,人工智能和数据科学近几年成为了学术和工业界关注的热点.特别是这些年人工智能的发展日新月异,每天都 ...

  4. AI深度、机器学习数据集资源汇总

    文章目录 前言 一.数据集网站 二.具体数据集 1.记录的具体数据集 2.医疗图像 3.网上数据集汇总链接 总结 前言 继续收集.更新.汇总....................... 一.数据集网 ...

  5. TensorFlow 直接可用的 30 个最大的机器学习数据集

    30 Largest TensorFlow Datasets for Machine Learning TensorFlow 直接可用的 30 个最大的机器学习数据集 01 Created by re ...

  6. 机器学习数据集!CV、NLP 一应俱全

    本文介绍一个机器学习大型数据集的汇总网站,网站目前提供约 70 个最新数据集,涵盖了计算机视觉.自然语言理解和音频三大领域. 还在愁到哪里找到需要的机器学习数据集吗? 每年都有很多大型.高质量的数据集 ...

  7. 如何准备机器学习数据集_数据准备技术及其在机器学习中的重要性

    如何准备机器学习数据集 什么是数据? (What is Data?) Data refers to examples of cases from the domain that characteriz ...

  8. 盘点76个当下全球免费、优质机器学习数据集获取资源

    目录 普通人身边的机器学习数据 优秀的通用机器学习数据集成平台 kaggle Google Dataset Search Registry of Open Data on AWS Microsoft ...

  9. 机器学习实战的数据集在哪找_在哪里找到很棒的机器学习数据集

    机器学习实战的数据集在哪找 Good machine learning research starts with an exceptional dataset. There is no need to ...

最新文章

  1. JavaScript常见集合操作
  2. 数学建模论文写作小技巧分享
  3. cisco engine memory
  4. 第四章 单位根检验与章节综训
  5. OCR性能优化:从神经网络到橡皮泥
  6. jquery ui放大缩小_jQuery拖拽放大缩小插件idrag
  7. 40. MySQL的权限与安全
  8. Win10:fastboot驱动问题解决方案
  9. 删除后别人的微信号变成wxid_微信偷偷更新:终于能改微信号,每年改一次
  10. wifi mouse linux,WiFi Mouse Pro
  11. 哎,为了在vs上开发或调试linux,各种跪啊。而且后面还有更多……
  12. matlab用ode23解决参数方程,matlab变参量微分方程处理
  13. 压缩文件密码破解神器rarcrack
  14. SQL 各种锁等待类型 wait type--sys.dm_os_wait_stats 表
  15. 最简单的jsp页面之间的传值
  16. android 电话回音消除,智能门铃中可视对讲的回音消除
  17. CMake加入第三方库
  18. centos7更新pip版本
  19. 捷联惯导基础知识解析之五(低成本姿态航向参考系统)
  20. VMware ESXi 更换 CA 证书

热门文章

  1. 雅虎公司C#笔试题(之二)
  2. 解决Git中fatal: refusing to merge unrelated histories
  3. C语言学习总结(四)——数据结构
  4. JMeter性能测试,完整入门篇(自己做测试了)
  5. 50个PHP程序性能优化的方法
  6. 钢铁苍穹html5,自定义网站搜索教程
  7. 微信小程序退出页面时清除定时器
  8. dede linux下oss上传问题
  9. HTTP协议中几个状态码
  10. springboot创建项目(通过spring官网)详细