Data Science For Beginners:数据科学的定义、数据类型与端到端数据分析实战指南

发布时间:2026/9/14 0:02:08
Data Science For Beginners:数据科学的定义、数据类型与端到端数据分析实战指南 Data Science For Beginners数据科学的定义、数据类型与端到端数据分析实战指南【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners数据科学是从数据中提取知识、发现隐藏关系并构建可行动决策模型的交叉学科。本指南以 Data-Science-For-Beginners 课程的第一课为主线系统讲解「什么是数据」「什么是数据科学」「数据类型与来源」「数据科学工作流」「数字化与数字化转型」并结合仓库中的 Jupyter Notebook 实战文本挖掘与词云构建与配套作业帮助读者完整走一遍从数据获取到可视化的数据科学入门流程。读完本文你将掌握数据科学的五大核心环节获取→存储→处理→可视化→建模并能独立运行一套基于真实网页文本的关键词提取分析。什么是数据从日常到计算机世界的核心在我们的日常生活中数据无处不在此刻你正在阅读的文字是数据智能手机里好友的电话号码列表是数据手表上显示的当前时间也是数据。作为人类我们天然就在操作数据——例如清点手中的现金、给朋友写信。然而数据真正变得关键是计算机诞生之后的事情。计算机的主要角色是执行计算但它必须依赖数据才能运转因此我们需要理解计算机如何存储与处理数据。随着互联网的出现计算机作为数据处理器的角色被进一步放大。仔细想一想如今我们使用计算机越来越多地是在创建、存储、传输与操作数据而非真正做数值计算。当你给朋友写电子邮件、在网络上搜索信息时本质上都在处理数据。你还记得上一次纯粹用计算机算一个东西是什么时候吗什么是数据科学维基百科将**数据科学Data Science**定义为一个利用科学方法从结构化和非结构化数据中提取知识与洞见并将可行动的知识与洞见应用于广泛业务领域的科学领域。这个定义强调了数据科学的几个重要方面核心目标是「提取知识」——换句话说是理解数据、发现隐藏的关系并构建模型model。数据科学使用科学方法例如概率与统计。事实上当data science一词被提出时有人曾认为它不过是统计学的时髦新名字。如今看来这一领域远比统计学宽泛。所获得的知识必须能够转化为可行动的洞见actionable insights即能够应用于真实业务场景的实用结论。我们必须同时能够操作结构化数据与非结构化数据——关于不同类型的数据本文后续会详细展开。**应用领域domain of application**是一个重要概念数据科学家往往需要具备一定程度的领域经验例如金融、医疗、市场营销等。数据科学的另一个重要方面是它研究如何利用计算机对数据进行收集、存储与操作。统计学为我们提供数学基础而数据科学则将数学概念落地真正从数据中获得洞见。作为第四范式的数据科学一种看待数据科学的方式该观点归功于计算机科学家 Jim Gray是将其视为科学中一个独立的研究范式范式核心方式经验范式Empirical主要依赖观察和实验结果理论范式Theoretical基于已有科学知识推演出新概念计算范式Computational基于一些计算实验发现新原理数据驱动范式Data-Driven基于在数据中发现的关系与模式数据驱动范式正是数据科学区别于传统学科的独特之处——它直接从数据中长出规律而非先假设、后验证。数据科学的相关领域由于数据无处不在数据科学本身也是一个触及许多其他学科的广阔领域数据库Databases一个关键的考量是如何存储数据即如何组织数据以支持更快的处理。不同类型的关系型与非关系型数据库分别存储结构化和非结构化数据这一主题在课程的 2-Working-With-Data 部分有完整介绍。大数据Big Data我们常常需要存储和处理结构相对简单但规模巨大的数据。针对这类数据有专门的思路与工具将它们分布式地存储在多台计算机构成的集群中并进行高效处理。机器学习Machine Learning理解数据的一种方式是构建模型来预测期望的结果。从数据中开发模型的过程被称为机器学习。本课程的姊妹课程 机器学习入门ML for Beginners对这一主题做了深入讲解。人工智能Artificial Intelligence机器学习的一个分支被称为人工智能AI它同样以数据为基础涉及构建模仿人类思维过程的高复杂度模型。AI 方法常常能把非结构化数据例如自然语言转化为结构化的洞见。可视化Visualization海量数据对人类来说是不可理解的但一旦我们基于这些数据创建有用的可视化就能更好地理解它们并得出结论。因此掌握多种信息可视化方式非常重要——这正是课程 3-Data-Visualization 部分的内容。相关领域还包括信息图Infographics与更广义的人机交互Human-Computer Interaction。数据类型结构化、半结构化与非结构化正如前文提到的数据无处不在我们只需要用正确的方式捕捉它们。一个非常实用的区分是结构化数据与非结构化数据前者通常以某种规范形式呈现最常见的是单张或多张表后者则只是一组文件。有时我们还会谈到半结构化数据它们带有某种结构但该结构的形态可能差异很大。下表给出了三类数据的典型示例结构化半结构化非结构化带电话号码的人员列表带链接的维基百科页面不列颠百科全书的正文文本过去 20 年大楼每个房间每分钟的温度包含作者、发布日期和摘要的 JSON 格式科学论文集合共享的企业文档文件进入大楼的所有人的年龄与性别数据互联网网页监控摄像头拍摄的原始视频理解这三种形态是后续选择存储方案与处理技术的前提。在哪里获取数据可能的数据来源有很多想要全部罗列几乎不可能。不过我们可以列举一些典型的数据获取场景结构化数据物联网IoT来自各类传感器如温度、压力传感器的数据提供了大量有用信息。例如如果一栋办公楼配备了 IoT 传感器我们就能自动调节供暖与照明以最小化成本。调查问卷Surveys用户在购物后或访问网站后被要求填写的问卷。行为分析Behavior analysis例如帮助我们理解用户在网站上浏览到多深、用户离开网站的典型原因是什么。非结构化数据文本Texts可以是丰富的洞见来源例如整体情感得分sentiment score或提取关键词与语义含义。图像或视频Images / Videos监控摄像头拍摄的视频可用于估算道路交通流量并向人们预警可能的拥堵。Web 服务器日志Web server logs可用于理解我们网站中哪些页面访问最多、访问时长如何。半结构化数据社交网络图Social network graphs可以作为了解用户性格特征以及信息传播潜力的绝佳数据源。当我们有大量派对照片时可以通过构建一起合影的人的关系图尝试提取**群体动态Group dynamics**数据。在了解这些不同的可能数据来源后你就可以尝试思考各种场景数据科学技术如何在其中应用以更好地理解情况并改进业务流程。你能用数据做什么数据科学工作流在数据科学中我们关注数据旅程中的以下步骤数据获取Data Acquisition第一步是收集数据。虽然很多情况下这是一个简单的过程例如数据从 Web 应用进入数据库但有时我们需要使用特殊技术。例如IoT 传感器数据可能非常庞大比较好的实践是使用 IoT Hub 这样的中间存储点先集中收集全部数据再进行后续处理。数据存储Data Storage存储数据可能很有挑战性尤其是面对海量数据时。在决定如何存储数据时有意义的做法是预先设想你未来希望如何查询它们。数据存储有多种方式关系型数据库存储一组表并使用名为 SQL 的特殊语言进行查询。通常表被组织成称为**模式schema**的若干组。在很多情况下我们需要把数据从其原始形态转换以适配模式。NoSQL 数据库例如 CosmosDB不对数据强制施加模式允许存储更复杂的数据比如分层的 JSON 文档或图。然而NoSQL 数据库不具备 SQL 那样丰富的查询能力也无法强制实施参照完整性——即关于数据如何在表中组织、以及表之间关系的规则。**数据湖Data Lake**存储用于海量、原始且非结构化数据的集合。数据湖常与大数据一起使用——当所有数据无法装进单台机器时必须由服务器集群来存储与处理。Parquet是常与大数据配合使用的数据格式。数据处理Data Processing这是数据旅程中最激动人心的部分将数据从原始形态转换为可被可视化/模型训练所使用的形态。当面对文本或图像这类非结构化数据时我们可能需要使用某些 AI 技术从数据中提取特征features从而将其转化为结构化形式。可视化 / 人类洞见Visualization / Human Insights为了理解数据我们往往需要将其可视化。当我们掌握多种不同的可视化技术时就能找到合适的视角来获得洞见。数据科学家常常需要玩数据——反复对其进行可视化并寻找某些关系。我们也可以使用统计技术来检验假设或证明不同数据之间的相关性。训练预测模型Training a Predictive Model由于数据科学的最终目标是能够基于数据做出决策我们可能希望使用机器学习技术来构建预测模型随后利用它对具有类似结构的新数据集进行预测。当然根据实际数据的差异某些步骤可能缺失例如数据已经在数据库中或我们不需要训练模型某些步骤也可能重复多次例如数据处理。数字化与数字化转型在过去十年中许多企业开始意识到数据在业务决策中的重要性。要将数据科学原理应用于业务管理首先需要收集一些数据——即把业务流程转化为数字形态这被称为数字化digitalization。将数据科学技术应用于这些数据以指导决策则可能带来显著的生产力提升甚至引发业务方向改变被称为数字化转型digital transformation。我们来看一个例子。假设我们有一门像本课程这样的在线数据科学课程希望用数据科学来改进它。该怎么做我们可以先问自己什么可以被数字化最简单的方式是衡量每个学生完成每个模块所需的时间并用每个模块末尾的多项选择测验来衡量习得的知识量。通过在所有学生之间对完成时间取平均我们可以发现哪些模块造成的困难最多然后着手简化它们。你可能会说这种方法并不理想因为各模块长度不同。更公平的做法可能是用完成时间 ÷ 模块长度字符数再进行比较。当我们开始分析多项选择测验的结果时可以尝试确定哪些概念学生难以理解并利用这些信息改进内容。为此我们需要设计测验使每个问题都与某个特定的概念或知识片段相对应。如果我们还想进一步深入可以按学生年龄类别绘制每个模块所需时间的图表。我们可能会发现某些年龄段的学生完成模块需要过长时间或者学生在完成之前就放弃了。这可以帮助我们为该模块提供年龄推荐并尽量减少因错误预期导致的用户不满。实战挑战文本挖掘并构建词云为了让概念落地本课提供了一个端到端的实战挑战对一篇关于数据科学的维基百科文章进行文本挖掘text mining提取关键词并构建词云。完整的可运行代码位于 notebook.ipynb你可以直接点击执行每个单元并实时观察数据的变换过程。Step 1获取数据Data Acquisition首先使用requests库下载网页内容并为其指定一个自定义的User-Agent请求头以遵循站点礼仪import requests # Define a custom header. headers { User-Agent: DataScienceChallenge/1.0 (myemailgmail.com) } # Pass the headers into the get request response requests.get(url, headersheaders) if response.status_code 200: text response.content.decode(utf-8) print(text[:1000]) else: print(fError: {response.status_code})Step 2转换数据Transforming the Data下载下来的是 HTML 源码需要转换成纯文本。这里使用流行的 HTML 解析库BeautifulSoup。借助它我们可以精准定位维基百科的正文容器mw-parser-output并剔除跳转链接、导航框、参考文献、目录、侧边栏等无关内容from bs4 import BeautifulSoup soup BeautifulSoup(text, html.parser) content soup.find(div, class_mw-parser-output) def clean_wikipedia_content(content_node): Remove common non-article elements from a Wikipedia content node. selectors [ .mw-jump-link, .navbox, .reflist, sup.reference, .mw-editsection, .hatnote, .metadata, .infobox, #toc, .toc, .sidebar, ] for selector in selectors: for el in content_node.select(selector): el.decompose() if content: clean_wikipedia_content(content) text content.get_text(separator , stripTrue) print(text[:1000]) else: print(Could not find main content. Using full page text.) text soup.get_text(separator , stripTrue)如果文档解析失败代码会回退到整页文本。这一步体现了数据清洗在真实分析中的价值——后续词云中的噪声问题正是源于此处的预处理不够彻底。Step 3获得洞见Getting Insights最关键的步骤是把数据转变成可以从中得出结论的形态。这里使用 Python 的关键词提取库RAKEnlp_rake它基于关键词由候选词组合构成、其重要性由词共现度决定的思想工作。我们可以通过参数定制提取器import nlp_rake extractor nlp_rake.Rake(max_words2, min_freq3, min_chars5) res extractor.apply(text) res上述三个参数的含义分别是关键词最多包含 2 个单词、关键词在文档中出现的最少频次为 3、关键词最少 5 个字符。你可以自由调整这些值并观察结果差异。输出的是一组术语 重要度得分的列表其中机器学习和大数据等最相关的学科会出现在列表靠前的位置。Step 4可视化结果Visualizing the Result人们最能以视觉形式理解数据。先用matplotlib绘制关键词及其相关度的简单柱状分布import matplotlib.pyplot as plt def plot(pair_list): k, v zip(*pair_list) plt.bar(range(len(k)), v) plt.xticks(range(len(k)), k, rotationvertical) plt.show() plot(res)更理想的展示方式是使用词云Word Cloud。WordCloud对象既可以直接接收原始文本也可以接收预计算的词频列表并返回可用matplotlib显示的图像from wordcloud import WordCloud import matplotlib.pyplot as plt wc WordCloud(background_colorwhite, width800, height600) plt.figure(figsize(15, 7)) plt.imshow(wc.generate_from_frequencies({k: v for k, v in res}))也可以直接把原始文本交给WordCloud看看能否得到相似的结果plt.figure(figsize(15, 7)) plt.imshow(wc.generate(text)) wc.generate(text).to_file(images/ds_wordcloud.png)下图是最终生成的词云示例该图片由 notebook.ipynb 运行输出两种可视化方式的对比与启示你会发现直接基于原始文本生成的词云看起来更炫酷但也包含了大量噪声例如Retrieved on这类无关短语同时双词关键词如data scientist、computer science变少了。原因在于RAKE 算法在选择好关键词方面表现更优。这个例子很好地说明了数据预处理与清洗的重要性——最终得到清晰的图景才能帮助我们做出更好的决策。在仓库的 solution/notebook.ipynb 中还提供了一份扩展解答它把数据源换成机器学习的维基百科词条你会看到这篇文章包含了大量术语使分析更困难——这说明在关键词提取之后我们可能还需要设计另一套清洗策略以去除高频但无意义的词组合。课后作业反思数据科学场景本课的配套作业位于 assignment.md要求你从不同的问题领域出发思考如何用数据科学流程改进真实世界的某个流程或问题并围绕以下四个问题展开你可以收集哪些数据你打算如何收集它你会如何存储数据数据规模大概有多大你可能会从这些数据中获得哪些洞见基于数据我们能做出哪些决策作业鼓励针对至少 3 个不同的问题领域各描述一遍上述要点例如如何用数据改进学校中儿童的教育过程如何用数据在大流行期间控制疫苗接种如何用数据确保自己在工作中保持高效对应的解答模板含评分细则可在 solution/assignment.md 查看最终以问题领域 / 问题 / 收集哪些数据 / 如何存储 / 可做的决策与洞见的表格形式填写。延伸把工作流用到真实数据集上第一课的文本挖掘挑战是一个高度浓缩的示例它展示了数据科学家处理数据时所有典型步骤——从数据获取到可视化。如果你想把同样的工作流迁移到结构化数据上仓库 examples 目录下的示例代码非常值得对照阅读01_hello_world_data_science.py最小化入门02_loading_data.py如何加载data/目录下的真实数据集03_simple_analysis.py基础统计分析04_basic_visualization.py基础可视化05_real_world_example.py一个完整的端到端项目——分析data/birds.csv中的鸟类撞击事件完整覆盖定义问题 → 加载数据 → 探索 → 清洗 → 分析 → 可视化 → 得出结论 → 后续建议八大步骤课程中讨论的所有这些步骤将在后续的 2-Working-With-Data数据存储与准备与 3-Data-Visualization可视化等章节中被逐一详细展开。你可以带着本课建立的数据科学是什么、数据从哪里来、工作流有哪几步的整体认知继续深入学习这门 10 周 20 课的数据科学入门课程。【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询