基于R语言的数据挖掘课程实验设计
- 格式:pdf
- 大小:928.75 KB
- 文档页数:5
Microcomputer Applications Vo1.32,No.5,2016 基金项目 微型电脑应用2016年第32卷第5期 文章编号:1007-757X(2016)05—0031—04 基于R语言的数据挖掘课程实验设计
岳强,胡中玉,文瑾,赵卿 摘要:大数据时代的到来,让数据挖掘知识和技术得到了快速的发展和应用。针对该课程实验存在的问题,设计了关联、 分类和聚类实验方案,研究了Apriori关联算法、ID3分类算法和K-Means聚类算法,在R语言环境下实现了这些算法并对 实验结果做出分析。通过教学实践表明,该课程实验有效地激发了学生的学习兴趣,培养了学生使用数据挖掘方法分析和解 决问题的能力。 关键词:实验设计;数据挖掘;R语言;关联;分类;聚类 中图分类号:TPl8;TP3l1 文献标志码:A
Experiment Design of Data Mining Course Based on R Language Yue Qiang,Hu Zhongyu,Wen Jin,Zhao Qing (Kunming University,Kunming 650214,China) Abstract:With the coming of Big Data,knowledge and technology of data mining develop very quickly.In view of the problems in the data mining experiments,plans about association,classification and clustering are designed.The Apriori algorithm,ID3 algo— rithm and K—Means algorithm are researched.These algorithms are realized by using R language,and experimental result is analyzed. Through the teaching practice,the experiments can inspire students’interest in learning effectively,and train ability of students to analyze and solve problems by using data mining method. Key words:Experiment Design;Data mining;R language;Association;Classification;Clustering
0引言 数据挖掘是计算机科学与技术、软件工程等信息技术类 专业一门非常重要的专业技术课程,在信息技术类专业的人 才培养方案中占有重要地位。数据挖掘技术是一门综合性非 常强的交叉学科,融合了数据库、人工智能、机器学习、统 计学和模式识别等学科的内 ”。为了让学生全面掌握数据 挖掘原理和技术,必须将理论教学和实验教学良好结合,既 要强调理论知识的讲解,更要重视实验内容的组织和设计, 这样才能让学生真正掌握数据挖掘的精髓,达到学以致用的 目的,提高专业核心技能。
1课程实验存在的问题 1.1学生知识结构存在缺陷 由于数据挖掘是一门交叉学科,所以要求学生也要具备 多方面的知识和技能结构。一方面学生要具有良好的数理基 础,另一方面也要具备优秀的程序设计能力。数据挖掘中的 相关定义会涉及到大量的数学公式,数学基础比较薄弱的学 生容易退缩,失去学习的兴趣。算法的实现过程又需要使用 递归、多重迭代和集合操作等较复杂的编程技术,所以学生 普遍感觉该课程内容晦涩难懂,实验任务难以完成,从而对
课程产生畏难情绪【2J。 1.2实验内容组织有待改进 数据挖掘是从海量的数据中获取知识的过程,实验开 展时理想的情况是从大型的数据库中分析数据和挖掘知识, 但受限于课程学时,各高校一般为该课程开设的学时数为 32至48,实验学时只占课程学时的三分之一,所以在实验 中不可能也没有必要使用海量数据,这就考核到了教师的教 学组织能力,课堂教学内容需要优化整合,实验内容要真正 做到“精练”。教师首先需要收集和整理一批数量和维度适 中的案例数据,最好是能激发学生学习兴趣的,其次设计实 验时应该提高设计性和综合性实验的比重,减少验证性和演 示性实验的数目,让学生在有限的实验学时内训练到最重要 的核心技能。另外,实验环境和软件工具的选取也非常重要, 对时间、人力和实验资源都起到节约的作用。
2基于R语言的数据挖掘课程实验设计 R语言是一款优秀的数据挖掘软件,和其他数据挖掘软 件相比,它是一个免费的开源软件,简单实用,语句格式易 于理解,只需具备基础的程序编制能力,就能快速上手,而 且提供了功能强大的统计计算和图形绘制功能,有利于将挖 掘结果图形化显示,方便学生观看实验效果 。下面以数据
基金项目:云南省教育厅科学研究基金项目(2011Y237)、昆明学院科学研究项目(ⅪL】5013) 作者简介:岳强(1977一),男,昆明市人,昆明学院,讲师,硕士,研究方向:数据挖掘、软件工程,昆明,650214 胡中玉(1981.),女,昆明市人,昆明学院,讲师,硕士,研究方向:计算机仿真,昆明,650214 文瑾(1963.),男,昆明市人,昆明学院,副教授,学士,研究方向:软件测试技术,昆明,650214 赵卿(1979.),男,昆明市人,昆明学院,讲师,硕士,研究方向:软件工程,昆明,650214
·31·
zzzPsgiolePfrpzzzPsgiolePfrpzzzPsgiolePfrpMicrocomputer Applications Vo1.32,No.5,2016 基金项目 微型电脑应用2016年第32卷第5期 基于密度的算法,如DBSCAN算法;(4)基于网格的算法, 如STRING算法;(5)基于模型的算法,如SOM算法 J。 每类算法本身并无优劣之分,使用者要根据数据特性来选择 合适的聚类算法。 定义6给定一个有n个对象的数据集,聚类将数据进 行k个划分,每~个划分乘坐一个簇,k≤n。这k个划分满 足下列条件:(1)每个簇至少包含一个对象;(2)每一个对 象属于且仅属于一个簇。 K.Means算法是使用的最广泛的聚类算法,它将n个对 象划分成k个簇,簇内的对象具有较高的相似度,而簇间的 对象的相异度较高。相似度根据一个簇中所有对象的平均 值来计算。算法首先随机选取k个对象,这些对象被认为是 它所在簇的中心,计算剩余对象与各个簇中心的距离,将它 归到最近的簇,然后重新计算每个簇的平均值。重复这个过 程,直到准则函数收敛[13-15J。 定义7K—Means算法的准则函数定义为公式(4):
E=∑ 1∑x∈ci IIx一五l12 (4) 其中X是空间中的点,代表给定的数据对象, 是簇ci的 平均值。 2.3.2 K.Means算法描述 输入:数据集D,要划分的簇的数目k。 输出:k个簇的集合。 从D中随机选取k个对象做为初始簇的中心;
Repeat; 根据簇中对象的均值,将每个对象分配到最相似的簇中 重新计算每个簇中对象均值; 计算准则函数E; Unti1准则函数不再发生变化。 2.3.3实验结果 实验数据来自某年我国各省市的出生和死亡情况,数据 如表3所示:
表3全国各省市出生死亡情况统计数据 地区 出生率 死亡率 地区 出生率 死亡率 地区 出生率 死亡率 北京 8.32 4.92 安徽 l2.75 6.4 天津 7.9l 5.86 福建 11.9 5.9 河北 l3.33 6.78 江西l3.86 5.99 山西 11.3 5.97 山东 11.11 6.11 内蒙古 1O.21 5.73 河南 11.26 6.32 辽宁 6.89 5.36 湖北 9.19 5.96 吉林 7.55 5.O5 湖南 11.96 6.71 黑龙江 7.88 5_39 广东 11.96 4.66 上海 9.07 6.03 广西 14.19 5.99 江苏 9.37 7.O7 海南 l4.62 5.7l 浙江 1O.38 5.57 重庆 10.1 6.3 四JlI 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆
调用kmeans()函数将数据进行分类,簇的数目定位 3,即将数据分为3类,核心代码见下,运行结果如图5所 示: K-means clustering wiEh 3 Clus ̄rs of sizes 10,12
Cfuseer舶ean5: 出生率 死亡摩
1 8 3,6矗57 5.7700O0 2 11.03夸0OO 5 9嘎30O0 3 1辱.2若4i57 5。968333
Clustering ec七口r: 【王l 1 1 3 2 2 1 1 1 1 1 2 3 2 3 2 2 1 2 2 3 3 2 1 3 3 3 2
Wlchin cIusEe 4吼of squares by cluster: 【1l 9.81020 8.01630 23,16766 (between SS/ ̄oual SS宣81.罨%l
图5聚类结果图 kml=kmeans(pv[,一1],center=3) 以上结果显示了3个类别所含的样本数,分别为9、10 和12,每个类别的出生率和死亡率的均值,以及每个样本 所属的类别。 将每个样本图形化显示,横坐标为出生率,纵坐标为死 亡率,用不同的符号代表不同的聚类,星号“ ’代表每个 聚类的中心,可以认为3个类别分别代表低、中、高出生率 的省市。为使图中显示的内容更加直观,选取每个聚类的样 本点以及出生率最低和最高的样本点强调显示,并在样本点
·34·
下方显示出省市名,结果如图6所示: 图6显不名称的样本分布图 聚类的数目是不确定的,以上实验的聚类数取值为3, 要选择出最好的聚类数,可以使用聚类优度来度量。聚类优 度用下式计算如公式(5):
聚类优度= (5) (下转第37页)
石 ■ B 叭 6 5 勰 4 H B K zzzPsg
iolePfrp