贝尔面瘫

首页 » 常识 » 常识 » 像数据科学家一样思考12步指南中
TUhjnbcbe - 2023/1/13 21:28:00

像数据科学家一样思考:12步指南(上)《像数据科学家一样思考》

7-工程产品

下一步是建立统计软件。如果统计是分析和从数据中得出结论的框架,那么软件就是将这个框架付诸行动的工具。数据科学家必须为任何项目做出许多软件选择。如果你有一个喜欢的软件,这通常是一个不错的选择,但是有充分的理由去挑选别的东西。如果你是数据科学或统计软件的新手,或许很难找到一个起点。

电子表格和基于GUI的应用程序通常是执行任何类型数据分析的首选。特别是如果数据是表格形式的,例如CSV,并且数据不是太多,那么在电子表格中开始分析就很容易了。此外,如果你需要进行的计算并不复杂,那么电子表格甚至可以涵盖项目的所有软件需求。这里常用的软件工具包括Excel、SPSS、Stata、SAS和Minitab。学习这些中级工具之一的编程语言可能是学习真正的编程语言的一个很好的一步,这些语言本身就非常有用。特别是SAS在统计行业中拥有广泛的追随者,学习它的语言本身就是一个合理的目标。

MATLAB是一种专有的软件环境和编程语言,而且MATLAB的成本相当高。有些人决定在一个名为Octave的开源项目中复制它。随着Octave的成熟,它在可用功能和功能方面越来越接近MATLAB。除了使用附加软件包(工具箱)的代码之外,用MATLAB编写的绝大多数代码都可以在Octave中工作,反之亦然。

总的来说,MATLAB和Octave非常适合在信号处理、通信、图像处理和优化等方面使用大型矩阵的工程师(特别是电气工程师)。

R语言是基于贝尔实验室S编程语言创建的。它是开源的,但其许可证比Python和Java等其他流行语言更具限制性,特别是你正在构建商业软件产品时。与MATLAB相比,R中更容易加载和处理不同类型的数据。MATLAB擅长处理表格数据,但一般来说,对于包含标题、混合列类型(整数,小数,字符串等)、JSON和数据库查询的表,R更好。

R的另一个优点是开源,开发人员可以更轻松地在他们认为合适的地方为语言和包开发做出贡献。这些开源贡献帮助R大幅增长并扩展了与其他软件工具的兼容性。CRAN网站提供了数以千计的R包,你可以找到你想要进行的分析类型的软件包,这是R语言的最大优势。MATLAB也有包,但不是很多,尽管它们通常非常好。总体而言,对于统计学家和其他追求数据探索性工作而不是在软件行业中构建生产软件的人来说,R是一个不错的选择。

Python是一种功能强大的语言,可用于编写脚本和创建生产软件。它更适合非统计任务,例如与其他软件服务集成,创建API和Web服务以及构建应用程序。可能因为Python最初是一种通用编程语言,它有一个强大的面向对象设计框架。

尽管Python最初并不是一种专门用于统计的语言,但有些人已经为Python开发了几个软件包,这些软件包提升了它的统计能力,现在足够与R和MATLAB竞争。在使用向量、数组和矩阵时,数值方法的numpy包是必不可少的。软件包scipy和scikit-learn在优化、集成、集群、回归、分类和机器学习等功能中很受欢迎。使用了这三个软件包,Python可以与R和MATLAB的核心功能相媲美,在某些领域,例如机器学习,Python似乎在数据科学家中更受欢迎。对于数据处理,pandas已经变得非常受欢迎。

然而,数据科学中最著名的Python包之一是NaturalLanguageToolkit(NLTK)。它是自然语言处理(NLP)中最受欢迎和最强大的工具。如果有人正在从Twitter、新闻源、电子邮件语料库或其他地方解析和分析文本,那么他们很可能已经使用了NLTK。总的来说,Python非常适合想要进行一些数据科学以及其他一些纯粹的非统计软件开发的人。

虽然Java不是脚本语言,不太适合探索性的数据科学,但Java是软件应用程序开发中最著名的语言之一,因此它经常用于分析应用程序开发。导致Java不利于探索性数据科学的许多原因使其更有利于应用程序开发。Java对于探索性数据科学来说并不是很好,但它对于基于数据科学的大规模或生产代码来说非常有用。Java有许多统计库,可用于从优化到机器学习,其中许多都是由ApacheSoftwareFoundation提供和支持的。

在选择统计软件工具时,请牢记以下标准:

灵活性:除了能够执行你想要的主要统计分析之外,如果统计工具可以执行一些相关方法,通常也会有所帮助。通常你会发现你选择的方法并不像你希望的那样好,而且你在这个过程中学到的东西会让你相信一种不同的方法可能会更好。良好的文档:除了常用之外,统计软件工具应该有全面而有用的文档。如果你无法找到一些重要问题的答案,例如如何配置进行线性回归的输入或如何格式化机器学习功能,这是一个不好的迹象。如果大问题的答案不在文档中,那么找到你将不可避免地遇到的更具体问题的答案就更难了。专用:某些软件工具或其软件包是为特定目的而构建的,之后又添加了其他功能。例如,MATLAB和R中的矩阵代数例程在构建语言时是主要

1
查看完整版本: 像数据科学家一样思考12步指南中