1、 网络教育学院数据挖掘课 程 大 作 业 题 目: 姓 名: 学习中心: 第一大题:讲述自己在完成大作业过程中遇到的困难,解决问题的思路,以及相关感想,或者对这个项目的认识,或者对Python与数据挖掘的认识等等,300-500字。学习数据挖掘这门课程已经有一个学期了,我对数据挖掘这门课程的一些技术有了一定的了解,并明确了一些容易混淆的概念,以下主要谈一下我的心得体会。近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。数据挖掘就是从大量的数据中,抽取出潜在的、有价值的知识、模型或规则的过程。作为一类深层次的数据分析
2、方法,它利用了数据库、人工智能和数理统计等多方面的技术。要将庞大的数据转换成为有用的信息,必须先有效率地收集信息。随着科技的进步,功能完善的数据库系统就成了最好的收集数据的工具。数据仓库,简单地说,就是搜集来自其它系统的有用数据,存放在一整合的储存区内。所以其实就是一个经过处理整合,且容量特别大的关系型数据库,用以储存决策支持系统所需的数据,供决策支持或数据分析使用。数据挖掘的研究领域非常广泛,主要包括数据库系统、基于知识的系统、人工智能、机器学习、知识获取、统计学、空间数据库和数据可视化等领域。主要是可以做以下几件事:分类、估计、预测、关联分析、聚类分析、描述和可视化、复杂数据类型挖掘。总之
3、,非常感谢老师这学期的精彩授课,让我受益匪浅,我会继续学习这门课程,努力为今后的学习打好基础。第二大题:完成下面一项大作业题目。题目一:Knn算法原理以及python实现一、KNN算法原理介绍最近邻方法(k-nearest neighbor,简称kNN)是一种简洁而有效的非参数分类方法,是最简单的机器学习算法之一,该算法最初由Cover和Hart提出的,用于解决文本的分类问题。K近邻算法是最近邻算法的一个推广。该规则将是一个测试数据点x分类为与它最接近的K个近邻中出现最多的那个类别。K近邻算法从测试样本点x开始生长,不断的扩大区域,直到包含进K个训练样本点为止,并且把测试样本点x归为这最近的K
4、个训练样本点中出现频率最大的类别。其中测试样本与训练样本的相似度一般使用欧式距离测量。如果K值固定,并且允许训练样本个数趋向于无穷大,那么,所有的这K个近邻都将收敛于x。如同最近邻规则一样,K个近邻的标记都是随机变量,概率P(wi|x),i=1,2,K都是相互独立的。假设P(wm|x)是较大的那个后验概率,那么根据贝叶斯分类规则,则选取类别wm。而最近邻规则以概率P(wm|x)选取类别。而根据K近邻规则,只有当K个最近邻中的大多数的标记记为wm,才判定为类别wm。做出这样断定的概率为通常K值越大,选择类别wm概率也越大2。K近邻法是有监督学习方法,原理很简单,假设我们有一堆分好类的样本数据,分
5、好类表示每个样本都一个对应的已知类标签,当来一个测试样本要我们判断它的类别是,就分别计算到每个样本的距离,然后选取离测试样本最近的前K个样本的标签累计投票,得票数最多的那个标签就为测试样本的标签。二、KNN的核心思想K-NN可以说是一种最直接的用来分类未知数据的方法。基本通过下面这张图1.2跟文字说明就可以明白K-NN的思想:图1.2简单来说,K-NN可以看成:有那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟训练数据里的每个点求距离,然后挑离这个训练数据最近的K个点看看这几个点属于什么类型,然后用少数服从多数的原则,给新数据归类。kNN算法的核心思想是如果一个样本在特征空间
6、中的k个最相似的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。kNN方法在类别决策时,只与极少量的相邻样本有关。由于kNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,kNN方法较其他方法更为适合。三、算法步骤1.初始化距离为最大值2.计算未知样本和每个训练样本的距离dist3.得到目前K个最临近样本中的最大距离maxdist4.如果dist小于maxdist,则将该训练样本作为K-最近邻样本5.重复步骤2、3、4,直到未知样本和所有训练样本的距离都算完6.统计K-最近邻样本中每个类标号出现的次数7.选择出现频率最大的类标号作为未知样本的类标号四、python实现python代码实现如下:5 / 5