数据挖掘实验报告-数据预处理.doc

数据挖掘实验报告-数据预处理.doc

ID:56773372

大小:82.50 KB

页数:5页

时间:2020-07-08

数据挖掘实验报告-数据预处理.doc_第1页
数据挖掘实验报告-数据预处理.doc_第2页
数据挖掘实验报告-数据预处理.doc_第3页
数据挖掘实验报告-数据预处理.doc_第4页
数据挖掘实验报告-数据预处理.doc_第5页
资源描述:

《数据挖掘实验报告-数据预处理.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数据挖掘实验报告(一)数据预处理姓名:李圣杰班级:计算机1304学号:1311610602一、实验目的1.学习均值平滑,中值平滑,边界值平滑的基本原理2.掌握链表的使用方法3.掌握文件读取的方法二、实验设备PC一台,dev-c++5.11三、实验内容数据平滑假定用于分析的数据包含属性age。数据元组中age的值如下(按递增序):13,15,16,16,19,20,20,21,22,22,25,25,25,25,30,33,33,35,35,35,35,36,40,45,46,52,70。使用你所熟悉的程序设计语言进行编程,实现如下功能(要求程

2、序具有通用性):(a)使用按箱平均值平滑法对以上数据进行平滑,箱的深度为3。(b)使用按箱中值平滑法对以上数据进行平滑,箱的深度为3。(c)使用按箱边界值平滑法对以上数据进行平滑,箱的深度为3。四、实验原理使用c语言,对数据文件进行读取,存入带头节点的指针链表中,同时计数,均值求三个数的平均值,中值求中间的一个数的值,边界值将中间的数转换为离边界较近的边界值五、实验步骤代码#include#include#include#defineDEEP3#defineDATAFILE"data.tx

3、t"#defineVPT10//定义结构体typedefstructchain{intnum;structchain*next;}*data;//定义全局变量datahead,p,q;FILE*fp;intnum,sum,count=0;inti,j;int*box;voidmean();voidmedain();voidboundary();intmain(){//定义头指针head=(data)malloc(sizeof(structchain));head->next=NULL;/*打开文件*/fp=fopen(DATAFILE,"r"

4、);if(!fp)exit(0);p=head;while(!feof(fp)){q=(data)malloc(sizeof(structchain));q->next=NULL;fscanf(fp,"%d",&q->num);/*读一个数据*/p->next=q;p=q;count++;}/*关闭文件*/fclose(fp);//输出printf("源数据为:");printf("共%d箱%d个数据",count/DEEP,count);p=head->next;count=1;num=1;while(p!=NULL){if(cou

5、nt==1)printf("箱%d:",num);if(count==DEEP){printf("%d",p->num);num++;count=1;}else{printf("%d",p->num);count++;}p=p->next;}mean();medain();boundary();scanf("%d",&i);return0;}//均值voidmean(){printf("均值平滑后为:");box=(int*)malloc(sizeof(int)*num);p=head->next;count=1;num=0;sum=0;

6、while(p!=NULL){if(count==DEEP){count=1;sum=sum+p->num;box[num]=sum/DEEP;sum=0;num++;}else{sum=sum+p->num;count++;}p=p->next;}for(i=0;inext;printf("离群值为:");while(p!=NULL){for(i=0;i

7、j=0;jnum-box[i])>(int)VPT){printf("箱%d:",i+1);printf("%d",p->num);}p=p->next;}}}}//中值voidmedain(){printf("中值平滑后为:");p=head->next;count=1;num=0;intmid;while(p!=NULL){if(count==DEEP){box[num]=sum;count=1;num++;}else{if(count==DEEP/2

8、

9、count==DEEP/2+1)i

10、f(DEEP%2){if(count==DEEP/2+1)sum=p->num;}else{if(count==DEEP/2+1)sum=(p->num+mid)/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。