《数据挖掘与机器学习》教学大纲
01课程性质
本课程以数据挖掘和机器学习为主要内容,讲述实现数据挖掘的主要功能、数据挖掘、机器学习算法和应用,并通过对实际数据的分析更加深入地理解常用的数据挖掘与机器学习模型。培养学生数据分析和处理的能力。该课程的先修课程有概率论与数理统计、数据库原理和程序设计等。
02教学目的
本课程的主要目的是培养学生的数据挖掘与机器学习的理论分析与应用实践的综合能力。通过本课程的教学,使学生掌握数据挖掘和机器学习的一般原理和处理方法,能使用机器学习理论解决数据挖掘相关的问题。
03教学内容
本课程全面而又系统地介绍了数据挖掘与机器学习的方法和技术,反映了当前数据挖掘和机器学习研究的最新成果。本课程主要学习的内容包括Python数据分析与可视化基础、认识数据、数据预处理、回归分析、关联规则挖掘、分类与预测、聚类分析、神经网络与机器学习基础、离群点检测以及Python数据挖掘案例分析等内容。
04教学时数
本课程的教学时数为72学时,理论教学54学时,实验教学18学时。
第一章数据挖掘概述
教学要点:
1 .理解和掌握数据挖掘与机器学习的基本概念、数据挖掘过程、数据挖掘的主要任务以及数据挖掘使用的主要技术。
2 .了解数据挖掘与机器学习的应用和面临的问题。
3 .对数据挖掘和机器学习能够解决的问题和解决问题思路有清晰的认识。 4 .熟练应用Jupyternotebook的开发环境。 教学时数:4学时。
考核要点:了解数据挖掘的定义和功能,理解数据挖掘在何种数据上进行,数据挖掘可以挖掘什么类型的模式,掌握初级的数据分析方法。
第二章Python数据分析与挖掘基础
教学要点:
1 .理解和掌握Python基础语法、内建的数据结构、Numpy数值运算基础、Pandas统计分析基础。
2 .掌握Matplotlib图表绘制基础等数据分析和可视化方法。
教学时数:6学时。
考核要点:掌握Python编程基础,数据分析与可视化方法。
第三章认识数据
教学要点:
1 .理解和掌握数据对象和属性类型,数据的基本统计描述,掌握度量数据相似性和相异性的方法。
2 .了解数据可视化的方法。 教学时数:3学时。
考核要点:了解数据的属性类型,理解数据的基本统计描述,掌握度量数据相似性和相异性的方法。
第四章数据预处理
教学要点:
1 .了解数据预处理的目的和意义。 2 .掌握如何对数据进行清理。
3 .掌握如何对不同数据源的数据进行合并。
4 .掌握如何对数据进行变换,使之适合建模的需要。
5 .掌握如何对数据进行消减,使得在消减后的数据集上挖掘更有效。 6 .掌握利用Python进行数据预处理的方法。 教学时数:4学时。
考核要点:理解数据清理、数据集成、数据规约、数据变换于数据离散化的方法,掌握数据预处理的基本方法。
第五章回归分析
教学要点:
1 .掌握回归分析原理。 2.掌握一元线性回归分析。 3.掌握多元线性回归分析。 4.掌握逻辑回归。
5.了解其他回归分析。 教学时数:4学时。
考核要点:掌握回归的定义的定义,各类回归的原理及Python实现。
第六章关联规则挖掘
教学要点:
1 .了解关联规则的基本思想、概念和意义。
2 .了解关联规则挖掘的应用背景;掌握常用的关联规则算法。 3 .掌握利用Python实现关联规则分析。
4 .了解其它方法的内容、了解关联规则挖掘的研究动态。 教学时数:4学时。
考核要点:了解频繁项集、闭项集和关联规则的概念,理解模式评估方法,掌握Apriori算法和挖掘频繁项集的模式增长方法。
第七章分类
教学要点:
1 .了解分类及预测的基本思想、概念和意义。 2 .掌握常用的分类及预测算法(或模型)。 3 .了解分类及预测挖掘的研究动态。
4 .掌握利用Python实现各种分类算法的方法。 教学时数:12学时。
考核要点:了解分类的概念,理解评估分类器性能的度量方法,掌握决策树分类算法、SVM、贝叶斯分类算法、模型评估与选择、组合分类及利用Python实现分类的方法。
第八章聚类
教学要点:
1 .了解如何计算由各种属性和不同的类型来表示的对象之间的相异度。 2 .掌握K-Means聚类、层次聚类、基于密度的聚类和其他常用方法。 3 .掌握利用sklearn实现聚类的方法。 教学时数:10学时。
考核要点:了解聚类的概念,掌握k-Means和k-Medoids算法、层次方法和基于密度的方法等典型算法及其Python的实现方法。
第九章神经网络与深度学习
教学要点:
1 .了解理解神经网络与深度学习的原理。 2 .掌握感知机与BP神经网络的原理。 3 .了解深度学习基础。 教学时数:5学时。
考核要点:了解神经网络的概念,掌握感知机模型和BP神经网络、了解深度学习算法。
第十章离群点检测
教学要点:
1 .了解离群点的概念与检测方法。
2 .掌握sklearn中的异常值检测方法。 教学时数:4学时。
考核要点:了解离群点的概念、类型以及离群点检测的常用方法,掌握sklearn中的异常值检测方法。
第十一章数据挖掘案例 教学要点:
1 .掌握数据挖掘与机器学习的分析与实现。 2 .掌握利用Python进行综合数据分析。 教学时数:4学时。
考核要点:掌握利用Python进行数据挖掘与机器学习的实现过程。
本课程使用教具和现代教育技术的指导性意见
本课程教材力求内容新颖,应采用多样化的方式进行教学,让学生在理论与实践相结合
的基础上,对课程所要求的实际操作能力有进一步的提高。充分利用多媒体等现代化教学手段,整体优化教学过程和教学内容,调动学生学习积极性;布置实际操作任务给学生上机操作并及时指导。
实验部分
基本要求:实验是数据挖掘与机器学习课程教学中不可分割的重要组成部分。实验课程设计的思想是帮助学生理解和掌握数据挖掘的基本概念、算法、技术和原理,熟练掌握利用Python进行数据挖掘和机器学习的使用方法,通过适当的编程提高学生的编程能力以及实践动手能力,提高学生对课程的学习兴趣,加强创新精神与综合素质的培养。 实践课程课时:18学时
05教学进度计划表
总时数 72 课次 名称 计划时数 周次 讲课 54 实践/实验 上机 习题 课程设计 周学时 4 18 授课内容摘要 时数 目的要求 第一章数据挖掘与机器学习概 述 一、数据挖掘简介 1 二、数据分析与数据挖掘 三、数据挖掘的任务 四、数据挖掘的数据源 1 了解数据挖掘与机器学习的五、数据挖掘使用的主要技术 六、数据挖掘的主要任务 2 七、数据挖掘的商用工具 八、利用Python进行数据挖掘 2 应用和面临的问题。对数据挖掘和机器学习能够解决的问题和解决问题思路有清晰的认识。熟练应用Jupyternotebook的开发环境。 第二章Python数据分析基础 3 2 一、Python程序概述 二、Python内建的数据结构 2 理解和掌握Python基础语法、内建的数据结构。 2 理解和掌握数据挖掘与机器学习的基本概念、数据挖掘过程、数据挖掘的主要任务以及数据挖掘使用的主要技术。 4 三、Numpy数值计算基础 2 掌握Numpy数值计算方法,主要包括数组和矩阵运算。 掌握Pandas中的数据结构、5 四、Pandas统计分析基础 2 数据查询与编辑、分组汇总及绘图。 3 6 五、Matplotlib数据可视化基 础 六、Scikit-learn基础 掌握Matplotlib数据可视化2 绘图基础,参数设置及常用绘图。 周次 课次 授课内容摘要 时数 目的要求 7 实验一、数据分析与可视化实训 2 利用Python进行数据分析与可视化 4 理解和掌握数据对象和属性第三章认识数据 8 数据对象与属性类型数据的基本统计描述数据可视化 度量数据的相似性 1)第四章数据预处理 2)数据预处理概述,Python数9 据预处理方法 3)数据清理及Python数据清洗方法 掌握如何对不同数据源的数5 三、数据集成及利用Python进 行数据合并 10 1)数据变换与离散化 2)数据归约 2 据进行合并;掌握如何对数据进行变换,使之适合建模的需要;掌握如何对数据进行消减,使得在消减后的数据集上挖掘更有效;掌握利用Python进行数据预处理的方法。 2 了解数据预处理的目的和意义;掌握如何对数据进行清理。 2 类型,数据的基本统计描述,掌握度量数据相似性和相异性的方法;了解数据可视化的方法。 3)实验二、利用Python实现数6 11 据预处理(数据合并、数据清洗、数据变换) 掌握利用Python实现数据清2 洗、数据集成和数据变换的方法 周次 课次 授课内容摘要 时数 目的要求 第五章回归分析 12 一、回归分析概述 二、一元线性回归分析 2 掌握回归分析原理;掌握一元线性回归分析的原理与方法。 掌握多元线性回归分析;掌13 三、多元线性回归四、逻辑回归 五、其他回归分析 7 14 实验三、利用Python实现典型的回归分析 2 掌握利用Python实现典型的回归分析方法 2 握逻辑回归;了解其他回归分析 第六章关联规则挖掘一、关联规15 8 则分析概述二、频繁项集挖掘方法 2 了解频繁项集、闭项集和关联规则的概念,理解模式评估方法,掌握Apriori算法 掌握FP挖掘算法;利用16 三、频繁模式树算法 四、关联规则评估方法 2 Python实现关联规则分析;了解其它方法的内容、了解关联规则挖掘的研究动态。 实验四、Python实现数据的关联规则分析 9 第七章分类 18 一、分类概述 二、决策树规约及其Python实 现 19 10 20 17 2 掌握利用Python实现数据的关联规则分析 了解分类及预测的基本思2 想、概念和意义;掌握决策树规约算法。 2 掌握KNN算法原理与实现;了解5丫乂算法及其实现。 2 熟悉掌握贝叶斯分类算法;理解评估分类器性能的度 三、K近邻算法 四、支持向量机算法及其实现 五、贝叶斯分类 六、模型评估与选择 周次 课次 授课内容摘要 时数 目的要求 量方法。 七、组合分类 21 11 22 实验五、分类分析综合实验 2 组合方法概述;袋装;提升和A daboost;随机森林 2 掌握组合分类的原理;掌握随机森林框架及Python实现方法 用不同的算法实现给定数据集的分类分析,掌握利用Python实现数据分类分析的常用方法 第八章聚类 23 一、聚类概述 二、K-Means算法 K-Means算法实现 12 24 三、层次聚类方法 层次聚类算法及其Python实现 2 掌握聚类分析的基本原理;2 熟练掌握K-Means算法的原理及其实现 掌握层次聚类算法及其实现 25 四、基于密度的聚类方法 DBSCAN算法原理及其实现 2 掌握DBSCAN算法及其实现 13 五、其他聚类方法 26 STING算法、COBWENB算法及模 糊聚类算法 2 了解STING算法、COBWENB算法;掌握模糊聚类算法。 27 14 六、聚类评估估计聚类趋势确定簇数目的方法测定聚类质量 掌握聚类评估的基本方法;2 确定簇数目的常用方法;聚类质量的测定。 28 实验六数据的聚类分析综合实验 2 掌握数据聚类的典型算法 周次 课次 授课内容摘要 时数 目的要求 29 15 30 第九章神经网络与深度学习 一、神经网络基础 神经元模型,感知机与多层网络 2 理解神经网络基本原理;掌握感知机的原理。 理解多层前馈神经网络的原二、BP神经网络 2 理;理解后向传播算法;了解BP神经网络的应用。 三、深度学习基础 31 深度学习的基本原理和常用框 架 16 32 实验七、BP神经网络案例实验 2 掌握BP神经网络的Python实现 2 理解深度学习的基本原理;了解深度学习常用的几种模型。 第十章离群点检测 一、离群点概述 33 离群点的概念、分类二、离群点检测方法 17 常用的离群点检测方法 三、sklearn中的异常值检测方34 法 了解利用Python进行异常值检测的方法。 2 掌握sklearn中的异常值检测方法。 2 掌握离群点的概念与检测方法。 35 18 第十一章数据挖掘案例分析实验八、数据挖掘案例分析 2 数据挖掘综合案例分析与讲解 36 实验九、数据挖掘案例实现 2 数据挖掘综合案例分析与实现 06选用教材