作者 | skura
来源 | AI开发者
大多数有抱负的数据科学家是通过学习为开发人员开设的编程课程开始认识 python 的,他们也开始解决类似 leetcode 网站上的 python 编程难题。他们认为在开始使用 python 分析数据之前,必须熟悉编程概念。
资深数据分析师 Manu Jeevan 认为,这是一个巨大的错误,因为数据科学家使用 python 来对数据进行检索、清洗、可视化和构建模型,而不是开发软件应用程序。实际上,为了完成这些任务,你必须将大部分时间集中在学习 python 中的模块和库上。他认为,学习数据科学的正确姿势应该如下文,AI 开发者进行了编译整理。
请按照下面这个步骤来学习数据科学的 python。
配置编程环境
Jupyter Notebook 是开发和展示数据科学项目的强大编程环境。
在电脑上安装 Jupyter Notebook 最简单的方法是通过 Anaconda 进行安装。Anaconda 是数据科学中使用最广泛的 python 工具,它预装了所有最流行的库。
你可以浏览标题为「A Beginner’s Guide to Installing Jupyter Notebook Using Anaconda Distribution」的博客文章(https://medium.com/better-programming/beginners-quick-guide-for-handling-issues-launching-jupyter-notebook-for-python-using-anaconda-8be3d57a209b),了解如何安装 Anaconda。安装 Anaconda 时,请选择最新的 python 3 版本。
安装完 Anaconda 后,请阅读 Code Academy 的这篇文章(https://www.codecademy.com/articles/how-to-use-jupyter-notebooks),了解如何使用 Jupyter Notebook。
只学习 python 的基础知识
Code Academy 有一门关于 python 的优秀课程,大约需要 20 个小时才能完成。你不必升级到 pro 版本,因为你的目标只是熟悉 python 编程语言的基础知识。课程地址:https://www.codecademy.com/learn/learn-python-3
NumPy 和 Pandas,学习的绝佳资源
在处理计算量大的算法和大量数据时,python 速度较慢。你可能会问,既然如此那为什么 python 是数据科学最流行的编程语言?
答案是,在 python 中,很容易以 C 或 Fortran 扩展的形式将数字处理任务转移到底层。这正是 NumPy 和 Pandas 所做的事情。
首先,你应该学会 NumPy。它是用 python 进行科学计算的最基本的模块。NumPy 支持高度优化的多维数组,这是大多数机器学习算法最基本的数据结构。
接下来,你应该学习 Pandas。数据科学家花费大部分时间清洗数据,这也被称为数据整。
Pandas 是操作数据最流行的 python 库。Pandas 是 NumPy 的延伸。Pandas 的底层代码广泛使用 NumPy 库。Pandas 的主要数据结构称为数据帧。
Pandas 的创造者 Wes McKinney 写了一本很棒的书,叫做《Python for Data Analysis》(https://www.amazon.com/Python-Data-Analysis-Wrangling-IPython-ebook/dp/B075X4LT6K)。在书中的第 4、5、7、8 和 10 章可以学习 Pandas 和 NumPy。这些章节涵盖了最常用的 NumPy 和 Pandas 特性来处理数据。
学习使用 Matplotlib 可视化数据
Matplotlib 是用于创建基本可视化图形的基本 python 包。你必须学习如何使用 Matplotlib 创建一些最常见的图表,如折线图、条形图、散点图、柱状图和方框图。
另一个建立在 Matplotlib 之上并与 Pandas 紧密结合的好的绘图库是 Seaborn。在这个阶段,我建议你快速学习如何在 Matplotlib 中创建基本图表,而不是专注于 Seaborn。
我写了一个关于如何使用 Matplotlib 开发基本图的教程,该教程由四个部分组成。
你可以通过这些教程来掌握 Matplotlib 的基本知识。
简而言之,你不必花太多时间学习 Matplotlib,因为现在公司已经开始采用 Tableau 和 Qlik 等工具来创建交互式可视化。
数据有组织地驻留在数据库中。因此,你需要知道如何使用 SQL 检索数据,并使用 python 在 Jupyter Notebook 中执行分析。
数据科学家使用 SQL 和 Pandas 来操纵数据。有一些数据操作任务使用 SQL 就可以很容易地执行,并且有一些任务可以使用 Pandas 高效地完成。我个人喜欢使用 SQL 来检索数据并在 Pandas 中进行操作。
如今,公司使用 Mode Analytics 和 Databricks 等分析平台来轻松地使用 python 和 SQL。
所以,你应该知道如何一起有效地使用 SQL 和 python。要了解这一点,你可以在计算机上安装 SQLite 数据库,并在其中存储一个 CSV 文件,然后使用 python 和 SQL 对其进行分析。
这里有一篇精彩的博客文章,向你展示了如何做到这一点:Programming with Databases in Python using SQLite(https://medium.com/analytics-vidhya/programming-with-databases-in-python-using-sqlite-4cecbef51ab9)。
在浏览上述博客文章之前,你应该了解 SQL 的基础知识。Mode Analytics 上有一个很好的关于 SQL 的教程:Introduction to SQL(https://medium.com/analytics-vidhya/programming-with-databases-in-python-using-sqlite-4cecbef51ab9)。通过他们的基本 SQL 部分,了解 SQL 的基本知识,每个数据科学家都应该知道如何使用 SQL 有效地检索数据。
学习和 python 相关的基本统计学知识
多数有抱负的数据科学家在不学习统计学的基础知识的情况下,就直接跳到机器学习知识的学习中。
不要犯这个错误,因为统计学是数据科学的支柱。而且,很多数据科学家学习统计学只是学习理论概念,而不是学习实践概念。
我的意思是,通过实践概念,你应该知道什么样的问题可以用统计学来解决,了解使用统计数据可以解决哪些挑战。
以下是你应该了解的一些基本统计概念:
抽样、频率分布、平均值、中位数、模式、变异性度量、概率基础、显著性检验、标准差、z 评分、置信区间和假设检验(包括 A/B 检验)
要学习这些知识,有一本很好的书可以看看:《Practical Statistics for Data Scientists: 50 Essential Concepts》(https://www.amazon.com/Practical-Statistics-Data-Scientists-Essential/dp/9352135652)。不幸的是,本书中的代码示例是用 R 编写的,但是很多人包括我自己在内使用的是 Python。
我建议你阅读本书的前四章。阅读本书的前 4 章,了解我前面提到的基本统计概念,你可以忽略代码示例,只了解这些概念。本书的其余章节主要集中在机器学习上。我将在下一部分讨论如何学习机器学习。
大多数人建议使用 Think Stats (https://www.amazon.com/Think-Stats-Allen-B-Downey/dp/1449307116)来学习 python 的统计知识,但这本书的作者教授了自己的自定义函数,而不是使用标准的 python 库来进行统计知识讲解。因此,我不推荐这本书。
接下来,你的目标是实现在 Python 中学习的基本概念。StatsModels 是一个流行的 python 库,用于在 python 中构建统计模型。StatsModels 网站提供了关于如何使用 Python 实现统计概念的优秀教程。
或者,你也可以观看 Gaël Varoquaux 的视频。他向你展示了如何使用 Pandas 和统计模型进行推理和探索性统计。
使用 Scikit-Learn 进行机器学习
Scikit-Learn 是 Python 中最流行的机器学习库之一。你的目标是学习如何使用 Scikit Learn 实现一些最常见的机器学习算法。
你应该像下面这样做。
首先,观看 Andrew Ng 在 Coursera 上的机器学习课程(https://www.coursera.org/learn/machine-learning)的第 1、2、 3、6,、7 和第 8 周视频。我跳过了关于神经网络的部分,因为作为初学者,你必须关注最通用的机器学习技术。
完成后,阅读「Hands-On Machine Learning with Scikit-Learn and TensorFlow」一书(https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-TensorFlow/dp/1491962291)。你只需浏览这本书的第一部分(大约 300 页),它是最实用的机器学习书籍之一。
通过完成本书中的编码练习,你将学习如何使用 python 实现你在 Andrew Ng 课程中学习到的理论概念。
结论
最后一步是做一个涵盖上述所有步骤的数据科学项目。你可以找到你喜欢的数据集,然后提出有趣的业务问题,再通过分析来回答这些问题。但是,请不要选择像泰坦尼克号这样的通用数据集。你可以阅读「19 places to find free data sets for your data science project」来查找合适的数据集(https://www.dataquest.io/blog/free-datasets-for-projects/)。
另一种方法是将数据科学应用到你感兴趣的领域。例如,如果你想预测股票市场价格,那么你可以从 Yahoo Finance (https://www.scrapehero.com/scrape-yahoo-finance-stock-market-data/)中获取实时数据,并将其存储在 SQL 数据库中,然后使用机器学习来预测股票价格。
如果你希望从其它行业转行到数据科学,我建议你完成一个利用你的领域专业知识的项目。关于这些,我在以前的博客文章"A Step-by-Step Guide to Transitioning your Career to Data Science – Part 1"(https://www.kdnuggets.com/2019/05/guide-transitioning-career-data-science-part-1.html) 和"A Step-by-Step Guide to Transitioning your Career to Data Science – Part 2"(https://www.kdnuggets.com/2019/06/guide-transitioning-career-data-science-part-2.html)中有提到过。
数据分析咨询请扫描二维码
CDA数据分析师认证:CDA认证分为三个等级:Level Ⅰ、Level Ⅱ和Level Ⅲ,每个等级的报考条件如下: Le ...
2024-11-14自学数据分析可能是一条充满挑战却又令人兴奋的道路。随着数据在现代社会中的重要性日益增长,掌握数据分析技能不仅能提升你的就 ...
2024-11-14数据分析相关职业选择 数据分析领域正在蓬勃发展,为各种专业背景的人才提供了丰富的职业机会。从初学者到有经验的专家,每个人 ...
2024-11-14数据挖掘与分析在金融行业的使用 在当今快速发展的金融行业中,数据挖掘与分析的应用愈发重要,成为驱动行业变革和提升竞争力的 ...
2024-11-14学习数据挖掘需要掌握哪些技能 数据挖掘是一个不断发展的领域,它结合了统计学、计算机科学和领域专业知识,旨在从数据中提取有 ...
2024-11-14统计学作为一门基于数据的学科,其广泛的应用领域和多样的职业选择,使得毕业生拥有丰厚的就业前景。无论是在政府还是企业,统计 ...
2024-11-14在当今高速发展的技术环境下,企业正在面临前所未有的机遇和挑战。数字化转型已成为企业保持竞争力和应对市场变化的必由之路。要 ...
2024-11-13爬虫技术在数据分析中扮演着至关重要的角色,其主要作用体现在以下几个方面: 数据收集:爬虫能够自动化地从互联网上抓取大量数 ...
2024-11-13在数据分析中,数据可视化是一种将复杂数据转化为图表、图形或其他可视形式的技术,旨在通过直观的方式帮助人们理解数据的含义与 ...
2024-11-13在现代银行业中,数字化用户行为分析已成为优化产品和服务、提升客户体验和提高业务效率的重要工具。通过全面的数据采集、深入的 ...
2024-11-13在这个数据飞速增长的时代,企业若想在竞争中占据优势,必须充分利用数据分析优化其营销策略。数据不仅有助于理解市场趋势,还可 ...
2024-11-13数据分析行业的就业趋势显示出多个积极的发展方向。随着大数据和人工智能技术的不断进步,数据分析在各行各业中的应用变得越来越 ...
2024-11-13市场数据分析是一门涉及多种技能和工具的学科,对企业在竞争激烈的市场中保持竞争力至关重要。通过数据分析,企业不仅可以了解当 ...
2024-11-13数据分析与数据挖掘是数据科学领域中两个关键的组成部分,它们各有独特的目标、方法和应用场景。尽管它们经常在实际应用中结合使 ...
2024-11-13在如今这个数据驱动的时代,数据分析能力已经成为许多行业的重要技能。无论是为工作需要,还是为了职业转型,掌握数据分析都能够 ...
2024-11-13在如今这个数据驱动的时代,数据分析能力已经成为许多行业的重要技能。无论是为工作需要,还是为了职业转型,掌握数据分析都能够 ...
2024-11-13作为一名业务分析师,你肩负着将业务需求转化为技术解决方案的重任。面试这一角色时,涉及的问题多种多样,涵盖技术技能、分析能 ...
2024-11-13自学数据分析可能看似一项艰巨的任务,尤其在开始时。但是,通过一些策略和方法,你可以系统地学习和掌握数据分析的相关知识和技 ...
2024-11-10Excel是数据分析领域中的一款强大工具,它凭借其灵活的功能和易用的界面,成为了许多数据分析师和从业者的首选。无论是简单的数 ...
2024-11-10在快速发展的商业环境中,数据分析能力已经成为许多行业的核心竞争力。无论是初学者还是经验丰富的专家,搭建一个有效的数据分析 ...
2024-11-10