FinOps有望降低企业50%+的云成本! 了解详情
写点什么

谷歌研究总监:学习数据科学应该花时间打牢基础

  • 2021-11-23
  • 本文字数:2779 字

    阅读完需:约 9 分钟

谷歌研究总监:学习数据科学应该花时间打牢基础

对于很多刚迈入职场的人来说,数据科学职业很有前景。数字革命继续创造许多令人兴奋的新机会。谷歌研究总监 Peter Norvig 向数据科学新手建议,在入行前要充分建立基础技能,这样才能更有机会获得成功。


“在 2021 年,数字市场领域的专业人士必须适应数据周期。他们必须知道如何操作数据,了解数据的收集方式,并对其进行分析和解释。未来决策要以数据科学为基础。” — Wendy Moe, 马里兰大学市场营销学教授。


数据科学对于曾经与统计几乎无关的营销和商业等工作,变得越来越重要。将数据科学技能添加到你的技能栈中,会让你在今年的就业市场中占据优势。


如果你有兴趣将数据科学添加到你的技能栈中,你无疑会考虑以下问题:


  1. 学习数据科学的基础知识需要多长时间?

  2. 学习数据科学有哪些资源?


本文将讨论Peter Norvig对考虑数据科学的个人的一些常规建议。

Peter Norvig(谷歌研究总监)的背景


之所以选择上面的标题,是基于 Peter Novig 关于成为编程专家所需时间的想法。如果你还没有读过 Peter Norvig 的这篇文章《十年自学编程》(Teach Yourself Programming in 10 Years)”,我鼓励你去读一读。这里有一个这篇文章的链接:http://norvig.com/21-days.html


这里的观点是,你不需要花费 10 年时间来学习数据科学的基础知识,但是匆忙学习数据科学肯定是没有帮助的。成为一名数据科学家需要时间、努力、精力、耐心和投入。


Peter Norvig 的建议是,学习需要时间、耐心和投入。当心那些告诉你可以在 4 周或 1 个月内学会数据科学的文档、书籍或网站。


如果你对学习数据科学的基础知识感兴趣,请准备投入适当的时间和精力,这样你不仅可以掌握数据科学的粗浅概念,还可以掌握数据科学的深层概念。


我花了 2 年的时间深入学习,掌握了数据科学的基础知识(通过自学),而且我继续挑战自己,每天学习新东西。掌握数据科学的基础知识需要多长时间取决于你的背景。一般来说,有扎实的数学、统计学、计算机科学、工程或经济学等分析学科背景者优先。


Peter Norvig 的《十年自学编程》中的 3 点经验分享:

掌握数据科学的基础知识需要时间、努力、精力、耐心和投入


数据科学是一个非常多学科的领域,需要在高等数学、统计学、编程方面有扎实知识背景,还需要在数据分析、数据可视化、模型构建、机器学习等相关技术方面有扎实的技术背景。我花了 2 年时间专门学习数据科学的基础知识,这是因为我有扎实的数学、物理和编程背景。以下是一些帮助我掌握数据科学基础知识的资源。


1、数据科学专业证书(HarvardX, 通过 edX):https://www.edx.org/professional...


包括以下课程,全部使用 R 教授(你可以免费审核课程或者购买一个认证过的证书):


  • 数据科学:R 基础;

  • 数据科学:可视化;

  • 数据科学:概率论;

  • 数据科学:推理与建模;

  • 数据科学:生产力工具;

  • 数据科学:争论;

  • 数据科学:线性回归;

  • 数据科学:机器学习;

  • 数据科学:顶点


2、分析:基本工具和方法(Georgia TechX, 通过 edX): https://www.edx.org/micromasters...


包括以下课程,全部使用 R、Python 和 SQL 教授(你可以免费审核课程或者购买一个认证过的证书):


  • 分析建模简介;

  • 数据分析计算入门;

  • 商业数据分析。


3、实用的 Python 数据科学 (the University of Michigan, 通过 Coursera)https://www.coursera.org/special...


包括以下课程,全部使用 Python 教授(你可以免费审核大部分课程,有些课程需要构面认证过的证书):


  • Python 数据科学导论;

  • 实用的绘图、图表和数据展示 Python 课程;

  • 实用的机器学习 Python 课程;

  • 实用的文本挖掘 Python 课程;

  • 实用的社交网络分析 Python 课程。


4、 数据科学教科书


从教科书中学习可以提供比在线课程更精细、更深入的知识。这本书对数据科学和机器学习做了一个很好的介绍,代码包括 Sebastian Raschka 的“Python 机器学习”(https://github.com/rasbt/python-machine-learning-book-3rd-edition


作者以一种非常容易理解的方式解释了机器学习的基本概念。此外,还包含了代码,因此你可以实际使用提供的代码来实践和构建自己的模型。我个人认为这本书对我成为数据科学家的过程非常有用。我会向任何有志于数据科学的人推荐这本书。理解这本书,你需要基本的线性代数知识和编程技能。


还有很多其它优秀的数据科学教科书,如 Wes McKinney 的“Python数据分析”,Kuhn & Johnson 的“实用预测建模”,Ian H. Witten、Eibe Frank & Mark A. Hall 的“数据挖掘:实用的机器学习工具和技术”。


5、 与其他数据科学爱好者建立联系


从我个人的经验来看,我通过与其他数据科学爱好者合作,每周就数据科学和机器学习的各种主题进行小组交流,学到了很多东西。与其他数据科学爱好者建立联系,在 GitHub 上分享你的代码,在 LinkedIn 上展示你的技能,这会帮助你在短期内学习许多新概念和工具。你还会接触到新的做事方式,以及新的算法和技术。

理解数据科学的理论基础与实用的数据科学技能同等重要


数据科学是高度数学密集型的,需要以下方面的知识:


1、统计学与概率论

2、多元微积分

3、线性代数

4、优化与运筹学


从这里了解更多你需要关注的数学主题:机器学习所需的基本数学技能


尽管 Python 的 sci-kit learn 包和 R 的 Caret 包,包含用于进行数据科学和构建机器学习模型的多种工具,但理解每种方法的理论基础是极其重要的。

避免将机器学习模型当作黑盒工具使用

坚实的数据科学背景将使数据科学家能够建立可靠的预测模型。例如,在构建模型之前,你可能会问自己:


1、预测变量是什么?


2、目标变量是什么?我的目标变量是离散的还是连续的?


3、我应该使用分类分析还是回归分析?


4、 如何处理数据集中缺少的值?


5、 当变量达到相同的比例时,我应该使用归一化还是标准化?


6、我是否应该使用主成分分析?


7、 如何调整模型中的超参数?


8、如何评估我的模型以检测数据集中的偏差?


9、我是否应该使用集成方法,使用不同的模型进行训练,然后进行集成平均,例如使用 SVM、KNN、Logistic Regression 等分类器,然后对三个模型进行平均?


10、如何选择最终模型?


好的机器学习模型与坏的机器学习模型之间的区别取决于一个人理解模型中所有细节的能力,包括关于不同超参数的知识,以及如何调整这些参数以获得具有最佳性能的模型。将任何机器学习模型当黑盒使用,而不充分理解模型的复杂性,会导致一个没有依据的模型。


总之,数据科学是当今最热门的领域之一。数字革命创造了大量的数据。企业、工厂、组织和政府每天都在生成大量数据。对高水平的数据科学家的需求只会继续增加。现在正是投资时间来掌握数据科学基础知识的最佳时机。在这样做的时候,警惕那些告诉你可以在 4 周或 1 个月学会数据科学的文章、书籍或网站。不要着急。慢慢掌握数据科学的基础知识。


作者介绍


Benjamin Obi Tayo Ph.D. 物理学家、数据科学教育家、作家。兴趣:数据科学、机器学习、人工智能、Python & R、个人金融分析、材料科学、生物物理学。


原文链接


https://www.kdnuggets.com/2021/07/google-advice-learning-data-science.html

2021-11-23 19:17369
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 447.0 次阅读, 收获喜欢 1939 次。

关注

评论

发布
暂无评论
发现更多内容

浅析 Cocoapods-Packager 实现

Edmond

ruby ios CocoaPods binary packager

Netty 源码解析(四): Netty 的 ChannelPipeline

猿灯塔

你真的理解 Java 的基础数据类型吗

Rayjun

Java

神经网络的激活函数为什么要使用非线性函数

王坤祥

神经网络 激活函数

学习来应对创业的未知

Neco.W

创业 重新理解创业

MySQL中order by语句的实现原理以及优化手段

天堂

Java MySQL 性能优化

选赵敏还是选小昭,这可真是个问题 | Decision Tree

张利东

Python 学习 算法 决策树

跬步贴|5分钟搞定缓存击穿问题

架构师跬步营

消息队列Kafka - acks参数

Java收录阁

kafka

从数据闭环谈微服务拆分

松花皮蛋me

微服务

多云的一点思考

HU

Java并发编程系列——锁

孙苏勇

Java Java并发 并发编程 多线程

怎样算是一个好的开发者?

水滴

开发者

和邓小平、基辛格“谈笑风生”的世界第一女记者:奥琳亚娜·法拉奇

赵新龙

记者 编辑 采访 法拉奇

南丁格尔科普

小匚

为什么正在使用的Java版本跟环境变量的版本不一致

阡陌r

Java 踩坑

安装VMware16兼容Hyper-v+WSL2+Docker+解决0x80370102报错

虚拟世界的懒猫

Docker vmware vm hyper-v WSL2

经济大萧条对我的启示

Neco.W

创业 自我管理 职场 自我提升

下一代存储NVMe over Fabrics

HU

把成功过成自己的生活

子铭

成功学 生活状态

DDD 实践手册(2. 实现分层架构)

Joshua

设计模式 领域驱动设计 DDD 系统架构 分层架构

韦小宝真的幸福吗 | Random Forest

张利东

Python 学习

利用Translate ToolKit 2.5.0 API构建Flask web app

虚拟世界的懒猫

Python nginx flask uwgsi translate

Day 47|Week 07-5 曾国藩家书|问学篇-学问何处何时都可做

熊小北同学

如何写作一本书(2):前言与正文

英子编辑

技术 写作

“我代码写完了,QA可以测了。”

蔡建斌

Scrum 敏捷 质量管理 测试

我愿沉迷于学习,无法自拔(一)

孙瑜

深度思考 个人成长

说出来就不灵啦

伯薇

糊涂 活在当下 享受状态 生活状态 观察者

如何优雅滴在手机上跑Python代码

王坤祥

Python 移动应用 手机编程

配置微软Azure大数据HDInsight云集群

虚拟世界的懒猫

microsoft 大数据 微软 azure hdinsght

Arthas安装及基本用法

编程随想曲

Java

  • 需要帮助,请添加网站小助手,进入 InfoQ 技术交流群
谷歌研究总监:学习数据科学应该花时间打牢基础_AI_Benjamin Obi Tayo Ph.D._InfoQ精选文章