怒江傈僳族自治州网站建设_网站建设公司_页面权重_seo优化
2026/1/16 11:02:37 网站建设 项目流程

原文:towardsdatascience.com/kickstart-your-data-science-journey-a-guide-for-aspiring-data-scientists-96e5072bd19a

你对数据科学感兴趣吗?你对数学和人工智能感到兴奋吗?你想探索数据科学并计划从事数据科学职业吗?无论你不确定从哪里开始,还是刚刚踏入数据科学领域,你都已经来到了正确的位置。相信我,这个指南将帮助你自信地迈出第一步!

非会员可以点击这里阅读全文。

数据科学是工作中最激动人心的领域之一。它是一个多学科领域,结合了各种技术和工具来分析复杂的数据集,构建预测模型,并在商业、研究和技术中指导决策。

数据科学应用于金融、医疗保健、社交媒体、旅行、电子商务、机器人技术、军事和间谍活动等各个行业。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/1fff25cae2ab27670bf9f4bcd29aa768.png

使用 GPT 4o 生成的图像

关于数据科学的神话与真相

互联网上关于如何开始数据科学的资料丰富,导致了对数据科学的神话和误解。其中两个最重要的误解是—

  1. 是否需要学习数学?— 许多在线课程和训练营宣称你可以在 50 天内成为一名数据科学家!这些课程往往具有误导性。它们专注于高级机器学习(ML)主题,提供一些使用 ML 框架的快速编码教程,并告诉你不要深入研究数学细节。不关心背后的数学是不行的。数学很重要。导入库、将模型视为黑盒、依赖高级 API 并不是真正的数据科学,尤其是在以产品为基础的公司中。

  2. 数据科学等于大型语言模型/生成式 AI 吗?— 不。数据科学并不等同于大型语言模型(LLMs)/生成式 AI。数据科学远远超出了 LLMs,包括各种工具和算法。LLMs 是开创性的,但并不适合解决每一个学术、研究或商业问题。LLMs 只是众多工具之一,不应定义整个技能集。

数据科学家需要掌握扎实的数学基础。对于刚开始数据科学之旅的人来说,专注于数学和基础知识,在深入研究像 LLMs 这样的高级内容之前至关重要。我在整篇文章中都强调了基础知识的重要性。对基本概念的了解将帮助你从众多数据科学求职者中脱颖而出。它将帮助你在这个快速发展的领域中脱颖而出,并跟上其发展的步伐。把它想象成建造大楼的基础。这需要最多的时间和努力。支撑着所有后续工作。一旦基础稳固,你就可以开始一层层向上建造,扩展你的知识和技能。

期望你做什么?

  1. 耐心— 成为数据科学家是一个漫长、充满挑战和繁琐的过程。耐心是关键。准备好应对一些挑战。

  2. 激情— 激情推动成功。你对数据和解决问题的好奇心和热情将推动你的进步。

  3. _ 成长心态 _ — 数据科学是一个庞大且快速发展的领域。拥抱持续学习的态度。始终寻求改进并保持更新。

  4. 从第一性原理思考— 从第一性原理思考是任何职业的黄金法则。它通过将问题分解到基本层面并从基础构建解决方案来帮助你解决问题。

  5. 一致性— 持之以恒的努力会积累成巨大的成功。不断采取小步骤。

如果你是一个初学者,知道从哪里开始可能会感到不知所措。面对如此多的工具、概念和技术需要学习,很容易感到迷茫。但别担心!

在这篇文章中 —

  • 我将探讨数据科学家在组织中的角色,并突出他们的关键责任和贡献。

  • 我会讨论你启动数据科学职业生涯所需的最基本的技术技能。

  • 我会解释为什么这些技能很重要。

  • 我会分享一些宝贵的资源,帮助你学习和培养这些技能。

让我们开始吧!


数据科学家的工作描述

  • 定义问题陈述— 数据科学家的角色始于使用数据驱动方法和预测建模来识别和解决业务挑战。第一步涉及与产品经理和领域专家合作,定义一个清晰和精确的问题陈述。

  • 探索性数据分析与模型训练— 数据科学家通过数据分析来识别潜在问题。一旦问题得到定义,下一步就是收集和探索训练机器学习模型所需的数据。这就是他们应用主要数据科学技能和判断力以获得稳健模型的地方。

  • 模型评估— 数据科学家在开发和跟踪评估指标以量化机器学习模型的成功方面发挥着关键作用。例如,在电子商务推荐系统中,这些指标可以衡量模型对销售、用户参与度或收入增长的影响。定义正确的指标确保模型与业务目标一致,并能为企业带来有意义的价值。

  • 模型部署和 A/B 测试– 模型准备就绪后,你需要与工程师紧密合作将其部署到生产环境中。他们进行 A/B 测试以验证模型的有效性,并扩大模型的使用规模。他们还会监控其性能随时间的变化。

  • 研究和实验— 数据科学家不断尝试创新想法以改进他们的模型。跟上最新的研究至关重要。阅读研究论文可以提供对新方法、算法和突破的见解。


以下技术技能是必要的。

  1. 数学 – 线性代数、概率、统计学和微积分

  2. 机器学习基础

  3. 编程 – Python 和 SQL

1. 数学

数学无处不在。毫无疑问,它是数据科学的骨架和核心。一位优秀的数据科学家必须对数学有深入而简洁的理解。掌握数学将帮助你

  • 正确探索、分析和解释大量嘈杂的工业数据集。

  • 从数据中提取有意义的结论。

  • 掌握你想要使用的任何机器学习模型背后的基本原理。

  • 根据你的需求调整模型(模型超参数、神经网络架构、损失函数)。

  • 选择适当的机器学习和业务指标来评估你构建的模型。

  • 生成反馈循环以检测模型可能失败的可能场景。

  • 执行错误/根本原因分析以了解模型缺陷。

没有数学理解,你将难以揭开黑盒。以下主题非常重要。

1.1. 线性代数

线性代数是数学中一个美丽而优雅的分支,它处理向量、矩阵和线性变换。线性代数概念对于解决线性方程组和操作高维数据是基本的。

为什么需要它?

  • 在工业界,大规模数据本质上具有高维性。线性代数为使用向量和矩阵表示、存储和高效操作此类数据提供了数学基础。通过利用线性代数概念(如线性变换、行列式、正交性和秩),可以轻松执行数据转换、投影和优化。

  • 例如,降维技术如主成分分析(PCA)依赖于奇异值分解等概念,以提取大型数据集的有意义、低维表示。

  • 线性代数深深嵌入到许多机器学习算法的核心中。神经网络和 LLM 依赖于高效的矩阵运算,如矩阵乘法,以处理训练和推理的巨大计算需求。

英伟达的人们每天都在变得越来越富有,因为他们生产和销售硬件(GPU)并编写开源优化的软件(Cuda)以执行高效的矩阵运算!

在哪里学习线性代数?

  • 吉尔伯特·斯特兰格的 MIT 讲座— 这里。他是世界上最优秀的线性代数教师之一。斯特兰格教授是一位传奇人物。他的解释和教学方法使这门学科变得更加有趣。

  • 谢尔登·艾克勒的书籍– 这里. 你可以用谢尔登·艾克勒的书籍作为参考书和实践练习。

  • 3Blue1Brown YouTube 频道—*这里。关注这个 YouTube 频道,以获取线性代数中不同概念的引人注目可视化。

1.2. 概率和统计

概率和统计对于理解数据驱动领域的不确定性至关重要。概率论提供了一个数学框架来量化事件的可能性。统计学涉及收集、组织、分析和解释数据以做出明智的决策。

为什么它们是必需的?

  • 在深入研究机器学习模型之前,分析和理解数据的基本属性至关重要。高中概念如均值、中位数、众数、方差、分位数和标准差是探索数据分布和趋势的基础。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d161ad596c61d55369aeffc165a02ded.png

由Luke Chesser在Unsplash上的照片

  • 方差、协方差和相关性等统计概念对于识别特征之间的关系至关重要。

  • 概率是驱动预测建模的核心原则。对概率公理、概率密度函数、概率分布函数、随机变量(连续和离散)、贝叶斯定理、期望、方差、联合分布和条件概率的深入了解是必不可少的。

  • 机器学习算法通常假设输入数据和输出遵循某种概率分布。熟悉高斯(正态)、几何、伯努利、二项式、泊松和贝塔等分布,有助于更好地假设数据和模型。

  • 在产品数据科学中,A/B 测试是一种常见的做法,用于比较变体并做出决策。了解使用 z 检验和卡方检验等统计测试进行假设检验的知识是有用的。

在哪里学习概率和统计?

  • John Tsitsiklis 教授的麻省理工学院概率论入门讲座– 这里。

  • 斯坦福大学计算机科学家概率论讲座– 这里

  • Josh Starmer 的统计学 YouTube 播放列表— 这里. 他的视频非常引人入胜。你可以关注他的 YouTube 频道学习其他数据科学概念。这个频道很有用,特别是对于学习/复习统计学概念。

  • Sheldon Ross 的书籍– 这里。你可以将 Sheldon Ross 的书籍作为参考书。练习这本书中的练习题。

1.3. 微积分

微积分是关于寻找函数变化率的。微积分,尤其是微分微积分,在机器学习中扮演着核心角色。它计算曲线的斜率或梯度,这告诉我们一个量如何响应另一个量的变化。

为什么它是必需的?

  • 机器学习算法旨在获得一组具有最小预测误差(或损失函数)的参数。梯度下降等优化算法被广泛用于最小化预测误差并更新模型参数。

  • 在深度学习中,微分链式法则对于反向传播算法至关重要。反向传播通过深度神经网络高效地计算梯度。它对于理解神经网络的工作原理以及如何使用梯度来获得最佳模型参数至关重要。

2024 年诺贝尔奖获得者 Geoffrey Hinton 与 1986 年共同撰写了反向传播算法论文!

在哪里学习微积分?

等等!你很快就会知道的!


2. 机器学习基础

机器学习建立在线性代数、概率、统计学和微积分的核心原则之上。本质上,机器学习是应用数学,一旦你掌握了背后的数学,理解基本机器学习概念就会变得容易得多。这些基础知识对于构建稳健且准确的机器学习模型至关重要。

大多数综合机器学习课程都是从介绍各种算法开始的。有监督学习、无监督学习、自监督学习和强化学习方法,每种方法都针对特定问题设计。根据任务是否预测标签、连续值或识别模式,机器学习算法进一步分为分类、回归和聚类。

几乎所有的机器学习工作流程都遵循一个结构化的过程,包括以下关键步骤:

  • 特征工程与数据预处理— 尽管这可能是数据科学中最不耀眼的部分,但特征工程和数据预处理在决定你的机器学习模型表现好坏中起着关键作用。这包括将你的数据分为训练集、验证集和测试集。其他关键活动包括降维、特征选择、归一化和处理异常值。正确处理缺失值和类别不平衡(在分类任务中)对于防止偏差或不准确的模型至关重要。这些步骤确保你的数据干净且结构合理,使模型能够专注于从有意义模式中学习,而不是噪声。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/b8edbaf0688e9fc011f745b627605cc9.png

由 GPT 4o AI 生成的图像

  • 训练与优化—概率和统计学在定义机器学习算法的损失函数中起着关键作用。一个关键概念,最大似然估计(MLE),通常用于根据我们对数据分布的假设推导出损失函数。在训练过程中,模型的参数(权重)通过优化损失函数迭代更新。正如你可能猜到的,这是通过梯度下降算法完成的。到处都是数学!

  • 过拟合与欠拟合— 这些是我们训练机器学习模型时面临的许多挑战中的两个。过拟合发生在模型在训练数据中学习到噪声,并在未见过的数据上表现不佳时。欠拟合发生在模型过于简单,无法捕捉潜在模式,导致训练和测试数据表现不佳。偏差-方差权衡****是模型复杂性和泛化之间的平衡。高偏差导致欠拟合,高方差导致过拟合。通过调整超参数、应用正则化和观察验证集性能来管理这种权衡是数据科学家的重要技能之一。

  • 评估指标— 作为一名数据科学家,选择最合适的指标来评估你的模型至关重要。评估是在测试集上进行的。有大量的机器学习指标适合不同的问题场景。

在哪里学习机器学习?

  • Andrew Ng 的斯坦福大学机器学习专项课程– 在此. 我在 2019 年参加了这门课程。这仍然是理解基本机器学习的最佳课程。你可以免费审计这门课程!这个专项课程不深入讲解数学,但能让你对机器学习有一个直观的理解。

  • 康奈尔科技的应用机器学习讲座— 这里。这门课程非常重要。它从微积分和优化的基础开始,然后深入探讨各种机器学习算法的细节。你将在这里见证线性代数、概率和微积分概念的融合。上述链接中提供了讲义。

这些课程将涵盖机器学习算法,如线性回归、贝叶斯分类器、逻辑回归、k-means 聚类、高斯混合模型、支持向量机、神经网络、决策树、随机森林和提升算法。

对数学和机器学习基础知识的清晰理解打开了探索深度学习、自然语言处理、计算机视觉、推荐系统、生成式 AI 和大型语言模型(LLMs)等高级概念的大门。

你可能已经注意到了一个模式。我为你提供了包括麻省理工学院、斯坦福大学、卡内基梅隆大学和康奈尔科技等顶尖大学的讲座资源。从现在开始,每次你想提升技能时,都寻找这些大学的课程讲座。它们提供了最好的解释和内容。例如,斯坦福大学在其 YouTube 频道上提供了关于深度学习、图机器学习和强化学习的课程。


3. 编码

编码技能与数学一样,对于成为一名数据科学家至关重要。编码技能有助于发展你的问题解决和批判性思维能力。你必须掌握的最重要的编码技能是 Python 和 SQL。

3.1 Python

由于其简单性、多功能性和强大的库,Python 是数据科学中最广泛使用的编程语言。

你将需要做什么?

  • 你的第一个目标必须是学习基本的数据结构,如字符串、列表/数组、字典,以及核心面向对象编程(OOP)概念,如类和对象。在这两个领域成为专家。

  • 了解像树、图和遍历算法这样的高级数据结构是一个加分项。

  • 你必须精通时间和空间复杂度分析。这将有助于你在实践中编写高效的代码。学习基本的排序和搜索算法可以帮助你充分理解时间和空间复杂度。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/1ab4f8f0f9b88bf67be1318cee9845a8.png

由Chris Ried在Unsplash上的照片

Python 拥有最好的数据科学库集合。其中两个最重要的库是—

  • NumPy—这个库支持向量和矩阵的高效操作。

  • Pandas/PySpark –Pandas 是一个强大的数据帧库,用于数据操作和分析。它可以处理如.csv.parquet.xlsx这样的结构化数据格式。Pandas 数据帧支持简化过滤、排序和聚合数据等任务的操作。Pandas 库适合处理小型数据集。PySpark 库用于处理大数据。它支持多种 SQL 操作(本文稍后讨论),使其在分布式环境中处理大型数据集变得理想。

除了这些,你还会遇到并经常使用几个其他库——

  • Scikit-learn –一个用于实现机器学习算法、数据预处理和模型评估的常用库。

  • PyTorch –这是一个广泛用于构建和训练神经网络的深度学习框架。

  • Matplotlib 和 Seaborn –用于数据可视化的库,允许你创建图表、图表和图形来可视化和理解数据。

作为初学者,掌握每一个库并不是必需的。有无数个特定领域的库,例如OpenCV, statsmodelTransformers,你将通过实际操作自然地掌握它们。学习使用库是数据科学中最容易的部分之一,随着你参与更多项目,这会变得像第二本能一样。没有必要去记忆函数——说实话,我仍然经常在谷歌上搜索各种 Pandas 和 PySpark 函数!我看到很多有志者只专注于库。虽然库很重要,但它们只是你工具箱中的一小部分。

3.2 SQL

SQL(结构化查询语言)是数据科学家的一项基本工具,尤其是在处理存储在关系型数据库中的大数据集时。许多行业的数据都存储在像 SQL 这样的关系型数据库中。SQL 是在开始你的数据科学之旅时需要磨练的最重要技能之一。SQL 允许你高效地查询、操作和检索数据。这通常是任何数据科学工作流程的第一步。无论你是提取数据用于探索性分析、连接多个表,还是执行计数、平均和过滤等聚合操作,SQL 都是首选的语言。

我在开始职业生涯时对 SQL 查询只有基本了解。当我加入现在的公司,开始专业使用 SQL 时,这种情况发生了变化。我处理了行业级的大数据,运行 SQL 查询以获取数据,并获得了实践经验。

以下 SQL 语句和操作很重要——

基础 –

  • 提取(Extraction)——select语句是 SQL 查询中最基本的语句。

  • 过滤(Filtering)—— 使用where关键字根据条件过滤数据。

  • 排序(Sorting)—— 使用order by关键字按ascdesc顺序对数据进行排序。

  • 连接(Joins) –正如其名所示,SQL 连接可以帮助你在 SQL 数据库中连接多个表。SQL 有不同类型的连接——左连接(left)、右连接(right)、内连接(inner)、外连接(outer)等。

  • 聚合函数— SQL 支持各种聚合函数,如**count(), avg(), sum(), min(), max()**。

  • 分组– 常常与聚合函数一起使用group by关键字。

高级 –

  • 窗口函数– 窗口函数是 SQL 中的一个强大功能,允许你在与当前行相关的一组表行上执行计算。一旦你熟练掌握了上述基本 SQL 查询,熟悉以下窗口函数:row_number(), rank(), dense_rank(), lead(), lag()。聚合函数也可以用作窗口函数。partition by关键字用于对行集(称为窗口)进行分区,然后执行窗口操作。

  • 公用表表达式 (CTEs)– CTEs 使 SQL 查询更易于阅读和模块化,尤其是在处理复杂的子查询或递归查询时。它们使用**with**关键字定义。这是一个高级概念。

你经常会结合 Python 的 PySpark 库和 SQL 一起使用。PySpark 提供了所有 SQL 操作的 API,有助于将 SQL 和 Python 集成。你可以在 Python 中无缝地对 PySpark 数据框执行各种 SQL 操作!

3.3 练习,练习,再练习

  • 严格的练习是掌握编码技能的关键,像 LeetCode 和 GeeksForGeeks 这样的平台提供了优秀的教程和练习,以提升你的 Python 技能。

  • SQLZOO 和 w3schools 是开始学习 SQL 的绝佳平台。

  • Kaggle 是结合你的机器学习和编码技能来解决机器学习问题的最佳场所。获得实践经验非常重要。选择任何比赛。玩转数据集,并应用你在讲座中学到的技能。

  • 在不使用 scikit-learn 或 PyTorch 等特殊机器学习库的情况下实现机器学习算法是一项很好的自学练习。为基本算法如 PCA、梯度下降和线性/逻辑回归从头编写代码可以帮助你增强理解和编码技能。

在我在印度科学研究所,班加罗尔的 AI 硕士学位课程期间,我们有编码作业,其中我们用 C 语言实现了算法!是的,C 语言!其中一项作业是关于训练用于 MNIST 数字分类的深度神经网络。

我用 C 语言从头开始构建了一个深度神经网络。我创建了一个自定义的数据结构来存储权重,并编写了用于梯度下降和反向传播的算法。当 C 代码在我的笔记本电脑 CPU 上成功运行时,我感到极大的满足感。我的朋友嘲笑我进行这种“不切实际”的练习,并认为我们已经有高度高效的库来完成这样的任务。尽管我的代码效率不高,但从头编写代码加深了我对深度神经网络内部机制的理解。

你最终将在学术和工业项目中使用库。然而,作为一个新手,直接跳入库可能会阻止你完全理解基础知识。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/b9e92410ac80fe18a0d5774755cd77a9.png

由Sergio Carpintero在Unsplash上的照片


最后的注意事项

恭喜你在文章中走这么远!我们已经涵盖了成为数据科学家所需的核心技能。到现在,我希望你对为什么基础知识如此重要有了坚实的理解。

来自知名机构的硕士学位可以在数学和机器学习概念上提供结构化的学习。它还提供了参与项目和获得实践经验的机会。然而,如果你追求正式学位不是一个选择,不要担心。你可以遵循之前提到的 YouTube 播放列表和参考书籍来自学。

每个专家都曾是从新手开始的。关键是要从小处着手。一步一步来,逐渐积累你的知识。确保不要跳过任何步骤——先掌握数学知识,然后再去应用它。不要急于求成。专注于真正理解每个概念。建立坚实的基础和从第一原理出发思考应该始终是你的座右铭。随着时间的推移,一切都将开始各就各位。有了正确的思维方式,你将在这一旅程中脱颖而出。

如果你还没有成为 Medium 会员,我强烈推荐你加入。你将解锁无限访问宝贵资源。相信我,这是一个知识宝库!你将找到由数据科学专业人士和专家撰写的有见地的文章。

我希望你觉得我的文章有趣。感谢阅读,祝你数据科学之旅好运!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询