2021春、秋大工《数据挖掘》大作业.pdf
上传人:文库****品店 上传时间:2024-09-11 格式:PDF 页数:5 大小:223KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

2021春、秋大工《数据挖掘》大作业.pdf

2021春、秋大工《数据挖掘》大作业.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

网络教育学院《数据挖掘》课程大作业题目:Knn算法原理以及python实现姓名:学习中心:第一大题:讲述自己在完成大作业过程中遇到的困难,解决问题的思路,以及相关感想,或者对这个项目的认识,或者对Python与数据挖掘的认识等等,300-500字。通过学习数据挖掘课程,对数据挖掘有了一定的理解,也掌握了,理解了一些数据挖掘中用到的重要的算法。在这个数据膨胀的大数据时代我们需要筛选,查询数据,处理数据。我们看到的听到的都是数据,在这互联网时代数据更多,信息很多。我们为了更正确更有效的利用和处理数据必须要利用数据挖掘技术,因为有了这技术我们以后的数字化生活变得更方便,不会因为数据多,信息多而感到反感。所以我真正的体会到了数据挖掘的优越性。同时我学习一些算法过后也感觉到了其复杂性,因为数据挖掘算法众多,掌握起来比较困难。《数据挖掘》这门课程是一门实用性非常强的课程,数据挖掘是大数据这门前沿技术的基础,拥有广阔的前景,在信息化时代具有非常重要的意义。数据挖掘的研究领域非常广泛,主要包括数据库系统、基于知识的系统、人工智能、机器学习、知识获取、统计学、空间数据库和数据可视化等领域。学习过程中,我也遇到了不少困难,例如基础差,对于Python基础不牢。在接下来的学习中,我仍然要加强理论知识的学习,并且在学习的同时联系实际,在日常工作中注意运用《数据挖掘》所学到的知识,不断加深巩固,不断发现问题,解决问题。第二大题:完成下面一项大作业题目。2020秋《数据挖掘》课程大作业注意:从以下5个题目中任选其一作答。题目一:Knn算法原理以及python实现答:一、knn算法介绍1.介绍邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。kNN方法在类别决策时,只与极少量的相邻样本有关。由于kNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,kNN方法较其他方法更为适合。2.核心概括主要的思想是计算待分类样本与训练样本之间的差异性,并将差异按照由小到大排序,选出前面K个差异最小的类别,并统计在K个中类别出现次数最多的类别为最相似的类,最终将待分类样本分到最相似的训练样本的类中。与投票(Vote)的机制类似。二、knn算法流程1.计算测试数据和各个训练数据之间的距离。2.按照距离的递增关系进行排序。3.选择距离最小的K个点。4.确定前K个点所在类别的出现频率。5.返回前K个点中出现频率最高的类别作为测试数据的预测分类。算法具体实现和测试:需要采集的数据集这里拿取以下表格(为了方便演示,这里假定为表格中的7条数据),每条数据具有体积和重量这两个属性,根据这两个属性,可以对数据进行分类,主要有S级和A级,这里使用自己实现的KNN算法,进行当前数据集中抽取前4条作为训练数据,后3条作为待计算分类的数据,并用于测试验证的准确性。三、代码实现使用python程序模拟KNN算法CreatedonSatJun2218:38:222019@author:zhen"""importnumpyasnpimportcollectionsascsdata=np.array([[203,1],[126,1],[89,1],[70,1],[196,2],[211,2],[221,2],[311,3],[271,3]])feature=data[:,0]#特征print(feature)label=data[:,-1]#结果分类print(label)predictPoint=200#预测数据print("预测输入特征为:"+str(predictPoint))distance=list(map(lambdax:abs(predictPoint-x),feature))#各点到预测点的距离print(distance)sortIndex=np.argsort(distance)#排序,返回排序后各数据的原始下标print(sortIndex)sortLabel=label[sortIndex]#根据下标重新进行排序print(sortLabel)#k