本发明涉及数据挖掘和教学技术领域,特别涉及一种数据挖掘课程教学实践系统和基于系统的教学实践方法。
背景技术:
近年来,数据驱动的智能产品不断扩展了制造业的新领域;制造数据作为生产资料的智能生产正在引领生产方式变革;基于大数据的个性化定制、精准供应链等智能服务正在重塑产业价值链体系。为适应甚至引领依赖于数据的智能制造产业(智能产品、生产和服务)变革,面向智能制造的机械专业学生数据思维即挖掘数据所蕴藏的知识、规律和模式以支持决策的思维模式培养需求迫切。
开设数据挖掘或大数据课程是加强数据思维培养的重要手段。但当前数据挖掘课程教学实践主要基于如下两种模式:一种是在已封装接口或页面上开展挖掘分析实践,在这种模式下算法的原理介绍和具体实现脱节,并且学生的程序拓展开发实践也得不到训练。另一种是以训练程序开发实践为主,学生针对不同算法开发小程序,但其统一性、集成性和系统性差,不利于支持教师示范演示和学生在统一平台开展挖掘分析实践。
技术实现要素:
本发明的第一目的在于克服现有技术的缺点与不足,提供一种数据挖掘课程教学实践系统,该系统可以方便教师授课和使学生对数据挖掘业务、流程框架有更系统性的认识,提升学生的数据科学思维。
本发明的第二目的在于提供一种基于数据挖掘课程教学实践系统的教学实践方法。
本发明的第一目的通过下述技术方案实现:一种数据挖掘课程教学实践系统,包括:由下至上依次连接的挖掘业务与数据层、理论方法层、应用与可视化层,其中,
挖掘业务与数据层具有数据准备模块,用于根据课程教学内容设置相应的数据挖掘业务和获取所需数据;
理论方法层为各种挖掘流程框架、算法原理、使用范式和开发实现方法;
应用与可视化层通过人机界面连接理论方法层和挖掘业务与数据层,应用与可视化层具有核心功能开发模块,用于系统菜单设置、参数配置可视化、输入输出操作、调用理论方法层的存储内容对数据进行处理、数据挖掘业务的开发过程和结果可视化。
优选的,挖掘业务与数据层获取的数据包括仿真数据、观测数据、实验设计所得数据,数据通过收集和从数据仓库、数据集市、数据库和数据文件这些数据源选取或者融合得到。
优选的,核心功能开发模块包括依次连接的数据基本统计模块、数据预处理模块、挖掘分析模块、评价和解释模块以及开发实现模块,数据基本统计模块和数据预处理模块均连接数据准备模块,其中,
数据基本统计模块用于对数据进行数量统计、计算最大值、最小值、中位数、均值和方差;
数据预处理模块用于对准备的数据进行数据清洗、转换、消减和离散的预处理;
挖掘分析模块用于对经过预处理的数据进行描述型挖掘或者预测型挖掘,描述型挖掘包括对数据的概述、聚类分析、关联分析和序列模式挖掘;预测型挖掘包括对数据的分类、预测、时间序列分析和异常检测;
评价和解释模块用于将开发过程和结果按照不同挖掘业务的相应指标进行评价说明和以图表的可视化形式进行解释;
开发实现模块用于供学生利用各种开发语言和平台、软件、算法专用包和自行开发程序包编译开发数据挖掘的相关功能。
更进一步的,数据清洗包括冗余数据检测和删除、异常数据处理、噪声消除、缺失值处理、离群值筛选;
数据转换是指数据形式的变换处理,包括数据归一化;
数据消减包括参数降维、数据约简和压缩,数据约简包括数据抽样,数据压缩包括主成分分析;
数据离散是指数据的离散化处理。
更进一步的,描述型挖掘所用到的模型为聚类模型,包括k-means模型、agglomerative模型、dbscan模型、fcm模型、自组织映射神经网络、快速搜索密度峰值聚类模型;
预测型挖掘所用到的模型为分类模型或者预测模型,其中,分类模型包括逻辑回归模型、c4.5决策树、cart决策树、随机森林、贝叶斯网络、支持向量机、人工神经网络、深度置信网络;预测模型包括线性回归模型、随机森林、支持向量机、人工神经网络、深度置信网络。
更进一步的,开发语言包括c语言、c 、python;
平台包括tensorflow、pandascaffe、torch、spark、mapreduce;
软件包括orange、rsoftware、weka、knime、rapidminer或者其他免费软件,以及sisense、oracledatamining、ibmintelligentminer、sapbusinessobjects、sas、spssmodeler、matlab或者其他商业软件。
更进一步的,系统采用matlab和python联合开发,其中,系统的三层框架、应用与可视化层的核心功能和可视化采用matlab实现。
本发明的第二目的通过下述技术方案实现:一种基于本发明第一目的所述的数据挖掘课程教学实践系统的教学实践方法,步骤如下:
s1、教师通过数据挖掘课程教学实践系统对课程教学内容进行示范性讲授,并针对不同专业和课程要求的学生布置相应的课程任务;
s2、基于数据挖掘课程教学实践系统和待完成的课程任务,学生通过人机界面设置数据准备模块的数据挖掘业务和获取所需数据,在核心功能开发模块上调用理论方法层的存储内容和配置参数来进行编译开发,得到可视化的开发过程和结果;
s3、教师根据系统上可视化的开发过程和结果对学生的实操进行指导分析。
优选的,步骤s1中讲授的内容包括:介绍产品全生命周期的挖掘业务和数据;梳理挖掘的流程;梳理各个算法的关键原理和重要参数;在核心功能开发模块上进行开发编译的案例演示;
编译开发的过程包括在系统的开发实现模块上编写和修改代码、参数配置和调优、算法选择、调试以及封装,在评价和解释模块上查看可视化图表和数据指标解释。
更进一步的,产品全生命周期数据类型包括:工程数据、企业资源环境数据、生产计划数据、制造结果数据等、交易和交互数据;产品全生命周期的挖掘业务包括:质量改进、生产管理、过程控制、客户管理、供应链优化;
对于机械设计或者制造工程专业的学生,数据准备模块上设置的数据挖掘业务和选取的数据偏向于质量改进、生产管理业务;
对于自动化、电子工程、机电专业的学生,数据准备模块上设置的数据挖掘业务和选取的数据偏向于数据驱动的过程控制、故障诊断与预测业务。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明数据挖掘课程教学实践系统,包括由下至上依次连接的挖掘业务与数据层、理论方法层、应用与可视化层,其中,挖掘业务与数据层具有数据准备模块,用于根据课程教学内容设置相应的数据挖掘业务和获取所需数据;理论方法层为各种挖掘流程框架、算法原理、使用范式和开发实现方法;应用与可视化层通过人机界面连接理论方法层和挖掘业务与数据层,应用与可视化层具有核心功能开发模块,用于系统菜单设置、参数配置可视化、输入输出操作、调用理论方法层的存储内容对数据进行处理、数据挖掘业务的开发过程和结果可视化。本发明系统可供师生使用,统一性、集成性和系统性更佳,既方便教师授课,又能使学生对数据挖掘业务、流程框架有更系统性的认识,在算法原理理解、开发实现、参数调优、不同算法特性对比等方面得到良好训练,使学生的数据科学思维得以提升。
(2)本发明系统中,核心功能开发模块能够实现对数据的基本统计、各种预处理,挖掘分析、对实现的功能进行评价和解释以及拓展开发,挖掘流程完整,功能全面,能够满足不同专业的课程教学实践要求。
(3)本发明系统的开发实现模块可支持各种开发语言和平台、软件、算法专用包和自行开发程序包来实现编译开发,学生可在此开展知识点驱动的自主学习,以便更好地理解算法原理、查看源代码、调优参数等,提高学习效率和效果,可见,系统的灵活性和可开拓性强。
附图说明
图1是本发明数据挖掘课程教学实践系统的框架示意图。
图2是图1系统中数据准备模块和核心功能开发模块的连接示意图。
图3是本发明教学实践方法的流程图。
图4是常用算法的关键原理和重要参数。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
本实施例公开了一种数据挖掘课程教学实践系统,如图1所示,包括:由下至上依次连接的挖掘业务与数据层、理论方法层、应用与可视化层。
如图2所示,挖掘业务与数据层具有数据准备模块,用于根据课程教学内容设置相应的数据挖掘业务和获取所需数据,数据包括仿真数据、观测数据、实验设计所得数据,具体可通过收集和从数据仓库、数据集市、数据库和数据文件这些数据源选取或者融合得到。
理论方法层为各种挖掘流程框架、算法原理、使用范式和开发实现方法。
应用与可视化层通过人机界面连接理论方法层和挖掘业务与数据层,应用与可视化层具有核心功能开发模块,用于系统菜单设置、参数配置可视化、输入输出操作、调用理论方法层的存储内容对数据进行处理、数据挖掘业务的开发过程和结果可视化。
核心功能开发模块包括依次连接的数据基本统计模块、数据预处理模块、挖掘分析模块、评价和解释模块以及开发实现模块,数据基本统计模块和数据预处理模块均连接数据准备模块,具体如下:
数据基本统计模块用于对数据进行数量统计、计算最大值、最小值、中位数、均值和方差。
数据预处理模块用于对准备的数据进行数据清洗、转换、消减和离散的预处理。其中,参见图2,数据清洗包括冗余数据检测和删除、异常数据处理、噪声消除、缺失值处理、离群值筛选。数据转换是指数据形式的变换处理,包括数据归一化。数据消减包括参数降维、数据约简和压缩,数据约简包括数据抽样,数据压缩包括主成分分析。数据离散是指数据的离散化处理。
挖掘分析模块用于对经过预处理的数据进行描述型挖掘或者预测型挖掘,描述型挖掘包括对数据的概述、聚类分析、关联分析和序列模式挖掘,所用到的模型为聚类模型,不仅包括经典算法模型例如k-means模型、agglomerative模型、dbscan模型(density-basedspatialclusteringofapplicationswithnoise)、fcm模型(fuzzyc-means)和自组织映射神经网络,还包括了近年来高水平研究成果,比如快速搜索密度峰值聚类模型。
预测型挖掘包括对数据的分类、预测、时间序列分析和异常检测,所用到的模型为分类模型或者预测模型,其中,分类模型包括逻辑回归模型、c4.5决策树、cart决策树、随机森林、贝叶斯网络、支持向量机(supportvectormachine,svm)、人工神经网络(artificialneuralnetwork,ann)、深度置信网络;预测模型包括线性回归模型、随机森林、支持向量机、人工神经网络、深度置信网络。
评价和解释模块用于将开发过程和结果按照不同挖掘业务的相应指标进行评价说明和以图表的可视化形式例如决策树或者决策图进行解释。
开发实现模块用于供学生利用各种开发语言和平台、软件、算法专用包和自行开发程序包编译开发数据挖掘的相关功能。其中,开发语言包括c语言、c 、python。平台包括tensorflow、pandascaffe、torch、spark、mapreduce。软件包括orange、rsoftware、weka、knime、rapidminer或者其他免费软件,以及sisense、oracledatamining、ibmintelligentminer、sapbusinessobjects、sas、spssmodeler、matlab或者其他商业软件。
在本实施例中,系统采用matlab和python联合开发,其中,系统的三层框架、应用与可视化层的核心功能和可视化采用matlab实现,部分算法采用python开发实现,比如特征选择算法调用python3.6开发的机器学习库sklearn实现。
并且,本实施例系统菜单整体主要被划分为基本统计、数据预处理、分类模型、预测模型、聚类模型这五个一级子菜单。其中,基本统计具有数量统计、最大值、最小值、中位数、均值和方差的二级子菜单,每个二级子菜单对应一个页面。数据预处理菜单具有数据清洗、转换、消减和离散这四个二级子菜单,每个二级子菜单具有相应的三级子菜单,例如,数据消减二级子菜单具有参数降维、数据约简和压缩的三级子菜单,每个三级子菜单对应一个页面,其独立完成相应预处理功能。而分类、预测和聚类模型菜单下分别对应一个执行页面,具体实现机制可在对应执行页面中的算法列表中选择调用。整体上各页面一般可完成数据(或配置文件)的选择、参数的配置(弹出参数设置页面)、结果(包括中间迭代结果)的可视化以及最终结果输出操作等。
如图3所示,本实施例还公开了一种基于上述数据挖掘课程教学实践系统的教学实践方法,步骤如下:
s1、教师通过数据挖掘课程教学实践系统对课程教学内容进行示范性讲授。讲授的内容可包括:(1)介绍产品全生命周期的挖掘业务和数据,产品全生命周期数据类型包括:工程数据、企业资源环境数据、生产计划数据、制造结果数据等、交易和交互数据;产品全生命周期的挖掘业务包括:质量改进、生产管理、过程控制、客户管理、供应链优化。(2)梳理挖掘的流程(数据准备、数据预处理、挖掘分析、评价和解释、开发实现),可参见图2。(3)梳理各个算法的关键原理和重要参数,常用算法可参见图4,有利于指导开发时页面封装、参数传递和代码编写。(4)在核心功能开发模块上进行开发编译的案例演示,可以使得学生对核心课程内容有系统性认识。
教师针对不同专业和课程要求的学生布置相应的课程任务。例如,对于机械设计或者制造工程专业的学生,数据准备模块上设置的数据挖掘业务和选取的数据偏向于质量改进、生产管理业务。对于自动化、电子工程、机电专业的学生,数据准备模块上设置的数据挖掘业务和选取的数据偏向于数据驱动的过程控制、故障诊断与预测业务。学生可在具体需求引导下探索挖掘技术,以提高其关联问题、数据以及算法的能力。
s2、基于数据挖掘课程教学实践系统和待完成的课程任务,学生通过人机界面设置数据准备模块的数据挖掘业务和获取所需数据,在核心功能开发模块上调用理论方法层的存储内容和配置参数来进行编译开发,得到可视化的开发过程和结果。编译开发的过程包括在系统的开发实现模块上编写和修改代码、参数配置和调优、算法选择、调试以及封装,在评价和解释模块上查看可视化图表和数据指标解释。
s3、教师根据系统上可视化的开发过程和结果对学生的实操进行指导分析。
利用上述方法,学生能够发挥群体智能,针对课程任务完成分组分工,通过网络视频(比如慕课)、查阅论文、论坛等方式完成资料查阅、算法选择;通过源代码查阅、调试等完成程序开发实践,加深对算法原理的理解;基于数据挖掘课程教学实践系统完成参数调优、案例测试、报告撰写等挖掘分析实践;最后通过教师指导、分享、讨论互动等强化效果,内化知识,以此提升能力;学有余力的学生还可以根据存在问题研究新的理论方法、开展扩展开发。教师在数据挖掘课程教学实践系统的基础上,可以研究pbl等教学模式与混合式学习、翻转课堂、慕课等结合的教学方式方法,在实践中以产品生产服务等具体挖掘问题、案例和项目为基础,以学生为主体,以教师为向导开展更高效的教学。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
1.一种数据挖掘课程教学实践系统,其特征在于,包括:由下至上依次连接的挖掘业务与数据层、理论方法层、应用与可视化层,其中,
挖掘业务与数据层具有数据准备模块,用于根据课程教学内容设置相应的数据挖掘业务和获取所需数据;
理论方法层为各种挖掘流程框架、算法原理、使用范式和开发实现方法;
应用与可视化层通过人机界面连接理论方法层和挖掘业务与数据层,应用与可视化层具有核心功能开发模块,用于系统菜单设置、参数配置可视化、输入输出操作、调用理论方法层的存储内容对数据进行处理、数据挖掘业务的开发过程和结果可视化。
2.根据权利要求1所述的数据挖掘课程教学实践系统,其特征在于,挖掘业务与数据层获取的数据包括仿真数据、观测数据、实验设计所得数据,数据通过收集和从数据仓库、数据集市、数据库和数据文件这些数据源选取或者融合得到。
3.根据权利要求1所述的数据挖掘课程教学实践系统,其特征在于,核心功能开发模块包括依次连接的数据基本统计模块、数据预处理模块、挖掘分析模块、评价和解释模块以及开发实现模块,数据基本统计模块和数据预处理模块均连接数据准备模块,其中,
数据基本统计模块用于对数据进行数量统计、计算最大值、最小值、中位数、均值和方差;
数据预处理模块用于对准备的数据进行数据清洗、转换、消减和离散的预处理;
挖掘分析模块用于对经过预处理的数据进行描述型挖掘或者预测型挖掘,描述型挖掘包括对数据的概述、聚类分析、关联分析和序列模式挖掘;预测型挖掘包括对数据的分类、预测、时间序列分析和异常检测;
评价和解释模块用于将开发过程和结果按照不同挖掘业务的相应指标进行评价说明和以图表的可视化形式进行解释;
开发实现模块用于供学生利用各种开发语言和平台、软件、算法专用包和自行开发程序包编译开发数据挖掘的相关功能。
4.根据权利要求3所述的数据挖掘课程教学实践系统,其特征在于,数据清洗包括冗余数据检测和删除、异常数据处理、噪声消除、缺失值处理、离群值筛选;
数据转换是指数据形式的变换处理,包括数据归一化;
数据消减包括参数降维、数据约简和压缩,数据约简包括数据抽样,数据压缩包括主成分分析;
数据离散是指数据的离散化处理。
5.根据权利要求3所述的数据挖掘课程教学实践系统,其特征在于,描述型挖掘所用到的模型为聚类模型,包括k-means模型、agglomerative模型、dbscan模型、fcm模型、自组织映射神经网络、快速搜索密度峰值聚类模型;
预测型挖掘所用到的模型为分类模型或者预测模型,其中,分类模型包括逻辑回归模型、c4.5决策树、cart决策树、随机森林、贝叶斯网络、支持向量机、人工神经网络、深度置信网络;预测模型包括线性回归模型、随机森林、支持向量机、人工神经网络、深度置信网络。
6.根据权利要求3所述的数据挖掘课程教学实践系统,其特征在于,开发语言包括c语言、c 、python;
平台包括tensorflow、pandascaffe、torch、spark、mapreduce;
软件包括orange、rsoftware、weka、knime、rapidminer或者其他免费软件,以及sisense、oracledatamining、ibmintelligentminer、sapbusinessobjects、sas、spssmodeler、matlab或者其他商业软件。
7.根据权利要求3所述的数据挖掘课程教学实践系统,其特征在于,系统采用matlab和python联合开发,其中,系统的三层框架、应用与可视化层的核心功能和可视化采用matlab实现。
8.一种基于权利要求1至权利要求7中任一项所述的数据挖掘课程教学实践系统的教学实践方法,其特征在于,步骤如下:
s1、教师通过数据挖掘课程教学实践系统对课程教学内容进行示范性讲授,并针对不同专业和课程要求的学生布置相应的课程任务;
s2、基于数据挖掘课程教学实践系统和待完成的课程任务,学生通过人机界面设置数据准备模块的数据挖掘业务和获取所需数据,在核心功能开发模块上调用理论方法层的存储内容和配置参数来进行编译开发,得到可视化的开发过程和结果;
s3、教师根据系统上可视化的开发过程和结果对学生的实操进行指导分析。
9.根据权利要求8所述的教学实践方法,其特征在于,步骤s1中讲授的内容包括:介绍产品全生命周期的挖掘业务和数据;梳理挖掘的流程;梳理各个算法的关键原理和重要参数;在核心功能开发模块上进行开发编译的案例演示;
编译开发的过程包括在系统的开发实现模块上编写和修改代码、参数配置和调优、算法选择、调试以及封装,在评价和解释模块上查看可视化图表和数据指标解释。
10.根据权利要求9所述的教学实践方法,其特征在于,产品全生命周期数据类型包括:工程数据、企业资源环境数据、生产计划数据、制造结果数据等、交易和交互数据;产品全生命周期的挖掘业务包括:质量改进、生产管理、过程控制、客户管理、供应链优化;
对于机械设计或者制造工程专业的学生,数据准备模块上设置的数据挖掘业务和选取的数据偏向于质量改进、生产管理业务;
对于自动化、电子工程、机电专业的学生,数据准备模块上设置的数据挖掘业务和选取的数据偏向于数据驱动的过程控制、故障诊断与预测业务。
技术总结