Python机器学习技术:模型关系管理
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

所有模型都是错的,但我们可以重新使其变成有用的。

每个模型都有其严格的适用条件,这些条件有时过于严格,甚至不能跨界使用,就像统计学之于小数据,深度学习之于非结构化数据,很难集成到一起。因此,在进入数据分析的殿堂之前,首先需要区分不同领域的数据分析技术。

本书的知识点难度对于初次了解数据分析的读者而言,并不算友好。本书可以看作《统计分析:从小数据到大数据》的高级版本或者续作,很多模型的背景依托于此书。为了弥补这点缺陷,本书首先在第1章介绍了机器学习的基础概念,提供了数据挖掘的基础知识,然后重点介绍集成学习,集成学习需要借助模型关系管理,而模型关系管理旨在更好地利用不同模型的优、缺点,完成项目需求与集成模型功能的契合。

本书的核心框架如下。

◆ 特征工程技术。

◆ 机器学习技术。

◆ 弱集成学习:决策树。

◆ 强集成学习:特征工程+机器学习。

◆ 混合专家(或深度学习):神经网络+网络结构。

特征工程用于数据管理和数据清理,在数据挖掘中,尤其是当数据治理不成熟时起到不可或缺的作用。此外,就机器学习而言,如果我们深入项目解决实践问题,那么会发现实际问题往往需要分解为子问题相加和子问题相乘的两种模式,前者是弱集成学习的领域,后者是强集成学习的领域,而这些算法都依托于机器学习本身。最后是深度学习,它需要借助“神经网络集成+网络结构设计”的思路才能完成,主要用于非结构化数据。

运行环境

本书使用的编程语言和库如下。

◆ Python3:语言。

◆ NumPy:高级编码库。

◆ Pandas:数据框。

◆ Matplotlib:基础绘图。

◆ Seaborn:统计绘图。

◆ Plotly:商业绘图。

◆ Missingno:缺失值可视化。

◆ Missingpy:缺失值填补。

◆ Opencv-python:图像处理。

◆ Mglearn:机器学习算法可视化。

◆ Mlxtend:机器学习拓展包。

◆ Dtreeviz:决策树可视化。

◆ Bnlearn:网络贝叶斯。

◆ Scikit-plot:机器学习评估可视化。

上述库看起来很多,但这些库大多都比较小巧,安装极为便捷,只需要花些时间运行代码“pip install库1库2……”。当然也可能会遇到不同版本库间的兼容性问题,这一点在行文中会有提示说明,也会提供常见的解决方案。

本书特点

本书以算法“消费者”为主线,以数据分析实践为中心话题展开对集成模型的讨论,并使用Python环境依赖包和简洁代码,进行数据分析工程实践。

◆ 以小数据为启程,重点阐述大数据技术的原理与流程。

◆ 应用常用依赖包,编写简洁代码,实现数据分析。

◆ 以集成学习为核心知识点,展开对相关知识的讨论。

◆ 借助描述性案例讲解模型配置,借助项目案例讲解数据挖掘流程。

◆ 以描述性挖掘、归因性探索、预测性应用并举的方式分析案例。

◆ 行为中涉及的数学公式大多辅以图形帮助理解,对数理知识的要求并不高。

适合读者

◆ 数据挖掘相关专业的高校师生,如统计学、数学、计算机、社会统计类专业等。

◆ 希望用数据挖掘技术赋能的业务人员,如运营人员、销售人员、产品经理、人力专员等。

◆ 从事数据库和数据挖掘的相关人员,如数据分析师、数据工程师、数据营销师、风控建模师等。

◆ 数据分析管理人员,如数据分析主管、总监、顾问,运营策略总监等。

◆ 对数据分析感兴趣的读者。

致谢

本书写作之时,除了宅在家里,我也经常到一个小河边创作,大量的写作都在河边完成。

很多钓友经常隔河喊话:“还钓到了呀”,我总是附上一句:“还行嘞”。其实姜公是直钩,我连一个鱼钩都没有,拿着鱼竿做样子,不过我也养肥了很多鱼,这附近的鱼都比较喜欢我,所以本书选择一种鱼作为封面插图,叫螭吻,是龙的第九个儿子。另外,在本书撰写期间,我家二娃也出生了,增添了许多天伦之乐,所以感谢“钓友”的陪伴,感谢妻子的辛勤劳苦。

自本书起稿之日,赵坚毅老师就给予了很多关心和支持,并且为本书作序,在此表示由衷的感谢。

本身修稿经历了半年之多,多谢张慧敏编辑及其同事的耐心指导,我也学习了很多编校知识,在此一并感谢。

此外,由于本书涵盖了概率论、数理统计、计算机工程、大数据技术、数据挖掘等多个学科的知识,所以行文中难免存在不足之处,敬请广大读者批评指正。

作者