一个数据科学家需要哪些核心工具包?

作者 | Rebecca Vickery

译者 | 天道酬勤 责编 | 徐威龙

封图| CSDN 下载于视觉中国

数据科学家的主要作用是将机器学习、统计方法和探索性分析应用到数据中,来提取见解并帮助制定决策。 编程和计算工具的使用对该角色来说必不可少。 实际上,许多人都用这句名言描述该领域:数据科学家比任何软件工程师都更擅长统计科学,也比任何统计学家都更擅长软件工程。

如果你正踏上学习数据科学的旅程,或想要提高现有的技能,那么很有必要了解你所需的工具,以便有效的执行这个角色。

在过去的十年中,用于数据科学的Python逐渐流行起来,目前是该领域从业人员最流行的编程语言。在下面的文章中,作者将概述数据科学家使用的核心工具,这些工具主要侧重于基于Python的工具。

1、NumPy 

NumPy是一个功能强大的库,用于使用Python执行数学和科学计算。 你会发现,许多其他数据科学库都将它作为运行的依赖项,因为它是基础科学软件包之一。

该工具以N维数组对象的形式与数据交互。 它提供了用于处理数组、执行数组运算、基本统计信息和常见的线性代数计算(例如叉和点积运算)的工具。

2、Pandas

Pandas库简化了Python中数据的操作和分析。 Pandas使用两个基本数据结构。 它们是Series(一个一维标记的数组)和一个DataFrame(一个二维标记的数据结构)。Pandas软件包具有多种工具,可以从各种来源读取数据,包括CSV文件和关系数据库。

一旦数据可以作为这些数据结构之一,Pandas会提供一系列非常简单的功能,用于清理、转换和分析数据。 这些工具包括处理丢失数据的内置工具、简单的绘图功能和类似Excel的数据透视表。

3、SciPy

SciPy是另一个核心科学计算Python库。 该库是为了与NumPy数组进行交互而构建的,并且依赖于NumPy提供的许多功能。 但是,尽管要使用这个包,你需要同时安装和导入NumPy,无需直接导入功能,因为该功能自动可用。 

Scipy有效地建立在NumPy中可用的数学功能上。 在NumPy提供非常快速的数组操作的地方,SciPy可以处理这些数组并启用高级数学和科学计算的应用。

4、Scikit-learn

Scikit-learn是一个用户友好、全面而强大的机器学习库。 它包含将大多数机器学习技术应用于数据的功能,并且为每种功能都提供一致的用户界面。

该库还提供了用于数据清理、数据预处理和模型验证的工具。 它最强大的功能之一是机器学习管道的概念。 这些管道使机器学习中的各个步骤(例如预处理、训练等)能够链接到一个对象中。

5、Keras

Keras是Python API,旨在提供一个简单的接口来处理神经网络。像Tensorflow这样的流行深度学习库因不够友好而臭名昭著。  Keras位于这些框架之上,提供了一种与之交互的友好方式。

Keras支持卷积和循环网络,提供对多后端的支持,并且可以在CPU和GPU上运行。 

6、Matplotlib

Matplotlib是Python中基本的绘图库之一。 许多其他流行的绘图库都依赖于Matplotlib API,包括Pandas绘图功能和Seaborn。

Matplotlib是一个非常丰富的绘图库,并包含用于创建各种图表和可视化效果的功能。 此外,它还包含创建动画和交互式图表的功能。

7、Jupyter notebooks

Jupyter notebooks是一个交互式Python编程接口。 在notebook环境中编写Python的好处在于,它允许你直接在程序中轻松呈现可视化、数据集和数据摘要。 

这些notebooks也是共享数据科学工作的理想工具,因为它们可以通过直接在代码和可视化中包含标记文本来进行高度注释。

8、Python IDE

Jupyter notebooks是一个编写数据科学代码的有用地方。然而,在许多情况下,需要将代码写入可重用模块中。 如果你正在编写代码来将机器学习模型投入生产,则尤其需要如此。 

在这些情况下,集成开发环境(IDE)非常有用,因为它们提供了许多有用的功能,例如集成的Python样式指南、单元测试和版本控制。 作者本人也使用PyCharm,但还有许多其他可用的开发工具。

9、Github

Github是一个非常流行的版本控制平台。 数据科学的基本原则之一是,代码和结果应该由你自己在将来的某个时间点或由其他人再现。 版本控制提供了一种机制,可以在线跟踪和记录对工作的更改。

此外,Github支持在项目上进行安全形式的协作。 这是通过一个人复制一个分支(实际上是项目的一个副本),在本地进行更改,然后将其上传以供审核,然后再将其集成到项目中来实现的。 

本文简要介绍了数据科学工作的核心工具包,感谢你的阅读,希望这篇文章对你有用,欢迎评论区和我们讨论。

推荐阅读:另一种声音:容器是不是未来?
GitHub 疑遭中间人攻击,最大暗网托管商再被黑!
漫画:什么是 “模因” ?
1 分钟抗住 10 亿请求!某些 App 怎么做到的?| 原力计划
2020,国产AI开源框架“亮剑”TensorFlow、PyTorch
探索比特币独特时间链、挖矿费用及场外交易的概念
真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/518613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java-静态方法、非静态方法

// 学生类 public class Student {// 静态方法 staticpublic static void say01(){System.out.println("学生01 静态方法说话了");}// 非静态方法public void say02(){System.out.println("学生02 非静态方法说话了");} }静态方法、非静态方法 public cla…

SpringBoot2.x Flowable 6.4.2 开源项目

文章目录一、项目服务端初始化1. 创建数据库2. 初始化表结构.3. 表结构补充4. 配置文件修改5. 下载依赖6. 异常解决7. 启动服务端二、前端初始化2.1. 安装Node(V12.x.x以上)和NPM(V6.x.x以上)2.2. 安装淘宝镜像2.2. 初始化前端项目2.3. 启动项目2.4. web登录页面2.5. 效果图三、…

MongoDB 4.2 新特性解读

云数据库 MongoDB 版 基于飞天分布式系统和高性能存储,提供三节点副本集的高可用架构,容灾切换,故障迁移完全透明化。并提供专业的数据库在线扩容、备份回滚、性能优化等解决方案。 了解更多 MongoDB World 2019 上发布新版本 MongoDB 4.2…

Java-类与对象的创建

// 学生类 public class Student {// 属性String name; // 默认 nullint age; // 默认 0// 方法public void study(){System.out.println(this.name " 在学习");} }public class Application {public static void main(String[] args) {// 实例化后会返回一个自己…

Spark3.0发布了,代码拉过来,打个包,跑起来!| 附源码编译

作者 | 敏叔V587责编 | 徐威龙封图| CSDN 下载于视觉中国Spark3.0已经发布有一阵子了,官方发布了预览版,带来了一大波更新,对于我们程序员来说,首先当然是代码拉过来,打个包,跑起来!&#xff01…

MySQL单表数据不要超过500万行:是经验数值,还是黄金铁律?

今天,探讨一个有趣的话题:MySQL 单表数据达到多少时才需要考虑分库分表?有人说 2000 万行,也有人说 500 万行。那么,你觉得这个数值多少才合适呢? 曾经在中国互联网技术圈广为流传着这么一个说法&#xff1…

Java-构造器

一个类即使什么都不写,它也会存在一个方法 package oop.demo02;/*** author blake.wang* date 2021-04-19 18:58*/ public class Person {// 一个类即使什么都不写,它也会存在一个方法,具体可以看一个空 类 的编译后的class文件// 显示的定…

IntelliJ IDEA 2020 基础设置

文章目录1. 字体设置2. 编码设置3. jdk设置4. 自动引入包和删除无用引入的包5. 打开文件左右联动定位1. 字体设置 菜单字体 编辑区 控制台 收缩自如 2. 编码设置 3. jdk设置 4. 自动引入包和删除无用引入的包 5. 打开文件左右联动定位

跟面试官侃半小时MySQL事务隔离性,从基本概念深入到实现

来源 | 阿丸笔记提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关。而事务的ACID(即原子性Atomicity、一致性Consistency、隔离性Isolation、持久性D…

Java-封装

// 类 public class Student {// 属性私有private String name; // 名字private int id; // 学号private char sex; // 性别private int age; // 年龄// 提供一些可以操作这个属性的方法// 提供一些 public 的 get \ set 方法// get 获得这个数据public String getName(){r…

一条数据的漫游奇遇记

数据库存储引擎是一个有历史的技术,经过数十年的发展,已经出现很多优秀成熟的产品。阿里巴巴 X-Engine 团队撰写的论文 "X-Engine: An Optimized Storage Engine for Large-scale E-Commerce Transaction Processing",详细讲述了团…

idea 编辑区设置

文章目录1. 显示行号2. tabs位置3. tabs排序4.tabs数量5.1. 显示行号 2. tabs位置 3. tabs排序 鼠标按住上下拖拽 按字母排序 4.tabs数量 5.

支付宝玉伯:从前端到体验,如何把格局做大

国内的前端行业,是一个群星璀璨,同时又有些纷纷扰扰的圈子。很多初出茅庐的年轻人怀着改变世界的梦想,谁也不服谁。不过,有一些为前端领域做出贡献的拓荒者几乎受到所有人的尊敬,玉伯就是这些拓荒者中的一员。 如今&am…

Java-继承

一个父类可以有多个子类,但是一个子类只能有一个父类 Person // 在java中,所有的类,都直接或者间接继承Object类 // person 人 父类 public class Person {// public > protected > default > private// public// protected --…

2019报告:AI程序员人才需求暴涨35倍!每10个公司就有6个人才缺口

就在最近,斯坦福大学AI研究所发布了《 2019 年 AI 指数报告》,其中一条数字让笔者震惊:58% 的受访大公司表示,2019 年至少在一个业务部门采用了 AI那就是说,近半数以上的公司都需要AI人才!但是现…

高效代码编辑功能

文章目录1. 行内跳转和选中2. 文件快速切换3. 查看最近查看过的文件4. 打开文件所在文件夹5.导航栏文件切换6. 查找和替换1. 行内跳转和选中 home跳转当前行首 end跳转当前行尾 按住ctrl左右快速按照单词跳转 按住ctrlshrift左右快速选中 2. 文件快速切换 alt左右 3. 查看最…

AnalyticDB for PG 如何作为数据源对接帆软 FineBI

AnalyticDB for PostgreSQL 基于开源数据库 Greenplum 构建,兼容Greenplum 和 PostgreSQL 的语法,接口和生态。本章节介绍如何通过FineBI连接 分析型数据库PostgreSQL版 并进行报表开发。 准备工作 开始使用FineBI之前,用户需要先完成以下准…

推出超低功耗数字式热释电传感器,翠展微电子厉害了……

近日,翠展微电子宣布推出了一款针对人体被动红外(PIR)应用的超低功耗数字芯片M1601。 据了解该方案通过热释电红外传感器以非接触方式检测出人体辐射的信号,并将该信号转换成电信号输入到芯片中进行信号处理。芯片的工作电流极低…

云上的Growth hacking之路,打造产品的增长引擎

增长关乎产品的存亡 增长!增长!增长!业务增长是每一个创业者每天面临的最大问题。无论你的产品是APP,还是web,或者是小程序,只能不断的维持用户的增长,才能向资本市场讲出一个好故事&#xff0…

在容器上构建持续部署及最佳实践初探

作者 | 倚天码农责编| 徐威龙封图| CSDN下载于视觉中国要想理解持续集成和持续部署,先要了解它的部分组成,以及各个组成部分之间的关系。下面这张图是我见过的最简洁、清晰的持续部署和集成的关系图。图源:sonatype.com持续部署如图所示&…