前言

随着大数据、人工智能技术的快速发展,各行各业积累的数据越来越丰富,数据挖掘的需求越来越大。本书针对实际数据及数据挖掘任务需求,提供数据预处理、特征选择、数据可视化、算法运用等方面的数据挖掘模型的原理与实现代码,为运用数据挖掘提供可参考的方法。

笔者近年来一直从事数据挖掘方向的研究和数据挖掘课程的教学,长期指导学生参加数模竞赛、天池大数据竞赛、DataCastle大数据竞赛、Kaggle竞赛等高水平数据挖掘竞赛,并取得了优异成绩。同时,积极探索以数据挖掘技术为主线构建课堂教学与实践教学相融合的课程体系,总结了一套数据挖掘实践案例及参考代码,适合用于理工科相关专业的本科生与研究生的数据挖掘实验课程,也可供相关领域的科研与工程技术人员实践参考。

本书的组织结构如下:

第1章首先简述了数据挖掘的定义和分类,随后阐述了数据挖掘实践过程中的Python安装及环境配置方法并简单介绍了与本书中数据挖掘实践任务相关的数据集,让读者掌握如何安装实验环境,了解数据挖掘中的常用数据集。

第2章以贝叶斯分类为案例,阐述了分类的概念和实践全流程,包括数据集的划分、模型的运用和模型的评价,让读者能够针对具体数据,运用分类算法来完成数据分类过程。

第3章阐述了特征选择的实践方法,让读者掌握通过直方图与柱状图方法来完成数据的特征选择。

第4章阐述了数据清洗的实践方法,让读者掌握缺失值填充的方法,知道如何通过正态分布与箱线图方法发现数据离群点。最后,以“测测你的一见钟情指数”作为实践案例,详细阐述了数据清洗的实践过程。

第5章阐述了数据转换的实践方法,让读者掌握通过二进制编码方法将离散型数据数值化的方法,并掌握最小-最大规范化和z分数规范化、小数定标规范化的方法。

第6章阐述了数据降维的实践方法,让读者掌握通过散点图方法来分析数据相关性的技巧,并能够灵活运用主成分分析法。

第7章阐述了不平衡数据分类的实践方法,让读者掌握上采样与下采样的实际运用,通过“员工离职问题”实践案例,详细介绍了不平衡数据分类的实践过程。

第8章阐述了回归分析的实践方法,让读者掌握多元线性回归预测的实际运用,通过“PM2.5空气质量预测”实践案例,详细介绍了回归预测的实践过程。

第9章阐述了常见聚类算法的实际应用,使读者能够灵活应用k均值法、层次聚类法、密度聚类法。通过鸢尾花数据实践案例,详细介绍了密度聚类的实践过程。

第10章阐述了Apriori算法的实践方法,让读者掌握该算法的实现过程。通过“棒球运动产品推荐”实践案例,详细介绍了该算法的实践过程。

第11章阐述了KNN分类的实践方法,通过“鸢尾花分类”“相似电影推荐”两个实践案例,详细介绍了该算法的实践过程。

第12章阐述了支持向量机分类的实践方法,通过“鸢尾花数据分类”“新闻文本数据分类”两个实践案例,详细介绍了该算法的实践过程。

第13章阐述了神经网络分类的实践方法,通过“新闻文本分类”实践案例,详细介绍了该算法的实践过程。

第14章阐述了常见的集成学习算法的实践,让读者掌握Bagging、随机森林、Adaboost、GBDT、XGBoost的实际应用。通过“房价预测”“点击欺骗预测”实践案例,详细介绍了集成算法的实践过程。

第15章给出了各算法的综合运用案例,主要包括员工离职预测、二手车交易价格预测、信息抽取、学术网络节点分类四个综合案例。

本书在总结数据挖掘实践的基础上,在中国大学MOOC上开设了“数据挖掘”MOOC课程(https://www.icourse163.org/course/NUDT-1461782176),并在头歌平台上开设了“数据挖掘”实验课程(https://www.educoder.net/paths/4153),读者可通过在线视频课程的学习、作业训练与编程实践加深对数据挖掘知识点的理解,提高运用能力。

数据挖掘是一个快速发展的领域,加之本书编写时间短,作者水平有限,书中难免有疏漏之处,请各位读者、同行不吝指正。