草庐IT

2022了你还不会『低代码』?数据科学也能玩转Low-Code啦! ⛵

ShowMeAI 2023-03-28 原文

? 作者:韩信子@ShowMeAI
? 数据分析实战系列https://www.showmeai.tech/tutorials/40
? 机器学习实战系列https://www.showmeai.tech/tutorials/41
? 本文地址https://www.showmeai.tech/article-detail/286
? 声明:版权所有,转载请联系平台与作者并注明出处
? 收藏ShowMeAI查看更多精彩内容

低代码开发,顾名思义,指的是软件开发过程中只需要编写少量代码就够了。与传统开发方式相比,低代码大幅减少了编写代码的工作量,这使其具备了更快的速度、更短的开发时间与更低的成本。

无代码 / 低代码机器学习平台(和库)的兴起,加速了代码开发速度。借助于这些平台和框架,数据科学家们在繁重的探索研究和大量的编程任务之间,取得更好的平衡。

在本篇内容中,ShowMeAI 给大家总结了最值得学习&使用 Python 低代码机器学习库,覆盖数据科学最热门的几大方向——数据分析&简单挖掘机器学习深度学习

? 数据分析&简单挖掘

? D-Tale

D-Tale 是一个易于使用的低代码 Python 库,通过将 Flask 编写的后端与 React 编写的前端相结合,与 Jupyter Notebook 无缝集成,可以查看和分析 Pandas 形态的数据,包括 DataFrame、Series、MultiIndex、DatetimeIndex 和 RangeIndex。

D-Tale 是 SAS 到 Python 转换的产物,最初是基于 SAS 的 perl 脚本包装器,现在是基于 Pandas 数据结构的轻量级 Web 客户端。

大家可以在D-Tale的官方 ?Github 查看它的详细教程和用法,也可以前往 ?在线平台 操作体验。

? AutoViz

对于低代码探索式数据分析任务,AutoViz 是 Python 中另一个不错的选择。在功能方面,它只需编写一行代码即可使用 AutoViz 完成任何数据集的自动可视化。

AutoViz 能够结合任务确定哪些特征是最重要的,然后通过仅使用那些自动选择的元素来绘制和呈现信息。而且AutoViz速度极快,可视化可以在几秒钟内完成。

大家可以查看官方 ?AutoViz 示例 Jupyter Notebook 进行学习。

? Lux

Lux 工具库是一个非常自动的数据分析可视化工具。无需做太多的数据预处理,它会自动根据数据生成一系列候选图表,根据实际需要从中做选择即可。这大大减少了制作图表所需的时间以及数据预处理工作量。

大家可以通过 Lux 的官方 ?GitHub 页面了解更多用法细节。

? Pandas-Profiling

pandas-profiling 库自动针对 pandas DataFrame 格式的数据生成数据分析报告。

最终的结果以交互式 HTML 报告呈现,包含以下信息:

  • 类型推断:字段列的类型
  • 要点:类型、唯一值、缺失值
  • 分位数统计:包括最小值、Q1、中位数、Q3、最大值、范围、四分位间距
  • 描述性统计:包括均值、众数、标准差、总和、中值绝对差、变异系数、峰度、偏度等
  • 直方图:分类和数字
  • 相关性:Spearman、Pearson 和 Kendall 矩阵
  • 缺失值:矩阵、计数、热图和缺失值的树状图
  • 文本分析:了解文本数据的类别(大写、空格)、脚本(拉丁文、西里尔文)和块(ASCII)
  • 文件和图像分析:提取文件大小、创建日期和尺寸,并扫描截断的图像或包含 EXIF 信息的图像

大家可以在 pandas-profiling 的项目 ?GitHub 页面获取详细使用方法。

? 机器学习

? PyCaret

PyCaret 是 Python 中的一个开源、低代码机器学习库,可自动执行机器学习工作流。它也是一个端到端的机器学习和模型管理工具,可以成倍地加快实验周期,提升工作开发效率。

与其他开源机器学习库相比,PyCaret 有着明显的低代码特质,可仅用几行代码完成原本需要数百行代码完成的工作,尤其是对于密集的实验迭代过程可以大大提速。PyCaret 本质上是围绕多个机器学习库和框架封装而成,包括大家熟悉的 Scikit-Learn、XGBoost、LightGBM、CatBoost、spaCy、Optuna、Hyperopt 和 Ray 等。

大家可以通过 Pycaret 的 ?官方文档,?官方GitHub,?官方教程 了解更多使用细节。

? 深度学习

? PyTorch Lightning

PyTorch Lightning 是一个应用在深度学习/神经网络的 Python 低代码库,为 PyTorch 提供高级接口。

它具备高性能和轻量级的架构,以一种将研究与工程分离的方式来构建 PyTorch 代码,使深度学习实验更容易理解和重复。借助它能轻松构建分布式硬件上的可扩展深度学习模型。

官网介绍说,PyTorch Lightning 的设计是为了让大家可以将更多的时间花在研究上,而不是花在工程上。大家可以通过 PyTorch Lightning 的 ?官方网站 了解更多使用细节。

? Hugging Face Transformers

Hugging Face Transformers 是 Hugging Face 的开源深度学习工具库。借助 Transformers,大家可以非常方便快速地下载最先进的预训练模型,应用在自己的场景中,或者基于自己的数据做再训练。

因为官方提供的大量预训练模型,我们可以减少计算费用(因为无需从头训练)。丰富的模型覆盖多种数据类型和业务源,包括:

  • 文本:对文本进行分类、信息抽取、问答系统、机器翻译、摘要生成,文本生成(覆盖 100 多种语言)
  • 图像:图像分类、目标检测和图像分割
  • 音频:语音识别和音频分类

PyTorch、TensorFlow 和 JAX 是三个最著名的深度学习库,transformers 的对这三个框架都支持得很好,甚至可以在一个框架中用三行代码训练模型,在另一个框架中加载模型并进行推理。

大家可以通过 Hugging Face Transformers 的 ?官方网站 和 ?GitHub 了解更多使用细节。

参考资料

有关2022了你还不会『低代码』?数据科学也能玩转Low-Code啦! ⛵的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby-on-rails - Rails 源代码 : initialize hash in a weird way? - 2

    在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has

  3. ruby - Highline 询问方法不会使用同一行 - 2

    设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案

  4. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  5. ruby-on-rails - 浏览 Ruby 源代码 - 2

    我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru

  6. ruby - 模块嵌套代码风格偏好 - 2

    我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的

  7. ruby - 寻找通过阅读代码确定编程语言的ruby gem? - 2

    几个月前,我读了一篇关于ruby​​gem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:

  8. ruby - Net::HTTP 获取源代码和状态 - 2

    我目前正在使用以下方法获取页面的源代码:Net::HTTP.get(URI.parse(page.url))我还想获取HTTP状态,而无需发出第二个请求。有没有办法用另一种方法做到这一点?我一直在查看文档,但似乎找不到我要找的东西。 最佳答案 在我看来,除非您需要一些真正的低级访问或控制,否则最好使用Ruby的内置Open::URI模块:require'open-uri'io=open('http://www.example.org/')#=>#body=io.read[0,50]#=>"["200","OK"]io.base_ur

  9. 程序员如何提高代码能力? - 2

    前言作为一名程序员,自己的本质工作就是做程序开发,那么程序开发的时候最直接的体现就是代码,检验一个程序员技术水平的一个核心环节就是开发时候的代码能力。众所周知,程序开发的水平提升是一个循序渐进的过程,每一位程序员都是从“菜鸟”变成“大神”的,所以程序员在程序开发过程中的代码能力也是根据平时开发中的业务实践来积累和提升的。提高代码能力核心要素程序员要想提高自身代码能力,尤其是新晋程序员的代码能力有很大的提升空间的时候,需要针对性的去提高自己的代码能力。提高代码能力其实有几个比较关键的点,只要把握住这些方面,就能很好的、快速的提高自己的一部分代码能力。1、多去阅读开源项目,如有机会可以亲自参与开源

  10. 7个大一C语言必学的程序 / C语言经典代码大全 - 2

    嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来

随机推荐