数据科学与大数据技术是一门偏向应用的学科领域, 因此工具就成为重要的组成部分. 在工作中, 数据科学家如果选择有效的工具会带来事半功倍的效果. 一般来说, 数据科学家应该具有操作数据库, 数据处理和数据可视化等相关技能, 还有很多人还认为计算机技能也是不可或缺的, 可以提高数据科学家工作的效率.
在这里相信有许多想要学习大数据的同学, 大家可以 + 下大数据学习裙: 957205962, 即可免费领取套系统的大数据学习教程
开源社区多年来对数据科学工具包开发有着巨大贡献, 这也让数据科学领域得以不断进步. 这里我们收集了一些在数据库, 编程语言, 机器学习, 可视化, 计算机等方面的开源工具. 希望可以帮助到更多数据科学家及对这个领域感兴趣的人.
1.? 数据库
1.1?MongoDB
?
MongoDB 是一个以可伸缩性和高性能著称的 NoSQL 数据库. 它提供了传统数据库的强大替代品, 并使特定应用程序中的数据集成更加容易. 特别适用于构建大型 web 应用程序.
- ?
- 1.2?Apache HBase
- ?
- ?
Apache HBase(Hadoop 数据库)是一个分布式, 可扩展的大数据存储. 数据科学家在需要对大数据进行随机, 实时读 / 写访问时, 可以使用这个开源工具.
?
?
2.? 编程语言
2.1 R
?
?
R 是一种用于数据处理和图形处理的编程语言, 是数据科学家和分析人员使用的一种流行工具. 根据数据科学家的说法, R 语言是最容易学习的语言之一, 因为有大量的包和指南可供用户使用.
?
2.2?Python
?
Python 是数据科学家中另一种广泛使用的语言, 它是一种通用编程语言, 着眼于可读性和简单性. 而且 python 中有非常多可以用于数据处理, 机器学习和可视化的代码库.
*? 数据科学中常用的库见文章: https://mp.weixin.qq.com/s/dLrZWsqrZW7XqG6phS3R7g
?
2.3?Scala
?
Scala 是一种运行在 Java 平台上的通用编程语言. 它适用于大型数据集, 主要用于 Apache Spark 和 Apache Kafka 等大数据工具. 这种函数式编程风格带来了速度和更高的生产率, 这导致越来越多的公司慢慢地将其作为数据科学工具包的重要组成部分加以适应.
?
2.4?SQL
?
SQL 是用于存储在关系数据库中的数据的专用编程语言. SQL 用于更基本的数据分析, 可以执行组织和操作数据或从数据库检索数据等任务. 在数据科学工具中, 它是在数据库中过滤和选择数据的最佳工具之一.
在这里相信有许多想要学习大数据的同学, 大家可以 + 下大数据学习裙: 957205962, 即可免费领取套系统的大数据学习教程
2.5?Julia
?
Julia 是一种用于技术计算的动态编程语言. 它没有被广泛使用, 但由于其灵活性, 设计和性能, 在数据科学工具中越来越受欢迎.
?
?
3.? 数据挖掘
- ?
- 3.1?RapidMiner
- ?
RapidMiner 是一个具有可视化和统计建模功能的预测分析工具. 该软件的基础是 RapidMiner Studio, 它是一个免费的开源平台.
- ?
- 3.2?Data Melt
- ?
Data Melt 是一款数学软件, 拥有先进的数学计算, 统计分析和数据挖掘功能, 而且可以通过编程语言进行补充, 甚至包含一个广泛的教程库.
?
此外, Python 和 R 中都有很多用于数据挖掘的库, 这里就不再赘述了.
?
?
4.? 机器学习
?
4.1?Weka
Weka 是由怀卡托大学用 Java 编写的机器学习软件. 它用于数据挖掘, 允许用户处理大数据集. Weka 的一些特性包括预处理, 分类, 回归, 聚类, 实验, 工作流和可视化.
- ?
- 4.2?TensorFlow
- ?
TensorFlow 是一个用于数值计算的软件库, 它允许程序员在不需要理解其背后的一些复杂原理的情况下的应用深度学习, 并被列为帮助数千家公司应用深度学习的数据科学工具之一.
- ?
- 4.2?Apache Mahout
- ?
- ?
Apache Mahout 是一种构建可伸缩机器学习算法的环境. 算法是在 Hadoop 上编写的. Mahout 实现了三个主要的机器学习任务: 协同过滤, 聚类和分类.
?
4.3 Orange
?
Orange 一个是简单的数据科学工具, 它致力于使数据科学变得有趣和交互式, 允许用户在不需要编码的情况下分析和可视化数据, 也为初学者提供机器学习选项.
- ?
- 4.4 MLBase
- ?
- ?
MLBase 是加州大学伯克利分校的 AMP(算法机器人)实验室开发的一个开源项目. 背后的核心思想是为机器学习应用于大规模问题提供一个简单的解决方案.
?
?
5.? 数据可视化
- ?
- 5.1 D3
- ?
- ?
- 5.2?Axiis
- ?
- ?
在数据科学工具中, Axiis 是一个鲜为人知的数据可视化框架. 它允许用户以一种富有表现力和简洁的形式使用预先构建的组件构建图表和探索数据.
?
6.? 其他工具
- ?
- 6.1?Linux
- ?
- ?
Bash 脚本是计算机科学中最基本的工具, 并且数据科学中很大一部分需要编程, 必须用一些命令行来处理包, 框架管理, 环境变量, 访问路径 ($PATH) 等等, 因此 Linux 是必要的.
?
6.2?Git
?
?
在团队中编码时, 可以借助 Git 解决团队成员代码冲突, 修复 bug, 更新. 将代码提交到开源或私有的 repo(如 GitHub)时, 可以使用 Coveralls 之类的东西进行代码测试, 还有帮助部署代码到生产中的其他框架.
?
6.3?REST APIs
REST APIs 可以让本地的训练模型和可用程序无缝衔接. 通过标准 API 调用或开发可用的应用程序真正让数据科学模型进行预测. 这也是其在数据科学中的巨大作用.
- ?
- 6.4?Docker & Kubernetes
- ?
Docker 让用户拥有一个生产就绪 (production ready) 的应用环境, 不需要为每个运行的单个服务集中配置生产服务器. 与需要安装完整操作系统的虚拟机不同, docker 容器在与主机相同的内核上运行, 并且轻量得多. 一些高级的机器学习库 (如 Tensorflow) 需要特定的配置, 很难在某些主机上进行故障排除, docker 就是一个很好地选择.
?
Kubernetes(K8s)是一个在多主机上进行规模管理和部署容器化服务的平台. 本质上, 这意味着您可以轻松地通过跨水平可扩展集群, 管理和部署 docker 容器.
- ?
- 6.5?Apache Airflow
- ?
- ?
Airflow 是一个较为小众的 Python 平台, 可以使用有向无环图 (DAG) 程序化地创建, 调度和监控工作流. 它能让你可以随时根据需要轻松地设置 Python 或 bash 脚本, 并在用户友好的 GUI 中控制调度作业.
- ?
- 6.6?Elasticsearch
- ?
Elasticsearch 也是一个比较小众的工具. Elastic 通过 Python 客户端便捷地提供了所需的一切, 让你可以轻松地以容错和可扩展的方式索引和搜索文档. 你拥有的数据越多, 启动的节点就越多, 查询执行的速度就越快. 它有很多功能, 甚至支持多语言分析器等定制插件.
- ?
- 6.7?Homebrew
- ?
- ?
Homebrew 是一个 Mac OS 系统的工具, 可以帮助不能开箱即用的 OS 系统通过终端命令进行安装, 弥补了 OS 系统无包管理的缺陷.
来源: http://www.bubuko.com/infodetail-2928819.html