数据挖掘实验报告(22443).doc_第1页
数据挖掘实验报告(22443).doc_第2页
数据挖掘实验报告(22443).doc_第3页
数据挖掘实验报告(22443).doc_第4页
数据挖掘实验报告(22443).doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

数据挖掘实验报告加权K-近邻法 一、 数据源说明1. 数据理解数据来自于天猫对顾客的BuyOrNot(买与不买),BuyDNactDN(消费活跃度),ActDNTotalDN(活跃度),BuyBBrand(成交有效度),BuyHit(活动有效度)这五个变量的统计。数据分成两类数据,一类作为训练数据集,一类为测试数据集。2.数据清理现实世界的数据一般是不完整的、有噪声的和不一致的。数据清理例程试图填充缺失的值,光滑噪声并识别离群点,并纠正数据中的不一致。a) 缺失值:当数据中存在缺失值是,忽略该元组b) 噪声数据:本文暂没考虑。二、 基于变量重要性的加权K-近邻法1由于我们计算K-近邻法默认输入变量在距离测度中有“同等重要”的贡献,但情况并不总是如此。我们知道不同的变量对我们所要预测的变量的作用是不一定一样的,所以找出对输出变量分类预测有意义的重要变量对数据预测具有重要作用。同时也可以减少那些对输出变量分类预测无意义的输入变量,减少模型的变量。为此,采用基于变量重要性的K-近邻法,计算加权距离,给重要的变量赋予较高的权重,不重要的变量赋予较低的权重是必要的。(1)算法思路:我们引进为第i个输入变量的权重,是输入变量重要性(也称特征重要性),FI函数,定义为:。其中为第i个输入变量的特征重要性,这里,依第i个输入变量对预测误差的影响定义。设输入变量集合包含p个变量:。剔除第i个变量后计算输入变量的误判率,记为。若第i个变量对预测有重要作用,剔除变量后的预测误差应较大。于是,第i个变量的重要性定义为:。可见,变量越重要,在计算距离时的权重越高。(2)算法步骤:step.1-求解出错判率最低的K值 step.2-求解出第i个变量的(3)算法源代码library(class)Tmall_train-read.csv(D:DocumentsRword第一章Train_tmall.csv)Tmall_test-read.csv(D:DocumentsRword第一章天猫_Test_1.csv)par(mfrow=c(2,2)set.seed(123456)errRatio-vector()for(i in 1:30) KnnFit-knn(train=Tmall_train,-1,test=Tmall_test,-1,cl=Tmall_train,1,k=i,prob=FALSE) CT-table(Tmall_test,1,KnnFit) errRatio-c(errRatio,(1-sum(diag(CT)/sum(CT)*100)plot(errRatio,type=l,xlab=近邻个数k,ylab=错判率(%),main=近邻数K与错判率)从右边近邻数K与错判率的图可明显看出,近邻个数为7时,误判率和稳健性最好errDelteX-errRatio7for(i in -2:-5) fit-knn(train=Tmall_train,c(-1,i),test=Tmall_test,c(-1,i),cl=Tmall_train,1,k=7) CT-table(Tmall_test,1,fit) errDelteX-c(errDelteX,(1-sum(diag(CT)/sum(CT)*100)plot(errDelteX,type =l,xlab=剔除变量,ylab=剔除错判率(%),main=剔除变量与剔除错判率,cex.main=0.8)xTitle=c(1:全体变量,2:消费活跃度,3:活跃度,4:成交有效度,5:活动有效度)legend(topright,legend=xTitle,title=变量说明,lty=1,cex=0.6)FI-errDelteX-1+1/4wi-FI/sum(FI)Glabs-paste(c(度,活跃度,成交有效度,活动有效度),round(wi,2),sep=:)pie(wi,labels = Glabs,clockwise = T,main=输入变量权重,cex.main=0.8)从上面两个图我们可以明显得出,消费活跃度、成交有效度及活动有效度在预测消费者买与不买中占的权重比较大,其中消费者消费活跃度在预测消费者买与不买的重要性最大,达到45%,是预测消费者消费的一个关键变量。三、基于观测相似性的加权K-近邻法2(1)核心思想:K-近邻法预测时,默认K个近邻对观测结果又“同等力度“的影响。事实上,据的远近观测对预测贡献的大小是有影响的,距离越近对预测的贡献大于距离较远的预测贡献。将相似性定义为各观测与距离的某种非线性函数,且距离越近,相似性越强,权重越高,预测时的重要性越大。设观测与的距离为。若采用函数将距离转换成与的相似性,则函数K(d)应有如下特性:通常,核函数是符合上述特征的函数。若函数为示例函数,通常核函数有:(2)步骤第一步:求解误判率最低的k值;第二步:加权K-近邻法与K-近邻法比较;(3)代码:求解误判率最低的k值;Tmall_train-read.csv(Train_tmall.csv)Tmall_train$BuyOrNot-factor(Tmall_train$BuyOrNot)fit-train.kknn(BuyOrNot.,data=Tmall_train,kmax=11,distance=2,kernel=c(triangular,rectangular,epanechnikov),na.action=na.omit()plot(fit$MISCLASS,1*100,type=l,main=不同核函数和近邻个数K下的错判率曲线图,cex.main=0.8,xlab = 近邻个数,ylab=误判率(%))lines(fit$MISCLASS,2*100,lty=2,col=1)lines(fit$MISCLASS,3*100,lty=3,col=2)legend(topleft,legend = c(triangular,rectangular,epanechnikov),lty=c(1,2,3),col=c(1,1,2),cex=0.7)基于稳健性我们选择了K=7时的误判率加权K-近邻法Tmall_test-read.csv(天猫_Test_1.csv)Tmall_test$BuyOrNot-as.factor(Tmall_test$BuyOrNot)fit-kknn(BuyOrNot.,train=Tmall_train,test=Tmall_test,k=7,distance=2,kernel=gaussian,na.action=na.omit()CT-table(Tmall_test,1,fit$fitted.values)errRatio-(1-sum(diag(CT)/sum(CT)*100K-近邻法Tmall_test-read.csv(天猫_Test_1.csv)Tmall_test$BuyOrNot-factor(Tmall_test$BuyOrNot)fit-knn(train=Tmall_train,-1,test=Tmall_test,-1,cl=Tmall_train$BuyOrNot,k=7)CT-table(Tmall_test,1,fit)errRatio-c(errRatio,(1-sum(diag(CT)/sum(CT)*100)errGraph-barplot(errRatio,main=(加权K-近邻法与K-近邻法错判率对比图),cex.main=0.8,xlab=分类方法,ylab=错判率(%),axes=FALSE)axis(side=1,at=c(0,errGrap

温馨提示

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

评论

0/150

提交评论