K最临近分类算法论文Word格式文档下载.docx

上传人:b****1 文档编号:14098770 上传时间:2022-10-18 格式:DOCX 页数:38 大小:37.90KB
下载 相关 举报
K最临近分类算法论文Word格式文档下载.docx_第1页
第1页 / 共38页
K最临近分类算法论文Word格式文档下载.docx_第2页
第2页 / 共38页
K最临近分类算法论文Word格式文档下载.docx_第3页
第3页 / 共38页
K最临近分类算法论文Word格式文档下载.docx_第4页
第4页 / 共38页
K最临近分类算法论文Word格式文档下载.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

K最临近分类算法论文Word格式文档下载.docx

《K最临近分类算法论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《K最临近分类算法论文Word格式文档下载.docx(38页珍藏版)》请在冰豆网上搜索。

K最临近分类算法论文Word格式文档下载.docx

method 

of 

pattern 

recognition,which 

is 

one 

the 

best 

algorithms 

for 

dealing 

with 

text 

categorization, 

playing 

an 

important 

role 

in 

machine 

learning 

classification 

and 

it 

simplest 

learning. 

With 

today'

society, 

widespread 

use 

computers, 

continuous 

file, 

how 

about 

these 

no 

logic, 

level 

sort, 

classify 

files 

on 

do 

perfect 

order, 

hierarchy 

bright?

Text 

automatic 

according 

to 

above 

situation, 

using 

machine, 

through 

certain 

constraint 

condition 

some 

traverse 

files, 

so 

as 

realize 

classify. 

So 

machines 

instead 

people 

"

read"

 

finish"

replacing 

workers 

not 

only 

reduce 

burden 

staff, 

and 

greatly 

saves 

time 

staff 

more 

meaningful 

things.

Thecore 

idea 

be 

classified, 

the 

distance 

ofdata 

calculated 

each 

training 

sample, 

data 

from 

nearest 

samples, 

which 

category 

sample 

samples 

inthe 

majority, 

are 

classified 

belongs 

which 

category.Thisarticleisforthepurposeof 

dataminingusingK-NearestNeighbour.

Keywords:

algorithm,Text 

classification,Classification 

algorithms,datamining

1.研究背景及现状

国际权威的学术组织theIEEEInternationalConferenceonDataMining(ICDM)2006年12月评选出了数据挖掘领域的十大经典算法:

C4.5,k-Means,SVM,Apriori,,EM,PageRank,AdaBoost,kNN,NaiveBayes,,andCART。

国外对于文本分类的研究开展较早,20世纪50年代末,H.P.Luhn[3]对文本分类进行了开创性的研究将词频统计思想应用于文本分类,1960年,Maro发表了关于自动分类的第一篇论文,随后,K.Spark,GSalton,R.M.Needham,M.E.Lesk以及K.S.Jones等学者在这一领域进行了卓有成效的研究。

目前,文本分类已经广泛的应用于电子邮件分类、电子会议、数字图书馆]、搜索引擎、信息检索等方面[4]。

至今,国外文本分类技术在以下一些方面取得了不错的研究成果。

KNN算法是对NN(nearest 

neighbor)算法即近邻算法的改进,最初的近邻算法是由T.M. 

Cover,在其文章”Rates 

Convergence 

Nearest 

Neighbor 

Procedures,”中提出的,是以全部训练样本作为带标点,计算测试样本与所有样本的距离并以最近邻者的类别作为决策,后学者们对近邻算法进行了各方面的改进。

KNN算法最初由Cover和Hart于1968年提出[8],是一个理论上比较成熟的方法。

2.数据及来源

1)数据理解

选择第二包数据IrisDataSet,共有150组数据,考虑到训练数据集的随机性和多样性,选择rowNo模3不等于0的100组作为训练数据集,剩下的50组做测试数据集。

(1)每组数据有5个属性,分别是:

1.sepallengthincm

2.sepalwrowNothincm

3.petallengthincm

4.petalwrowNothincm

5.class:

--IrisSetosa

--IrisVersicolour

--IrisVirginica

(2)为了操作方便,对各组数据添加rowNo属性,且第一组rowNo=1。

2)数据清理

现实世界的数据一般是不完整的、有噪声的和不一致的。

数据清理例程试图填充缺失的值,光滑噪声并识别离群点,并纠正数据中的不一致。

(a)缺失值:

当数据中存在缺失值是,忽略该元组(注意:

本文选用的第二组数据IrisDataSet的MissingAttributeValues:

None)。

(b)噪声数据:

本文暂没考虑。

3)数据来源:

数据堂。

3.方法及基本原理

KNN(kNearestNeighbors)算法又叫k最临近方法,假设每一个类包含多个样本数据,而且每个数据都有一个唯一的类标记表示这些样本是属于哪一个分类,KNN就是计算每个样本数据到待分类数据的距离,如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。

该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。

KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。

因此,采用这种方法可以较好地避免样本的不平衡问题。

另外,由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。

该方法的不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。

目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。

该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。

(1)算法思路:

K-最临近分类方法存放所有的训练样本,在接受待分类的新样本之前不需构造模型,并且直到新的(未标记的)样本需要分类时才建立分类。

K-最临近分类基于类比学习,其训练样本由N维数值属性描述,每个样本代表N维空间的一个点。

这样,所有训练样本都存放在N维模式空间中。

给定一个未知样本,k-最临近分类法搜索模式空间,找出最接近未知样本的K个训练样本。

这K个训练样本是未知样本的K个“近邻”。

“临近性”又称为相异度(Dissimilarity),由欧几里德距离定义,其中两个点X(x1,x2,…xn)和Y(y1,y2,…yn)的欧几里德距离是:

未知样本被分配到K个最临近者中最公共的类。

在最简单的情况下,也就是当K=1时,未知样本被指定到模式空间中与之最临近的训练样本的类。

(2)算法步骤:

step.1---初始化距离为最大值

step.2---计算未知样本和每个训练样本的距离dist

step.3---得到目前K个最临近样本中的最大距离maxdist

step.4---如果dist小于maxdist,则将该训练样本作为K-最近邻样本

step.5---重复步骤2、3、4,直到未知样本和所有训练样本的距离都算完

step.6---统计K-最近邻样本中每个类标号出现的次数

step.7---选择出现频率最大的类标号作为未知样本的类标号

4.计算及结果

1)算法源代码

////////////////////////////////////////////////////////////////////////////////////////////////////////

//

//KNN.cppK-最近邻分类算法

#include<

stdlib.h>

stdio.h>

memory.h>

string.h>

iostream.h>

math.h>

fstream.h>

//宏定义

#defineATTR_NUM4//属性数目

#defineMAX_SIZE_OF_TRAINING_SET1000//训练数据集的最大大小

#defineMAX_SIZE_OF_TEST_SET100//测试数据集的最大大小

#defineMAX_VALUE10000.0//属性最大值

#defineK7

//结构体

structdataVector{

intID;

//ID号

charclassLabel[15];

//分类标号

doubleattr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1