前言
随着数据时代的到来,越来越多的人对如何使用数据和挖掘数据价值产生了浓厚兴趣和迫切需求。他们来自于互联网、公共服务、新闻、法律、医疗、设计等不同行业,正在不断地接触和使用日益增长的数据。掌握如何进行数据获取、存储、分析和可视化等技术,对他们当下的工作和未来的发展都能起到重要的作用。
序言 暖个场子
我是一名数据爱好者,乐于不断学习,喜欢挑战自己。在参加了多项数据领域的大型赛事之后,萌生了将自己的经历和经验进行整理总结,并分享给其他广大数据爱好者的想法。我希望这份总结基于理论但不囿于理论,以数据为核心并涵盖尽可能多的领域,注重实战项目和编程能力,帮助对数据感兴趣却不知从何下手的读者概览各方面内容,快速理解掌握相关技能,有所收获并动手实践起来,先全面了解,再深入钻研。
Python是一门简单易学、功能强大的编程语言,在数据领域中也提供了丰富而完善的支持,可以非常方便地完成各种和数据相关的任务,如处理图片、文本和音频,以及实现经典的机器学习和深度学习模型等。因此本书将以Python为主,结合其他多门编程语言,从数据的获取、存储、分析和可视化等方面,全面讲解如何实现一些小而美的数据应用,让每个人都可以独立自主地达成一些数据成就。
本书首先介绍了替读者预热的准备内容。第1章讨论数据工程的概念和各种编程语言的特点,带领读者在个人计算机上搭建好Python编程环境,并概览了日常生活中数据的组织结构和常见类型。第2章介绍Python中最为核心和常用的语法,使得即便是之前没有接触过编程的新手,也能快速掌握Python的使用方法,通过Python完成一些简单的任务,如处理文本数据并进行词频统计。
第3章介绍网络爬虫的背景知识和实现原理,以及如何使用Python编写简单的爬虫,读者可以根据个人兴趣,从各大门户网站上获取需要的数据。第4章介绍如何在个人电脑上搭建Web环境,并以关系型数据库中的MySQL为例,讨论如何进行数据的存储,使读者可以更好、更方便地存储和管理获取到的数据。
第5章介绍另一门简单而强大的编程语言——R语言,并讨论如何在R语言中使用ggplot2绘制条形图、折线图、散点图等静态可视化图形,从而更直观地展示从数据中得到的结论。第6章介绍日常生活中最为常见和重要的文本数据以及与自然语言理解相关的研究和应用,如何通过Python中的jieba分词完成中文文本的分词、关键词提取、词性标注等任务,还介绍了词嵌入的概念以及如何训练蕴含语义的词向量。
交互网站是数据可视化的一种重要形式,因此第7章介绍HTML、CSS、JavaScript等前端基础。第8章则介绍一些Web进阶内容,包括基于JavaScript的前端框架JQuery,以及如何使用ThinkPHP和Flask等后端框架实现一个涉及数据库操作的简易个人博客,使读者可以根据个人需求独立设计和完成兼具前后端的网站。第9章介绍ECharts、D3、Processing等可视化工具的使用,通过交互网站和视频等形式实现数据的更加丰富多样的动态可视化,让读者更好地感受数据的魅力。
接下来的两章选取了机器学习和深度学习两大热门领域的核心内容,为读者进一步实现数据价值的深度分析和挖掘打下坚实基础。第10章介绍机器学习的基本概念、常用的经典模型及其实现,并讨论了XGBoost模型的训练和调参技巧。第11章介绍深度学习的基本概念、CNN和RNN等神经网络的核心思想和应用场景,并以手写数字识别模型为例,介绍如何使用Python中的Keras实现深度学习模型的定义和训练。
第12章介绍如何通过一个好的故事,将自己的数据成果分享和展示给他人,以及如何制作有内容、有颜值的PPT,使读者在提升自我各方面技术能力的同时,能够有意识地培养和锻炼自己的演讲和交流能力。
在编写本书时,我的妻子、亲人和好友给予了很多帮助,在此非常感谢你们的支持。
希望拿到这本书的每个人,都能感受数据之美,并通过挖掘数据价值,爱上数据。
由于作者水平有限,书中难免存在一些错误或不准确的地方,恳请各位读者不吝斧正。相关意见和建议可以通过知乎“张宏伦”、微信公众号“宏伦工作室”进行反馈,也可以向邮箱zhanghonglun@sjtu.edu.cn发送邮件,期待收到各位读者宝贵的意见和建议。书中全部视频也可通过网易云课堂观看。
扫描关注微信公众号
扫描访问网易云课堂配套课程