百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

十步教你成为数据科学家

toyiye 2024-06-21 12:34 15 浏览 0 评论

作者 | Rahul Agarwal

译者 | 弯月,责编 | 伍杏玲

以下为译文:

在大学里,我的专业是机械工程师,所以毕业后我进入了钢铁行业。

我每天都穿着很重的钢靴和塑料头盔,在高炉和轧钢机周围冒险。虽说我们有一定的安全措施,但我知道一旦发生意外,谁都救不了我。或许跑鞋能帮忙,但头盔嘛,在1370摄氏度下连钢都会化成水。

所以我一直处于恐惧状态,我意识到这份工作并不适合我,因此我制定了目标:2011年进入分析和数据科学领域。从那时起,大规模在线开放课程就成了我学习新知识的首选途径,当然后来我也参加了很多这样的课程,好坏参半。

2020年,随着数据科学领域如此快速的变化,我们并不缺乏学习数据科学的资源。但初学者最常遇到一个问题:应该从什么地方下手,以及学什么呢?互联网上有很多资源,也是好坏参半。

Barry Schwartz曾在《选择的悖论》(THE PARADOX OF CHOICE: WHY MORE IS LESS)一书中指出,消除消费者的选择可以大大减少购物者的焦虑感。数据科学课程也是如此。

因此,文本的目的就是为各位感到迷茫的新手提供建议,并为你们的数据科学之旅指明方向。

Python 编程

首先,你需要学习一种编程语言。密歇根大学的以下课讲解如何使用Python以及创建自己的应用程序。

Python 3 Programming Specialization:

https://www.coursera.org/specializations/python-3-programming?action=enroll&ranEAID=lVarvwc5BD0&ranMID=40328&ranSiteID=lVarvwc5BD0-lPz4qOVNorxVbCwvw9KrQA&siteID=lVarvwc5BD0-lPz4qOVNorxVbCwvw9KrQA&utm_campaign=lVarvwc5BD0&utm_content=2&utm_medium=partners&utm_source=linkshare

在这门课程中,你可以学习到编程的基础知识(变量、条件语句以及循环语句等),还可以学习一些中级知识,例如关键字参数、列表推导、lambda表达式和类继承。

数据科学

接下来,我们需要先了解一下机器学习。

密歇根大学以下课程讲解了现代机器学习的入门知识。即便没有掌握所有知识,你也可以利用这些工具构建模型。

Applied Data Science with Python Specialization:https://www.coursera.org/specializations/data-science-python?ranMID=40328&ranEAID=lVarvwc5BD0&ranSiteID=lVarvwc5BD0-5xCr9hsFao15_9pstk.4OA&siteID=lVarvwc5BD0-5xCr9hsFao15_9pstk.4OA&utm_content=2&utm_medium=partners&utm_source=linkshare&utm_campaign=lVarvwc5BD

这门专业课程的面向对象是拥有基本Python或编程背景,并希望通过流行python工具包(例如pandas、matplotlib、scikit-learn、nltk 以及 networkx )应用统计、机器学习、信息可视化、文本分析和社交网络分析技术来深入了解数据。

机器学习理论与基础

完成上述课程之后,你就能成功地入门了。

恭喜你!你对数据科学有了基本了解,而且还知道如何实现。

但是,你还没有完全理解这些模型背后的数学知识。

你需要了解clf.fit背后的细节。如果你不了解模型背后的数学知识,那么还算不上一名数学科学家。

如下是斯坦福大学提供的机器学习课程,其中包含了许多机器学习算法背后的数学知识。

Machine Learning:

https://www.coursera.org/learn/machine-learning?ranMID=40328&ranEAID=lVarvwc5BD0&ranSiteID=lVarvwc5BD0-btd7XBdF681VKxRe2H_Oyg&siteID=lVarvwc5BD0-btd7XBdF681VKxRe2H_Oyg&utm_content=2&utm_medium=partners&utm_source=linkshare&utm_campaign=lVarvwc5BD0&source=post_page---------------------------&ranMID=40328&ranEAID=je6NUbpObpQ&ranSiteID=je6NUbpObpQ-dEliPy0W03upl5lVg_ACYw&siteID=je6NUbpObpQ-dEliPy0W03upl5lVg_ACYw&utm_content=10&utm_medium=partners&utm_source=linkshare&utm_campaign=je6NUbpObpQ

我认为这是一门你必须上的课程,因为这门课程激发了我进入该领域的兴趣,而且Andrew Ng是一位很了不起的讲师。而且,这也是我学习的第一门课程。

这门课程几乎包含了机器学习的所有内容:回归、分类、异常检测、推荐系统、神经网络以及很多出色的建议。

学习统计推断

这门推理统计的课程由杜克大学的?etinkaya-Rundel教授。这是最简单的入门课程。

Inferential Statistics:https://www.coursera.org/learn/inferential-statistics-intro?ranMID=40328&ranEAID=lVarvwc5BD0&ranSiteID=lVarvwc5BD0-ydEVG6k5kidzLtNqbbVQvQ&siteID=lVarvwc5BD0-ydEVG6k5kidzLtNqbbVQvQ&utm_content=2&utm_medium=partners&utm_source=linkshare&utm_campaign=lVarvwc5BD0

?etinkaya-Rundel是一位了不起的讲师,她很好地解释了统计推断的基础知识,这也是一门必修课。

你将在这门课程中了解数值和分类数据的假设检验、置信区间和统计推断方法。

学习基础的SQL知识

虽然创建模型并提出不同的假设很让人有成就感,但数据的处理也不可轻视。

在ETL和数据准备任务中,SQL无处不在,因此每个人都应该了解基础的SQL知识。

此外,SQL已成为Apache Spark等大数据工具的标准。如下加州大学戴维斯分校的课程将为你讲授SQL的专业知识以及如何利用SQL进行分布式计算。

Learn SQL Basics for Data Science Specialization:

https://www.coursera.org/specializations/learn-sql-basics-data-science?ranMID=40328&ranEAID=lVarvwc5BD0&ranSiteID=lVarvwc5BD0-mBEzDIHx4TXzEZrykss6xQ&siteID=lVarvwc5BD0-mBEzDIHx4TXzEZrykss6xQ&utm_content=2&utm_medium=partners&utm_source=linkshare&utm_campaign=lVarvwc5BD0

课程简介:通过数据科学应用程序中的4个难度逐渐增加的SQL项目,学习SQL的基础知识、数据整理、SQL分析、AB测试、使用Apache Spark进行分布式计算等主题。

高级机器学习

上述我们学习的知识都非常简单(你可能有不同的看法),学习材料都是现成的,用到的数学知识也非常有限。但这些知识可以为下一步打好基础。下面是一门由顶级的Kaggle机器学习从业者和CERN科学家讲授的高级机器学习课程,其中讲述了许多难度非常高的概念,可以带领你了解机器过去的工作方式以及机器学习世界最新的发展。

Advanced Machine Learning Specialization:

https://www.coursera.org/specializations/aml?ranMID=40328&ranEAID=lVarvwc5BD0&ranSiteID=lVarvwc5BD0-hwTRi7XT6lsOWS0g2lGNcA&siteID=lVarvwc5BD0-hwTRi7XT6lsOWS0g2lGNcA&utm_content=2&utm_medium=partners&utm_source=linkshare&utm_campaign=lVarvwc5BD0

课程简介:这门课程介绍了深度学习、强化学习、自然语言理解、计算机视觉和贝叶斯方法。顶尖的Kaggle机器学习实践者和CERN科学家将在课程中分享他们解决现实问题经验,并帮助你填补理论与实践的空白。

深度学习

下面这门深度学习专业课程的含金量非常高。

Deep Learning Specialization:

https://www.coursera.org/specializations/deep-learning?ranMID=40328&ranEAID=lVarvwc5BD0&ranSiteID=lVarvwc5BD0-m3SBadPJeg1Z1rWVng39OQ&siteID=lVarvwc5BD0-m3SBadPJeg1Z1rWVng39OQ&utm_content=2&utm_medium=partners&utm_source=linkshare&utm_campaign=lVarvwc5BD0

讲师Andrew Ng以非常浅显易懂的方式解释了难度非常高的概念。

课程简介:了解深度学习的基础知识,了解如何构建神经网络,并学习如何领导机器学习项目走向成功。您将了解卷积网络、循环神经网络(RNN)、长短期记忆网络(LSTM)、Adam、Dropout、批标准化,Xavier/He初始化等等。此外,你还将深入医疗保健、自动驾驶、手语阅读、音乐生成和自然语言处理等案例研究。

Pytorch

我通常从不提倡学习工具,但是在这里我要推荐Pytorch。原因是它不可思议且非常重要,如果你想了解Pytorch,就需要阅读许多近期研究论文中的代码。对于深度学习领域的研究人员来说,Pytorch已成为默认的编程语言,它会让我们受益匪浅。

由IBM提供的课程——Deep Neural Networks with PyTorch

https://www.coursera.org/learn/deep-neural-networks-with-pytorch?ranMID=40328&ranEAID=lVarvwc5BD0&ranSiteID=lVarvwc5BD0-qSeTzSahS03W9YVHnWT_QA&siteID=lVarvwc5BD0-qSeTzSahS03W9YVHnWT_QA&utm_content=2&utm_medium=partners&utm_source=linkshare&utm_campaign=lVarvwc5BD0

课程简介:该课程首先会介绍Pytorch的张量和自动微分软件包。每个章节都会涵盖不同的模型,这些模型从线性回归、逻辑回归/softmax回归等基础知识入手。其次是前馈深度神经网络、不同的激活函数、标准化以及Dropout层的作用。然后还会介绍卷积神经网络和转移学习。最后还会介绍其他几种深度学习方法。

AWS机器学习入门

构建出色的机器学习系统需要考虑很多因素。但是作为数据科学家,通常我们只担心项目的某些部分。

但是,我们是否考虑过在建立好模型后,如何部署模型?

我见过很多机器学习项目,但其中许多注定都要失败,因为从一开始这些项目就没有制定生产计划。拥有一个良好的平台并了解如何部署机器学习应用程序,这一点在现实世界中至关重要。下面这门AWS的课程介绍了如何利用AWS实现机器学习的应用程序。

Getting Started with AWS Machine Learning:

https://www.coursera.org/learn/aws-machine-learning?ranMID=40328&ranEAID=lVarvwc5BD0&ranSiteID=lVarvwc5BD0-Kfb17yr.B2kcW5gmdqpYjw&siteID=lVarvwc5BD0-Kfb17yr.B2kcW5gmdqpYjw&utm_content=2&utm_medium=partners&utm_source=linkshare&utm_campaign=lVarvwc5BD0

你将在这门课程中学习:

一、如何使用带有内置的算法和Jupyter Notebook实例的 Amazon SageMaker 来构建、训练和部署模型。

二、如何使用亚马逊的AI服务(如Amazon Comprehend、Amazon Rekognition、Amazon Translate等)来构建智能应用程序。

数据结构和算法

算法和数据结构是数据科学不可或缺的一部分。尽管大多数数据科学家都没有学习算法和数据结构,但它们都是必不可少的。

许多公司在招聘数据科学家的面试过程中,都会询问数据结构和算法。

Data Structures and Algorithms Specialization:

https://www.coursera.org/specializations/data-structures-algorithms?ranMID=40328&ranEAID=lVarvwc5BD0&ranSiteID=lVarvwc5BD0-GFspWabzEy8Lf9dKWHbYyg&siteID=lVarvwc5BD0-GFspWabzEy8Lf9dKWHbYyg&utm_content=10&utm_medium=partners&utm_source=linkshare&utm_campaign=lVarvwc5BD0

你将在本课程中学习解决各种计算问题的算法,并用你喜欢的编程语言实现大约100种算法编程题。本课程提供的算法题非常接近你下一次面试可能遇到的编程题。

原文链接:https://towardsdatascience.com/top-10-resources-to-become-a-data-scientist-in-2020-99a315194701

作者:Rahul Agarwal,数据科学家@WalmartLabs。

本文为 CSDN 翻译,转载请注明来源出处。

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码