编辑推荐
大多数数据挖掘的教材都专注于介绍理论基础,因而往往难以理解和学习。
本书是介绍写给程序员的一本数据挖掘指南,可以帮助读者动手实践进行数据挖掘、集体智慧并构建推荐系统。
本书作者采用在实践中学的方式,提供了Python的代码和案例,详细介绍如何应用数据挖掘技术,开发出实用的推荐系统。
本书英文版在网络上放出样章,得到很多业内知名人士的推荐和好评。
知名技术译者王斌老师译作,翻译质量上乘
数据挖掘一般是指通过算法搜索隐藏于大量的数据之中的信息的过程。众多的数据挖掘教材都专注于介绍理论基础,因而往往难以理解和学习。
本书是专门写给程序员的一本数据挖掘指南,可以帮助读者动手实践,进行数据挖掘、应用集体智慧并构建推荐系统。
全书共8 章,介绍了数据挖掘的基本知识和理论、协同过滤、内容过滤及分类、算法评估、朴素贝叶斯、非结构化文本分类以及聚类等内容;用生动的图示、大量的表格、简明的公式以及实用的Python 代码示例,阐释数据挖掘的知识和技能。
每章还给出了习题和练习,帮助读者巩固所学的知识。
本书采用"在实践中学习"的思路来组织内容。建议读者不是被动地阅读本书,而是通过课后习题和本书提供的Python 代码进行实践。此外,读者还应当积极参与到数据挖掘技术的编程实践中。
本书适合对数据挖掘、数据分析和推荐系统感兴趣的程序员及相关领域的从业者阅读参考;同时,本书也可以作为
一本轻松有趣的数据挖掘课程教学参考书。本书由一系列互为基础的小的知识点累积而成,学完本书以后,能够为理解
数据挖掘的各种技术打下坚实的基础。
读者可通过http://guidetodatamining.com/ 或http://www.epubit.com.cn 获取本书相关资源。
内容简介
数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。大多数数据挖掘的教材都专注于介绍理论基础,因而往往难以理解和学习。
本书是介绍写给程序员的一本数据挖掘指南,可以帮助读者动手实践进行数据挖掘、集体智慧并构建推荐系统。全书共8章,介绍了数据挖掘的基本知识和理论、协同过滤、内容过滤及分类、算法评估、朴素贝叶斯、非结构化文本分类以及聚类等内容。全书采用做中学的方式,用生动的图示、大量的表格、简明的公式,实用的Python代码示例,阐释数据挖掘的知识和技能。每章还给出了习题和练习,帮助读者巩固所学的知识。
本书专注适合对数据挖掘、数据分析和推荐系统感兴趣的程序员及相关领域的从业者阅读参考;同时,本书也可以作为一本轻松有趣的数据挖掘课程教学参考书。
作者简介
Ron Zacharski是一名软件开发工程师,曾在威斯康辛大学获美术学士学位,之后还在明尼苏达大学获得了计算机科学博士学位。博士后期间,他在爱丁堡大学研究语言学。正是基于广博的学识,他不仅在新墨西哥州立大学的计算研究实验室工作,期间还接触过自然语言处理相关的项目,而该实验室曾被《连线》杂志评为机器翻译研究领域翘楚。除此之外,他还曾教授计算机科学、语言学、音乐等课程,是一名博学多才的科技达人。
王斌 博士,中国科学院信息工程研究所研究员,博士生导师,中国科学院大学兼职教授,研究方向为信息检索、自然语言处理与数据挖掘。主持国家973、863、国家自然科学基金、国际合作基金、部委及企业合作等课题近30项,发表学术论文130余篇,领导研制的多个系统上线使用,曾获国家科技进步二等奖和北京市科学技术二等奖各一项。现为中国中文信息学会理事、信息检索、社会媒体处理、语言与知识计算等多个专业委员会委员、《中文信息学报》编委、中国计算机学会高级会员及中文信息处理专业委员会委员。多次担任SIGIR、ACL、CIKM等会议的程序委员会委员。《信息检索导论》、《大数据:互联网大规模数据挖掘与分布式处理》、《机器学习实战》、《Mahout实战》译者。2006年起在中国科学院大学讲授《现代信息检索》研究生课程,累计选课人数已超过1500人。迄今培养博士、硕士研究生近40名。
内页插图
目录
目 录
目录
第1章 数据挖掘简介及本书使用方法 1
欢迎来到21世纪 2
并不只是对象 5
TB级挖掘是现实不是科幻 7
本书体例 9
第2章 协同过滤—爱你所爱 14
如何寻找相似用户 15
曼哈顿距离 16
欧氏距离 16
N维下的思考 18
一般化 22
Python中数据表示方法及代码 24
计算曼哈顿距离的代码 25
用户的评级差异 28
皮尔逊相关系数 30
在继续之前稍微休息一下 35
最后一个公式—余弦相似度 36
相似度的选择 40
一些怪异的事情 43
k近邻 44
Python的一个推荐类 47
一个新数据集 54
第3章 协同过滤—隐式评级及基于物品的过滤 56
隐式评级 57
调整后的余弦相似度 67
Slope One算法 76
Slope One算法的粗略描述图 77
基于Python的实现 83
加权Slope One:推荐模块 88
MovieLens数据集 90
第4章 内容过滤及分类—基于物品属性的过滤 93
一个简单的例子 98
用Python实现 101
给出推荐的原因 102
一个取值范围的问题 104
归一化 105
改进的标准分数 109
归一化 vs. 不归一化 111
回到Pandora 112
体育项目的识别 119
Python编程 123
就是它了 133
汽车MPG数据 135
杂谈 137
第5章 分类的进一步探讨—算法评估及kNN 139
训练集和测试集 140
10折交叉验证的例子 142
混淆矩阵 146
一个编程的例子 148
Kappa统计量 154
近邻算法的改进 159
一个新数据集及挑战 163
更多数据、更好的算法以及一辆破公共汽车 168
第6章 概率及朴素贝叶斯—朴素贝叶斯 170
微软购物车 174
贝叶斯定理 177
为什么需要贝叶斯定理 185
i100 i500 188
用Python编程实现 191
共和党 vs. 民主党 197
数字 205
Python实现 214
这种做法会比近邻算法好吗 221
第7章 朴素贝叶斯及文本—非结构化文本分类 226
一个文本正负倾向性的自动判定系统 228
训练阶段 232
第8章 聚类—群组发现 256
k-means聚类 281
SSE或散度 289
小结 303
安然公司 305
前言/序言
《数据驱动的洞察:现代数据分析与应用》 在当今信息爆炸的时代,数据已不再仅仅是冰冷的数字,而是蕴藏着巨大潜力的宝藏。从海量用户行为的蛛丝马迹中挖掘出有价值的信息,并将其转化为可执行的策略,是企业在激烈市场竞争中脱颖而出的关键。本书《数据驱动的洞察:现代数据分析与应用》正是为帮助读者掌握这一核心能力而精心打造。我们深知,数据分析的魅力并非只属于统计学专家或数学家,而是每一位渴望理解数据、驾驭数据、并从中获益的专业人士。 本书将带领您踏上一段系统而深入的学习之旅,从数据分析的基本概念出发,逐步深入到各种先进的分析技术和实际应用场景。我们力求以清晰的逻辑、丰富的案例和实用的指导,帮助您建立起扎实的数据分析理论基础,并掌握将理论付诸实践的技能。 第一部分:数据分析的基石——理解与准备 在深入探索数据分析的海洋之前,我们首先需要建立坚固的基石。本部分将引导您理解数据分析在现代商业环境中的核心地位,以及它如何赋能决策、驱动创新。 数据分析的价值与维度: 我们将从宏观角度探讨数据分析如何成为企业战略的关键组成部分。您将了解不同类型的数据(结构化、非结构化、半结构化)及其潜在价值。数据分析不仅仅是简单的报表生成,它更是关于发现模式、预测趋势、理解因果关系、以及优化业务流程的系统性工程。我们将深入探讨数据分析在市场营销、产品开发、运营优化、风险管理等多个领域的实际应用,让您体会到数据驱动的强大力量。 数据采集与预处理: 数据的质量直接决定了分析的有效性。本部分将详细讲解数据采集的各种渠道和方法,包括数据库查询、API接口、网络爬虫、传感器数据等。更重要的是,我们将花费大量篇幅讲解数据预处理的核心技术。这包括: 数据清洗: 如何识别和处理缺失值、异常值、重复数据,以及如何对数据进行一致性检查。我们将介绍多种填充缺失值的方法(均值填充、中位数填充、回归填充等)及其适用场景,并讨论异常值检测的技术(如IQR、Z-score、聚类等)。 数据转换: 如何对数据进行标准化(Standardization)和归一化(Normalization),以消除不同量纲对模型的影响。我们将解释何时需要对数据进行对数转换、平方根转换等,以处理偏态数据。 特征工程: 这是提升模型性能的关键环节。我们将讲解如何从原始数据中创建新的、更有意义的特征,例如时间序列的滞后特征、组合特征、编码分类变量(如独热编码、标签编码、目标编码)等。您将学习如何利用领域知识来设计有效的特征,使模型能够更好地捕捉数据中的信号。 数据集成: 如何将来自不同源头的数据进行合并,解决数据格式不一致、字段命名冲突等问题。 探索性数据分析(EDA): 在正式建模之前,深入理解数据的分布、关系和潜在模式至关重要。本部分将引导您掌握EDA的艺术,包括: 描述性统计: 计算均值、中位数、方差、标准差、百分位数等,全面刻画数据的中心趋势和离散程度。 数据可视化: 学会利用各种图表(直方图、箱线图、散点图、折线图、热力图等)来直观地展示数据分布、变量之间的关系、以及数据中的趋势和异常。我们将重点介绍如何选择合适的图表类型来传达特定的信息,以及如何通过可视化来发现隐藏的洞察。 相关性分析: 理解变量之间的线性关系,利用相关系数(如Pearson、Spearman)来量化相关性强度,并通过热力图可视化。 第二部分:核心分析技术——挖掘数据的深度价值 掌握了数据准备和探索的基础后,我们将进入数据分析的核心技术领域。本部分将系统介绍各种经典而强大的分析模型和算法。 统计建模基础: 回归分析: 从简单线性回归到多元线性回归,理解模型构建、参数估计、假设检验以及模型评估(R²、 Adjusted R²、p值等)。我们将讨论多重共线性、异方差性等问题及其处理方法。 分类模型: 逻辑回归: 理解其原理、输出解释以及如何用于二分类和多分类问题。 决策树: 学习其分裂标准(如基尼指数、信息增益),理解剪枝技术,以及如何构建和解释决策树模型。 支持向量机(SVM): 介绍其核函数(线性、多项式、径向基函数)和最大间隔原理,以及其在分类和回归中的应用。 聚类分析: K-Means聚类: 理解其算法流程、初始化方法、以及选择合适的k值(如肘部法则、轮廓系数)。 层次聚类: 学习其凝聚型和分裂型方法,以及如何解读树状图。 DBSCAN: 掌握基于密度的聚类方法,以及其在发现任意形状簇中的优势。 降维技术: 主成分分析(PCA): 理解其目标是找到数据方差最大的方向,以及如何通过最大化方差来降低数据维度,同时保留尽可能多的信息。 t-SNE: 学习其在可视化高维数据中的应用,以及如何保留数据的局部结构。 关联规则挖掘: Apriori算法: 学习如何发现频繁项集,以及如何从频繁项集中生成置信度高的关联规则。我们将讨论支持度、置信度和提升度等度量指标。 时间序列分析: 平稳性、自相关性与偏自相关性: 理解时间序列数据的基本特性。 ARIMA模型: 掌握其构成(AR, I, MA),以及如何识别和拟合ARIMA模型进行预测。 指数平滑法: 介绍其简单指数平滑、霍尔特指数平滑和霍尔特-温特指数平滑,以及在短期预测中的应用。 第三部分:高级分析方法与实践——面向应用的深度挖掘 在掌握了基础和核心技术后,本部分将进一步拓展您的视野,介绍更先进的分析技术,并强调在实际业务场景中的应用。 机器学习导论: 监督学习与无监督学习: 明确两者的区别与联系。 模型评估与选择: 学习交叉验证、留一法等技术,以及如何根据业务目标选择合适的评估指标(准确率、精确率、召回率、F1分数、AUC等)。 模型调优: 掌握网格搜索、随机搜索等超参数优化方法,以及正则化技术(L1、L2)来防止过拟合。 预测模型进阶: 集成学习: 深入理解Bagging(如随机森林)和Boosting(如AdaBoost, Gradient Boosting, XGBoost, LightGBM)的工作原理,以及它们如何通过组合多个弱学习器来构建强大的预测模型。 深度学习基础(概念性介绍): 简要介绍神经网络、卷积神经网络(CNN)和循环神经网络(RNN)在图像识别、自然语言处理等领域的应用潜力,为读者提供进一步探索的方向。 文本挖掘与自然语言处理(NLP)基础: 文本预处理: 分词、词性标注、去除停用词、词干提取、词形还原等。 特征提取: TF-IDF、词袋模型(Bag-of-Words)、Word Embeddings(如Word2Vec, GloVe)的概念和应用。 情感分析与主题建模: 介绍如何从文本中提取情感倾向和潜在主题。 推荐系统基础: 协同过滤(User-based, Item-based): 理解其核心思想和实现方式。 基于内容的推荐: 介绍如何根据物品的属性来匹配用户偏好。 混合推荐系统: 探讨如何结合多种方法来提升推荐效果。 数据分析流程与项目实践: CRISP-DM方法论: 介绍通用的数据挖掘项目流程,从业务理解、数据理解、数据准备、建模、评估到部署。 案例研究: 通过多个贴近实际的案例,演示如何应用前面章节介绍的技术来解决具体的业务问题,例如: 客户细分与精准营销: 如何利用聚类分析将客户分成不同的群体,并为每个群体制定个性化的营销策略。 流失用户预测: 如何构建分类模型来识别有流失风险的客户,并采取措施进行挽留。 销售额预测: 如何利用时间序列模型或回归模型来预测未来的销售趋势。 异常交易检测: 如何利用聚类或异常检测算法来识别潜在的欺诈行为。 第四部分:工具与实践环境——让数据分析触手可及 理论的学习需要与实践相结合。本部分将介绍常用的数据分析工具和环境,帮助您轻松上手。 编程语言与库: Python: 作为数据科学领域最流行的语言,我们将介绍其在数据分析中的核心库,如NumPy(数值计算)、Pandas(数据处理和分析)、Matplotlib/Seaborn(数据可视化)、Scikit-learn(机器学习)。 SQL: 强调其作为数据库查询语言的重要性,以及如何编写有效的SQL语句来提取和操作数据。 数据可视化工具: Tableau / Power BI(概念性介绍): 简要介绍这些商业智能工具在创建交互式仪表板和报告中的强大功能,为不熟悉编程的读者提供另一种选择。 开发环境: Jupyter Notebook / JupyterLab: 介绍其作为交互式计算环境的优势,方便代码编写、执行、可视化和文档撰写。 部署与应用(概念性介绍): 简要提及如何将训练好的模型部署到生产环境,以及如何构建数据驱动的应用。 学习本书,您将能够: 建立清晰的数据分析思维框架: 从理解问题到提出解决方案,掌握整个数据分析流程。 掌握核心的数据处理与清洗技术: 确保您分析的数据是干净、可靠的。 熟练运用多种统计与机器学习模型: 能够根据业务需求选择并应用合适的分析方法。 深入理解数据背后的模式与洞察: 发现隐藏的趋势、关联和驱动因素。 将数据分析结果转化为可执行的业务策略: 赋能您的决策,推动业务增长。 提升您在数据驱动时代的竞争力: 成为一名能够用数据说话的优秀专业人士。 《数据驱动的洞察:现代数据分析与应用》不仅仅是一本技术手册,更是一份引您入门、伴您成长的路线图。无论您是想在现有工作中提升数据分析能力,还是渴望跨入数据科学领域,本书都将是您宝贵的伙伴。让我们一起,用数据点亮智慧,驱动未来!