大数据杀熟背景下的数据挖掘技术与分类算法研究18000字论文_第1页
大数据杀熟背景下的数据挖掘技术与分类算法研究18000字论文_第2页
大数据杀熟背景下的数据挖掘技术与分类算法研究18000字论文_第3页
大数据杀熟背景下的数据挖掘技术与分类算法研究18000字论文_第4页
大数据杀熟背景下的数据挖掘技术与分类算法研究18000字论文_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1大数据杀熟背景下的数据挖掘技术与分类摘要目录2自从1989年知识发现一次处初露头角之后,历经数十年的发展,数据挖掘已经从当初那个只配出现在专题讨论会上的小角色一跃变为了万千专家学者在知识发现和数据挖掘在经过十几年的发展之后已经成为了数据库领域中不3一词在这次会议上初放异彩,时间一转来到上世纪九十年代中期,首届这些软件以应用价值高、技术成熟而闻名,比如:KnowledgeStudio、IBM用很好也广受大众喜爱的算法具体是:C4.5算法(在ID3算法的基础上进行了改进)、K-means算法(这是一种聚类算法,其原理简单,很容易实现)、SVM算法(这是一种分类算法,策略由原来的向高维空间的非线性映射变换为了使用内积核函数,有效避免了高维度空间的复杂性)、Apriori算法(这是有一种极具影响力的挖掘关联规则的算法)、PageRank算法(用来给网页排名,是Google一种十分重要的算法)、Adaboost算法、KNN算法、朴素贝叶斯算法。如下图adaboostadaboost算法:核心思想是针对你同一个训练集训练不同的分类器,然后将分类器集合起来,构成一个更强的最终分类器knn算法:理论上非常成熟的算法,也十分简便naivebayes算法:具有很小的误差cart算法:一种很常用的决策树算法,又一个很重要的思想利用验证集C4.5算法:是一种很常见的决策树算法,在决策树核心算法ID3算法的基础上进行了改进支持向量机算法:一种监督式的算法,广泛应用于统计分类以及回归分析中Kmeans算法:一种聚类算法,k值的确定至关重要aprion:一种很经典的关联规则频繁项集算法pagerank算法:Google算法的核心,根据网站的外部链接和内部链接的数量和质量,衡量网站的价值,对网站排名对于进行数据挖掘要使用的软件的研发这一方面,主力军还是高校,比如4经典技术图2数据挖掘的经典技术从目前来看,数据挖掘未来可能的应用领域主要集中在以下几个方面:1.4.1.生物医学和DNA领域的应用生物信息以及基因信息对于人类是十分重要的,了解掌握这些信息将有助于人类利用这些信息来治愈疾病,解决一些医学难题,给更多的人送去希望。但任何一个了解生物的人都知道,基因组合的数量是极其庞大的。就拿人类基因组来举例,人类基因组由23对染色体组成,大约含有30亿个DNA碱基对,其中的某些碱基对所含基因数量大约在20000与25000之间。这么来看,生物信息纯靠人工是无法完全提取出来的,所以数据挖掘在这个领域就有了用武之地。但是这也涉及到了计算机专业的学生可能不是很懂生物,懂生物的学生又不太了解数据挖掘的问题,二者的交叉学科近几年也发展很快,相信数据挖掘在这个领域,在不久的将来一定会大放异彩的。1.4.2.Web领域的应用随着互联网的迅猛发展,各类网站,电子商务蓬勃兴起。十几年前无人问津的淘宝、京东,现在几乎成为了人们生活的必需品,在加之近几年拼多多的快速发展,可以说这一领域积攒的数据也是十分庞大的。那么利用这些数据,从中提取出有用的信息,就可以帮助顾客拥有更好的购物体验,免受自己不喜欢事物的打扰。从这些纷繁复杂的数据中,分析出顾客的喜好,给顾客推送他们可能喜欢的东西,既节约了顾客的时间也能给公司带来更多的收益,可谓是一举两得。1.4.3.金融领域的应用随着经济的快速发展,人们的财富也在日益增多,于是很多人开始有了理财的想法。已经涉及或者正打算入坑理财的人一定都知道今年股市的行情不是很好,有人甚至赔光了身家财产。在金融领域,投资风险极大,可能赚的盆满钵满,93.分类算法的研究和追捧,在分类算法中占据了一席之地,广泛存在于数据挖掘和机器学习中。J.R.Quinlan于1979年提出并在之后逐渐修正完善的ID3算法[18,是决策树算法问题[16。近几年,在学术界出现了新的宠儿—一选择性集成,这个概念是由西瓜书的作者周志华教授提出的。而且近年来出现了一种称为GASEN-b的新的选ID3是决策树算法的其中之一,利用信息增益来对样本集中的属性进行划是凌乱无比的,熵值会很大,我们为什么要构建决策树呢?就是为了减小数据的假定样本集合D中某一离散属性为a,这个属性一共有V种取值,DY表示样本个所构成,这个样本集合的个数记为IDY,则利用这一离散属性a对整个数其中可以看成是划分属性所占的权重。前文中我们提到信息熵的值越3:按d(x,A[i])从小到大排序;4:计算最远样本与x间的距离D,即max{d(x,A[jD)li=1,2.…k};6:计算A[i]与x间的距离d(x,A[i]);12:具有最大概率的类别即为样本x的类;3.4.2.最近邻算法的实现仍然利用wine数据集和sklearn模块,得到的准确率为79.63%,因为K值对KNN算法的影响非常大,为了能得到最好的分类效果,我先对最佳的K值进行了搜索,将结果进行可视化之后发现,最佳的K值应该是4。然后我对KNN分类器的分类效果进行了可视化。图13寻找最佳K值3.4.3.最近邻算法的优缺点最近邻算法的优点:简单有效,理论成熟。算法复杂度低。方便进行多分类任务。最近邻算法的缺点:计算量的大,要计算到每个点之间的距离。k值的选取很关键,k太小容易过拟合,k太大容易欠拟合。对于离群点、不平衡样本很敏感。是一种消极学习的方法。上文中我对ID3、CART、C4.5、朴素贝叶斯、最近邻算法的思想以及基本流程进行了论述,并且利用Python语言基于wine数据集和Balloons数据集进行了实现。其中都对wine数据集进行分类,所使用的算法不同得出的准确率也有所不同。将代码运行三次,得到的准确率情况为如下。ID3算法的准确率分别为:94.44%、88.89%、92.59%;CART算法的准确率分别为:87.04%、96.30%、94.44%;朴素贝叶斯算法的准确率分别为:98.15%、100%、96.30%;KNN算法的准确率。这几种算法的平均准确率分别为:ID3(91.97%)CART(92.59%)朴素贝叶斯(98.15%)KNN(69.75%),从对同一数据集进行分类的结果来看,朴素贝叶斯算法的分类效果是最好的。但是我们也可看到在使用朴素贝叶斯算法的时候,对wine数据集分类出现了准确率为100%的情况,这说明模型出现了过拟合的现象。结合这几种算法的优缺点以及实现原理来看,因为朴素贝叶斯算法是以贝叶斯定理为基准的,所以对于条件独立这一方面有很强的要求,但是日常生活中产生的数据总不太可能是如此规整的,做不到很强的条件独立性,这就给使用这个算法带来了很大的不便之处。在日常生活中为了使自己所设计的模型能够得到别人的认可、我们一般会要求可解释性强一点,那么这个时候来选择决策树算法就在合适不过了。其中,决策树算法中ID3算法是最基础也是最原始的算法,由于这个算法本身的缺陷,研究人员开发出了新的算法,后续开发的算法不论是在准确率上还是在可解释性方面都要比ID3算法强一点,CART算法已经不是单纯的分类算法了,其也可以用于回归,适用性更强,可以使用的范围也更广。对于KNN算法,因为其是一种基于样本实例的算法,对K值的依赖性很大,确定最佳K值会额外增加大量工作量。另外分类算法又可以分为单一的分类算法与集成学习算法,像本文中提到的这几种算法就归属于单一分类算法,另外常见的单一分类算法还有支持向量机,这种算法可以有效的避免维数灾难,也较好的解决了局部极小点的问题。俗话说众人拾柴火焰高,在算法这一领域这句谚语也很适用,很多情况下,只靠单一的分类算法是无法得到令人满意的结果的,这时候集成学习算法就派上了大用场,常见的集成学习算法有:装袋、boosting。4.实现算法相关内容本文在实现ID3算法、C4.5算法、CART算法的时候,是用的数据集为wine/ml/index.php这个网站上下载的,这个网站是美国加州大学所提出的,用来存放可以用于机器学习、深度学习、数据挖掘的数据的。这个网站打开之后是这样的:AhoutGitatinPoieyDansteADaStwecurelymainansedtastsasencetothernachekenmncermunyYoumyienaldatasethrough03-01-2010:Natefomdonorregarding10-16-2009:Twonewd09-14-2009:SeveraldatasetshaMAGICGammaTelescoSynchronousMachineDataWikipediaMathEssentaWikipediaMathEssentiaHunganianChickenpoxCasMyocardialnmarctioncompicatlioFeaturedDataSet:M.TuberculosilsGe然后进入该网站的数据库中,如下图:8AnonymousMicrosoftWebDaCS/Engineerng(215)7从这个界面中我们可以看到,UCI这个网站上的数据集分门别类的放置,很方便我们寻找适合自己使用的数据集。由于要用于分类问题,所以我选择了wine和Balloons这两个数据集。4.1.1.wine数据集的介绍Wine数据集一共有14列,178行。这14列中,第1列代表的是类别,即酒属于哪一类,剩余的13列,每列代表的都是一种属性,这13种属性发挥作用共同决定酒的类别。下图贴上我利用Python语言在jupyternotebook中实现的对数据集的读取截图。从截图中我们可以清晰地看到数据集的信息,我们还利用类别为分组对象,统计了一下每个类别的样本数量,在图17中也有显示,从图17中看出每类的样本数量分别为59,71,48,看起来相差不是很大,接着我们用matplotlib利用箱图进行一下可视化,直观的观看一下差距,可以看出样本的分布还是十分平衡的,在本文中我们只附上了其中四个属性的箱图结果。<class'pandas.core.framRangeIndex:178entriescategoryAlcoholAlcalinityofashMagnesiunTotalphenols1FlavanoidNonflavanoidphenols178ProanthocyaninsColorintensityHueOD280/OD315ofdilutedwines178non-nullfloProlinedtypes:float64(11),0111213141图18wine数据集的前五行图19箱图结果1图20箱图结果2图21箱图结果34.1.2.Balloons数据集的介绍Balloons数据集一共有5列,16行。这5列中,第5列代表的是气球是否是扁平的,剩余的4列,每列代表的都是一种属性,分别为颜色,尺寸,对气球的动作,年龄。下图贴上我利用Python语言在jupyternotebook中实现的对数据集的读取截图,从图21中我们可以看出Balloons数据集的详细信息,分类的结果为该气球是不是为扁平状态。同样我们以类别为分组对象,对每类的数据量进行了统计,从代码运行的结果来看,数据集中的样本分布很是平衡。分布平衡的数据集十分有利于我们利用算法进行处理。<class'pandas.core.frame.memoryusage:720.0+bTTTTT4.2.1.Python语言的介绍在编程的领域里,有着“人生苦短,我用Python”的说法。我刚开始接触的编程语言是C语言,然后是java,之后才是Python。对于一道很简单的两个数的加法题,C语言需要用10行代码来实现,java语言则需要9行代码来实现,python只需要4行代码就可以实现,我们有理由相信在处理一些困难的问题的时候Python语言的代码量也会是最少的。在接触过C语言和java语言之后再接触Python语言,就会发现利用Python语言编写代码的时候一般就是脑子里怎么想就怎么编写就可以,不需要向C和java那样还需

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论