• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 教育教学 > 正文

    对应用型本科生开设数据挖掘课程的尝试

    时间:2021-04-09 07:54:00 来源:达达文档网 本文已影响 达达文档网手机站

    摘要:本文对数据挖掘课程的特点以及应用领域、数据预处理方法以及关键的四项技术、Web挖掘与个性化推荐以及算法实现及应用上做了分析,并且在教学实践中做了尝试,提出了一些经验和不足。

    关键词:数据挖掘;数据预处理;挖掘算法;Web挖掘;个性化推荐

    中图分类号:G642文献标识码:A

    文章编号:1672-5913(2007)14-0027-03

    1引言

    数据挖掘是一门综合性的交叉学科,它融合了概率统计学、数据库技术、数据仓库、人工智能、机器学习、信息检索、数据结构、高性能计算、数据可视化以及面向对象技术等,在保险业、电信业、交通业、零售业、银行业正在被越来越广泛深入地使用,同时在生物学、天文学、地理学等领域也逐渐显现出技术优势,特别是在客户关系管理系统、个性化网站设计、电子商务系统、搜索引擎等方面数据挖掘技术显示出了独特的魅力。数据挖掘技术正在以一种全新的概念改变着计算机应用的方式。

    从最近计算机技术的发展以及学生就业方面来看,对本校的应用性本科生开设“数据挖掘技术”课程迫在眉睫。但数据挖掘给人的感觉就是“高深莫测”,当前数据挖掘领域主要是博士生、硕士生研究的领域,数据挖掘课程也只在一些重点大学的研究生或高年级的本科生中开设,应用型本科院校以及一些高职高专几乎都没有开设此类课程。这限定了数据挖掘作为一门既有理论又有实践价值学科的应用和推广,笔者认为很可惜。从计算机专业的学生的毕业设计以及就业角度分析,相当多的同学以后会从事电子商务类软件的开发,而这类应用目前都渐渐基于Web作为应用平台,面对的是海量的数据信息,因此让学生掌握数据挖掘的思想和方法对提高计算机素养很有必要。即使将来从事控制、通信、游戏、图像处理等软件开发,数据挖掘的思想和方法也很容易找到用武之地。

    2数据挖掘课程开设的可行性分析

    从计算机技术发展以及学生就业反馈的信息,笔者觉得数据挖掘的思想、方法以及算法对应用型本科生是很重要的,并且让学生掌握好这门课程也是完全可能的。我校从1998年以来一直在高年级本科生中开设了“人工智能”课程,但从教学效果上来看,很不理想。“数据挖掘技术”这门课程在不少地方很像“人工智能”,“数据挖掘技术”课程中的一些思想就是从“人工智能”中发展过来的,但是“数据挖掘技术”课程与“人工智能”课程有一个本质的区别,就是数据挖掘从诞生的一开始就是面向大量的、实际的数据库信息,因此,具有极强的应用性,如果将“数据挖掘技术”课程看做是“数据库技术”课程的自然延伸,同时充分利用数据结构、人工智能、面向对象技术与方法、Web技术、概率统计等课程的基础,就能够将“数据挖掘技术”课程开设好。于是两年前,笔者在应用型本科生中做了尝试,就是取消原来的“人工智能”课程,取而代之的是“数据挖掘技术”课程,从两年的教学实践以及教学效果上看,行之有效。并且在教学中发现,虽然数据挖掘技术要用到人工智能的一些思想和方法,但没有“人工智能”课程作为前导课程,没有任何影响,因为,数据挖掘中的一些人工智能思想在“数据挖掘技术”课程的教学中是自成体系的,并且是以比“人工智能”中的方法更加简单、更加直接、更加面向应用的方式。开设“数据挖掘技术”课程必须以下列的课程作为基础(前导课程),当然这些课程都是一些常规课程。

    1) 必须深入学习一门程序设计语言,通过这门语言的学习可以掌握程序设计的基础知识,并且掌握面向对象思想开发的精髓,能够进行可视化程序设计。学习程序设计绝不是记住程序设计语言的语法就行了,而要努力做到将应用中的思想变为程序。这一点是计算机专业学生的基本素养。这一环节没有做好,其余的计算机专业的专业课程,如数据结构、操作系统、数据库原理、编译原理、软件工程等就无法学习,即使学了,也不能真正掌握。笔者从计算机发展和应用角度,推荐学习C/C++和Java,要求对C++的模板以及STL或Java的数据结构类(在Java的util包中)能够较好掌握。

    2) 掌握“数据结构”课程,特别是“数据结构”课程中的树的特点和应用。在“数据结构”课程中,树主要以二叉树为主,对于一般的树,在当前的“数据结构”课程的教学中都是将一般的树转化为二叉树来进行处理的,但是在数据挖掘中这样不太方便。数据挖掘中的很多算法都涉及到树的应用,并且大多都是不太规则的树,在数据挖掘中,采用树的思想与Java中的数据结构类或C++中的STL相结合的方法,能够得到很好的效果。

    3) 掌握“数据库技术”课程中数据库操作的特点和应用。数据挖掘的对象主要是数据库中的数据,但作为数据挖掘对象的数据库的数据信息量往往很大,因此,为了提高挖掘的效率,需要建立数据仓库,或者需要在算法上加工,尽量减少扫描数据库的次数。

    4) 掌握“Web技术”。这是因为Internet已经广泛应用并且深入人心,未来的软件相当多的都是基于Web平台之上,因此,对于Web挖掘不仅重要,而且具有直接的应用价值。当前Internet上的软件如一些知名网站、搜索引擎以及一些电子商务系统,采用了数据挖掘技术,得到了很多有价值的信息或提高了个性化能力,大大增强了企业的竞争力。因此,掌握“Web技术”课程对Web挖掘很有裨益。

    5) 熟悉“概率统计”课程中的思维方式,对各种分布以及条件概率能够熟练掌握,在数据挖掘中的分类、关联规则等领域很多挖掘方法都灵活运用了概率统计中的思想和方法。

    从“数据挖掘技术”课程的教学实践中明显看出,主要需要以上几门课程,并且教学结束后发现,学生不仅能够掌握数据挖掘的思想、方法以及算法,通过对一些主要的挖掘算法的实现,对“数据库技术”、“程序设计语言”、“数据结构”、“Web技术”以及“概率统计”掌握得更加深刻,将“数据挖掘技术”作为“数据库技术”的自然延伸,是“程序设计语言”、“数据结构”、“Web技术”以及“概率统计”的综合运用得到良好效果。

    3 “数据挖掘技术”课程的设置

    一门课程的设置,不仅要根据当前计算机技术的发展,同时也要根据当前学生的就业需求,充分考虑到应用型本科学生的特点。两年前,经过多方面的考虑以及参考了各种国内国外数据挖掘的教材以及论文后决定,“数据挖掘技术”课程教学学时定为32课时,讲课22学时,上机实验10学时。在这个总的学时定下来之后,就是对“数据挖掘技术”课程的内容设计,这是最重要的环节。精选出的内容不仅要反映数据挖掘的特点以及最新发展,还要结合应用型本科生的特点,要具有很强的针对性,重点要突出,要能够“学以致用”。最后“数据挖掘技术”课程的教学内容如下:

    1) 数据挖掘综述2学时。本讲侧重于从两、三个具体应用领域进行分析得出采用数据挖掘技术的重要性与必要性,可以选取客户关系管理、体育竞技、信息安全和商业欺诈等作为案例,然后给出完整的数据挖掘定义和数据挖掘技术的分类,以及数据挖掘需要的一些前导课程的知识要点。

    2) 数据挖掘过程及当前数据挖掘的软件工具2学时。数据挖掘的过程是数据抽取与集成、数据清洗与预处理、数据的选择与整理、数据挖掘以及结论评估。本讲重点讲解挖掘的过程,强调数据预处理对挖掘的重要意义,对于缺省的值、残缺的值等的处理方法。让学生对数据挖掘的整体过程有清楚的理解。然后介绍一下当前流行的商品化数据挖掘软件如IBM的IntelligentMiner和加拿大Simon Fraser 大学的DBMiner。

    3) 关联规则挖掘与序列模式挖掘6学时。在介绍关联规则原理的基础上,主要介绍著名算法Apriori及其改进、FP_Tree算法、用于序列模式挖掘的AprioriSome算法。每个算法需要2学时,对每个算法要进行彻底分析,不仅能够理解算法的原理、思想以及过程,还要分析算法提出人为什么会提出这种算法,在日常生活中的含义是什么,算法的优点和缺点是什么,以及如何用Java或C++来编程实现该算法。最后,对多层次关联以及数量关联规则挖掘做个简单介绍即可。

    4) 分类技术4学时。介绍分类的原理,主要讲解ID3和C4.5、朴素贝叶斯分类,简单介绍一下BP神经网络的分类。对于C4.5要求能够从原理上把握整个算法,能够进行连续值的离散化处理,理解C4.5比ID3的优势所在;对于朴素贝叶斯分类,要深刻理解该分类的原理以及贝叶斯信念网络的工作原理。特别的,对于FP_TREE以及C4.5算法的实现,需要用到不规则树,提出用C++或Java解决这种不规则树的方法。

    5) 聚类技术4学时。在介绍聚类的重要性和分类的基础上主要介绍划分聚类PAM算法思想以及基于密度聚类DBSCAN,对于当前重要的聚类STING和CLIQUE做个简单介绍。最后,比较聚类和分类的不同之处。

    6) Web挖掘与个性化推荐技术4学时。对于Web挖掘从内容挖掘、访问行为挖掘和结构挖掘三个方面进行讲解,重点讲解个性化技术。对基于最小关联规则集的个性化推荐以及基于协作筛的个性化推荐作深入剖析,并指出在当今网站设计中的重要意义。

    7) 上机实验设计。精选五个上机实验。第一个实验是关联规则的Apriori算法或FP_Tree算法的实现,两个任选一个,如果选择Apriori的话,需要采取一些效率改进措施;第二个实验是序列模式挖掘中的AprioriSome算法;第三个实验是分类技术中的ID3或C4.5算法,这两个算法的主体相同,任做一个即可;第四个实验是聚类中的PAM或DBSCAN算法,两个任选一个;第五个实验是利用协作筛进行个性化网站的智能推荐。以上五个实验每个实验2学时,建议编程语言采用Java或C++,最后挖掘结果具有可理解性。

    当然,以上的课程内容设计会随着数据挖掘技术的发展,不断进行微调,以适应不断变化的计算机技术发展与社会需求。

    4 “数据挖掘技术”教学实践总结

    两年前,虽然已对“数据挖掘技术”课程作了充分准备,但在刚开设这门课程的时候,很担心这门“高深莫测”的课程的教学效果。但经过两年的教学实践发现,这门课程的教学效果比预想的还要好。通过对该门课程的学习,学生不仅基本掌握了数据挖掘的基本原理和算法,同时对以前的一些主干课程如数据结构的理解和运用有了非常深刻的认识。更为重要的是,本课程的五个实验都是数据挖掘领域中最经典、最重要的算法,通过对这些算法的编程实现,不仅理解了数据挖掘关键算法的精髓,同时,这些数据挖掘算法实现的程序经过不断改进、加工,性能不断提高,由于都是源代码,可以将这些算法应用到一些实用的软件系统如客户关系管理系统、个性化网站中去,收到良好效果。此外,在网上的一些数据挖掘论坛中,经常看到一些初学数据挖掘的研究生或技术人员很想看一看数据挖掘经典算法的具体程序实现,我们也将这两年不断改进的程序源代码作为免费资源赠送给了不少同行,也为数据挖掘的推广应用贡献了微薄之力。

    5结束语

    “数据挖掘技术”课程的教学尝试目前主要针对的是本校应用型计算机专业本科生,虽然收到了良好的效果,但“数据挖掘技术”绝不仅仅是计算机专业学生才需要掌握的课程,对于我校通信系、电力系、自动化系等工科专业,经济系、管理系甚至一些文科类的学生也很有价值,因此,怎样在非计算机专业的应用型本科生中开设好这门新兴课程,甚至在高职高专学生中也开设好这门课程,则是需要作进一步的探索和尝试。

    参考文献:

    [1] 毛国君. 数据挖掘原理与算法[M]. 北京:清华大学出版社,2005.

    [2] 陈文伟. 数据挖掘技术[M]. 北京工业大学出版社,2002.

    [3] 余力. 电子商务个性化[M]. 北京:清华大学出版社,2007.

    A Test to Applied College Students on Teaching Data Mining

    XU Jin-bao

    (Dept. of Computer Engineering, Nanjing Institute of Technology,

    Nanjing 211100,China)

    Abstract:Data mining becomes more and more important in nowadays. To applied college students, mastering the basics and methods of data mining technology demands immediate attention. This article gives some suggestions on how to teach these students well. The content of data mining technology course and experiments are selected elaborately. Mining technologies such as association rule , data classification, clustering , web mining and personalized recommendation are emphasized.

    Keywords: data mining ;data preprocessing; mining algorithms; web mining; personalized recommendation

    作者简介:徐金宝(1970-),男,江苏南京人,讲师,1992年毕业于浙江大学,主要从事计算机软件的教学与研究,研究方向是数据挖掘、Java新技术应用。

    相关热词搜索: 本科生 开设 数据挖掘 尝试 课程

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网