尧图精选

Data Science for Beginners 开篇:定义数据科学——核心概念、科学范式与数据旅程实战

🕒 发布时间:2026/9/12 2:15:59 📁 来源:尧图网络
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 Beginners10 周、20 课时数据科学入门课程第 01 课定义数据科学Defining Data Science的技术导读。本文以该课希腊语翻译版 translations/el/1-Introduction/01-defining-data-science/README.md 为骨架结合仓库内的 notebook.ipynb 实战代码与课程体系系统讲解什么是数据什么是数据科学数据的类型与来源数据旅程五步法数字化与数字化转型并带你完成一次从抓取 Wikipedia 文本到生成词云的完整数据科学小实验。读完本文你将掌握数据科学的定义框架、数据分类方法以及数据获取 → 存储 → 处理 → 可视化 → 建模的完整工作流并能独立运行第一个文本挖掘实战。什么是数据在我们的日常生活中数据无处不在你现在正在阅读的文字是数据智能手机里朋友的电话号码列表是数据手表上显示的当前时间同样是数据。作为人类我们天然地在操作数据——清点自己有多少钱、给朋友写信本质上都是在处理数据。然而随着计算机的诞生数据的地位变得空前重要。计算机的首要职能是执行计算但计算必须有数据作为输入。因此我们必须理解计算机如何存储和处理数据。互联网出现之后计算机作为数据处理设备的角色进一步加强。可以想一下如今我们使用计算机越来越多地用于数据处理和通信而不是真正的数值计算——写一封电子邮件、在互联网上搜索信息本质上都是在创建、存储、传输和操作数据。你还记得最后一次用计算机真正算点什么是什么时候吗什么是数据科学数据科学Data Science的定义通常引用 Wikipedia 的说法一个使用科学方法从结构化与非结构化数据中提取知识与洞见的科学领域并将从数据中获得的知识与可操作的洞见应用于广泛的业务应用领域。这个定义突出了数据科学的几个关键要素核心目标是从数据中提取知识——即理解数据、发现隐藏的关系并构建一个模型使用科学方法如概率论与统计学。事实上数据科学这个术语刚出现时有人认为它只是统计学的新潮别名而如今该领域的边界已远远超出统计学获得的知识必须落地为可操作的洞见actionable insights也就是能应用于真实业务场景的实用结论同时处理结构化与非结构化数据不同类型的数据将在后续课程中详细讨论应用领域application domain是重要概念数据科学家通常需要对问题所在领域如金融、医疗、市场营销等有一定程度的专业认知。另一个重要方面数据科学研究如何借助计算机收集、存储和操作数据。统计学提供数学基础而数据科学把这些数学概念真正应用起来从数据中得出洞见。数据驱动的科学第四范式一种广为流传的视角归功于计算机科学家 Jim Gray认为数据科学代表了科学研究的独立新范式与三大传统范式并列范式特征经验范式Empirical主要依赖观察与实验结果理论范式Theoretical新概念从既有科学知识中演绎产生计算范式Computational基于计算实验发现新原理数据驱动范式Data-Driven基于在数据中发现关系与模式来获得新认知数据驱动范式正是数据科学的立足点与其先假设再验证不如让数据自己说话在数据中发现此前未知的模式与关联。与数据科学相关的领域数据无处不在数据科学也因此是一个与多门学科深度交叉的宽泛领域数据库Databases关键问题是如何存储数据——如何组织数据使其能被快速处理。存在多种存储结构化与非结构化数据的数据库类型这部分内容将在本课程的 2-Working-With-Data 部分详细讨论。大数据Big Data经常需要存储和处理结构相对简单但体量极大的数据需要使用专门的方法与工具将数据分布式地存储在计算机集群上并高效处理。机器学习Machine Learning理解数据的一种方式是构建能够预测目标结果的模型从数据中开发模型的过程即机器学习。它是数据科学的核心下游技术之一。人工智能Artificial Intelligence, AI机器学习的一个分支涉及构建模仿人类思维过程的高复杂度模型。AI 方法常能帮助把非结构化数据如自然语言转化为结构化洞见。可视化Visualization海量数据对人脑而言难以直接理解一旦用可视化呈现就能更好地理解数据并得出结论。相关内容将在本课程 3-Data-Visualization 部分系统讲解相关领域还包括信息图Infographics与人机交互HCI。数据类型结构化、半结构化与非结构化数据只需以正确的方式捕获。通常区分两类结构化数据以规范形式组织常见为一张或多张表格非结构化数据则只是文件的集合。此外还有半结构化数据——具有一定结构、但结构可能差异很大。三类数据的典型示例结构化半结构化非结构化带电话号码的人员名单带链接的 Wikipedia 页面大英百科全书全文过去 20 年建筑内每个房间每分钟的温度以 JSON 存储的论文集合含作者、发表日期、摘要企业文档共享目录进入大楼所有人的年龄与性别数据互联网网页安防摄像头原始视频流这个分类直接决定了后续的存储与处理方式结构化数据适合关系型数据库与 SQL 查询半结构化数据适合 NoSQL 文档库如 JSON而非结构化数据往往需要先做特征提取才能进入分析管线。从哪里获取数据数据来源无穷无尽以下是典型的数据来源清单结构化数据来源物联网IoT温度、压力等各类传感器产生大量有用数据。例如办公楼配备 IoT 传感器后可自动控制供暖与照明以降低成本调查问卷Surveys用户完成购买或访问网站后填写的问卷行为分析Behavior analysis帮助理解用户深入访问网站的程度以及离开网站的典型原因。非结构化数据来源文本Texts可提取整体情感评分sentiment score、关键词与语义含义图片或视频Images/Video安防摄像头视频可用于估算道路交通流量向公众预警潜在拥堵Web 服务器日志Logs用于了解网站哪些页面访问最频繁、停留多久。半结构化数据来源社交网络Social Networks用户画像与信息传播效力的优质数据源群体动态Group Dynamics对聚会的合影照片构建一起拍照的人关系图即可提取群体关系数据。了解这些来源后就能设想各种用数据科学技术更好地理解情境、改进业务流程的场景。数据旅程五步你能用数据做什么数据科学聚焦于数据旅程的五个关键步骤这正是本课程 1-Introduction/01-defining-data-science/README.md英文原版乃至整个 20 课时课程反复出现的核心骨架。1) 数据获取Data Acquisition第一步是收集数据。很多场景下很简单——例如 Web 应用把数据写入数据库但有时需要专门技术例如 IoT 传感器数据可能规模庞大良好的实践是借助 IoT Hub 之类的缓冲端点先汇聚全部数据再做进一步处理。2) 数据存储Data Storage存储具有挑战性尤其面对大数据时。决定存储方案前应当预先设想未来要如何查询这些数据。主要存储方式有三类关系型数据库存储表的集合使用专用语言 SQL 查询表通常按模式schema分组。多数情况下需要把原始数据转换为符合 schema 的形态NoSQL 数据库如 CosmosDB不对数据强制 schema可存储更复杂的数据如层级 JSON 文档或图结构但缺少 SQL 那样丰富的查询能力也无法强制引用完整性定义表间关系的规则数据湖Data Lake用于原始非结构化形式的大规模数据集合常与大数据场景配合——数据无法装进单台机器必须由服务器集群存储处理Apache Parquet 是大数据场景常搭配的数据格式。从仓库内容看本课程后续 2-Working-With-Data 部分会结合 airports.db 等真实数据文件与 PersonsData.json 等 JSON 文档演示 SQL 与 NoSQL 两种路线的具体差异。3) 数据处理Data Processing这是数据旅程中最激动人心的阶段把数据从原始形态转换为可用于可视化或模型训练的形式。面对文本、图片等非结构化数据时往往需要借助 AI 技术提取特征features从而将其转化为结构化形式。仓库中 08-data-preparation 一课即专门讲解清洗与转换数据的技巧。4) 可视化 / 人类洞见Visualization / Human Insights为了理解数据常常需要先可视化。工具箱中掌握多种可视化技术才能找到合适的视图来形成洞见。数据科学家经常要玩数据——反复可视化、寻找关系同时可用统计技术检验假设、证明不同数据之间的相关性。本课程的 3-Data-Visualization 部分围绕 birds.csv 等数据集展开五种可视化专题。5) 训练预测模型Training a Predictive Model数据科学的终极目标是以数据为依据做决策因此常用机器学习技术构建预测模型再用于对结构相似的新数据集做预测。仓库 examples/README.md 中 05_real_world_example.py 给出了一个从加载、清洗到分析、可视化、得出结论的端到端示例。根据实际数据情况某些步骤可能缺失例如数据已在数据库里或无需训练模型某些步骤可能反复执行例如数据处理会迭代多轮。数字化与数字化转型近十年来越来越多的企业认识到数据在商业决策中的价值。要把数据科学原则应用于企业运营首先要收集数据——即把业务流程转化为数字形态这被称为数字化digitalization随后对数据应用数据科学技术来指导决策可能带来显著的生产力提升甚至业务转型这被称为数字化转型digital transformation。课程用在线数据科学课程为例演示完整思路问什么可以数字化最简单的方式是测量每个学生完成每个模块所花的时间并在每个模块结束后通过多选题测验度量掌握程度对所有学生的完成时间取平均就能发现哪些模块对学生最难进而着手简化需要注意模块长度可能不同更公平的做法是把完成时间除以模块长度按字符数再比较标准化后的值分析多选题结果时可定位学生难以理解的概念并改进内容——前提是测验设计要做到每道题对应一个具体概念或知识块更进一步可以把各模块耗时按学生年龄段绘图可能发现某些年龄段完成模块耗时异常长或学生中途退出从而给出年龄适配建议、减少因预期错位带来的挫败感。这五个判断步骤正是数据旅程方法在真实业务上的完整推演也呼应了 translations/el/1-Introduction/01-defining-data-science/assignment.md 作业中要求读者对教育、疫苗接种、工作效率等场景独立展开同样的推演。实战挑战文本挖掘与词云生成本课的挑战Challenge环节要求你从文本中发现与数据科学相关的概念抓取 Wikipedia 上数据科学词条的文本处理之后构建词云。完整的可运行代码见 1-Introduction/01-defining-data-science/notebook.ipynb建议在 VS Code 或 Jupyter 环境中逐格执行注意Docsify 静态站点不渲染 notebook需单独用 Python 内核运行。整个实验恰好完整走一遍数据旅程Step 1获取数据Data Acquisition用requests库下载 Wikipedia 词条 HTML并为请求设置自定义User-Agent头import requests url https://en.wikipedia.org/wiki/Data_science headers {User-Agent: DataScienceChallenge/1.0 (myemailgmail.com)} 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转换数据Data Processing下载得到的是 HTML 源码需要转换为纯文本。notebook 使用 BeautifulSoup 定位 Wikipedia 正文容器mw-parser-output类并分解掉导航、引用列表、编辑链接、信息框等非正文元素!{sys.executable} -m pip install beautifulsoup4 from bs4 import BeautifulSoup soup BeautifulSoup(text, html.parser) content soup.find(div, class_mw-parser-output) def clean_wikipedia_content(content_node): 从 Wikipedia 内容节点中移除常见非文章元素。 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) print(text[:1000])Step 3提取洞见Getting Insights用 RAKERapid Automatic Keyword Extraction算法提取关键词。notebook 用nlp_rake库并设置三个关键参数关键词最少 5 个字符min_chars5、文档中最少出现 3 次min_freq3、最多由 2 个词组成max_words2!{sys.executable} -m pip install nlp_rake import nlp_rake extractor nlp_rake.Rake(max_words2, min_freq3, min_chars5) res extractor.apply(text) res返回的列表中每个词条带有重要度分值机器学习machine learning、大数据big data等核心学科会自然排在靠前位置。可以自由调整这三个参数并观察结果变化——这正是数据处理迭代特性的体现。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)再用wordcloud库生成更直观的词云既可传入关键词频率字典也可直接传入原始文本!{sys.executable} -m pip install wordcloud from wordcloud import WordCloud wc WordCloud(background_colorwhite, width800, height600) plt.figure(figsize(15, 7)) plt.imshow(wc.generate_from_frequencies({k: v for k, v in res})) # 也可以直接对原始文本生成词云并保存为图片 wc.generate(text).to_file(images/ds_wordcloud.png)生成结果与本课仓库中预置的示例词云类似对照直接对原始文本生成的词云可以发现后者视觉上更壮观但噪声也更多例如混入 Retrieved on 之类的无关词且双词关键词如data scientist、computer science更少。原因在于 RAKE 算法在挑选优质关键词上明显更胜一筹。这个对比直观说明了数据预处理与清洗的重要性——最终清晰的画面才能支撑更可靠的决策。本实验虽简单却完整演示了数据科学家处理数据的典型步骤从数据获取一路走到可视化这些步骤将在课程的后续 19 课中逐一深入展开。课后练习本课配套两轮测验与两项作业测验运行于课程自带的 quiz-app 应用共 40 个测验、每题 3 问课前测验 / 课后测验分别检验对什么是数据科学的课前认知与课后掌握任务 1修改上述 notebook 代码为大数据Big Data与机器学习Machine Learning领域找出相关概念——把url换成对应词条并重新调整 RAKE 参数即可复用整个管线任务 2思考数据科学场景——任选教育、疫苗接种、工作效率等真实问题域回答收集哪些数据、如何收集、如何存储体量多大、能得出哪些洞见与决策并用表格形式完成至少三个问题域的分析。仓库资源导览课程主页README.md 列出了全部 20 课的学习目标、作者与课时分组入门示例examples/README.md 提供了从 01_hello_world_data_science.py 到 05_real_world_example.py 的 5 个循序渐进、注释详尽的可运行脚本环境要求仅 Python 3.7 与pip install pandas numpy matplotlib本课 notebook1-Introduction/01-defining-data-science/notebook.ipynb 即上文全部代码配套数据集data 目录集中存放了课程各课使用的 COVID 时间序列、birds.csv、honey.csv、taxi.csv 等真实数据文件可用于把本课学到的方法迁移到自己的实验中课程速查图sketchnotes 目录为每一课提供了 Nitya Narasimhan 绘制的草图笔记其中 01-Definitions.png 即本文开篇那张图的原始英文版。掌握定义数据科学这一课后你可以顺着课程顺序继续学习数据伦理02-ethics、数据定义03-defining-data与统计概率基础04-stats-and-probability正式开启 10 周的数据科学之旅。【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →