- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据挖掘实验报告-数据预处理
数据挖掘实验报告(一)
数据预处理
姓名:李圣杰
班级:计算机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。使用你所熟悉的程序设计语言进行编程,实现如下功能(要求程序具有通用性):
(a) 使用按箱平均值平滑法对以上数据进行平滑,箱的深度为3。
(b) 使用按箱中值平滑法对以上数据进行平滑,箱的深度为3。
(c) 使用按箱边界值平滑法对以上数据进行平滑,箱的深度为3。
四、实验原理
使用c语言,对数据文件进行读取,存入带头节点的指针链表中,同时计数,均值求三个数的平均值,中值求中间的一个数的值,边界值将中间的数转换为离边界较近的边界值
五、实验步骤
代码
#include stdio.h
#include stdlib.h
#include math.h
#define DEEP 3
#define DATAFILE data.txt
#define VPT 10
//定义结构体
typedef struct chain{
int num;
struct chain *next;
}* data;
//定义全局变量
data head,p,q;
FILE *fp;
int num,sum,count=0;
int i,j;
int *box;
void mean();
void medain();
void boundary();
int main ()
{
//定义头指针
head=(data)malloc(sizeof(struct chain));
head-next=NULL;
/*打开文件*/
fp=fopen(DATAFILE,r);
if(!fp)
exit(0);
p=head;
while(!feof(fp)){
q=(data)malloc(sizeof(struct chain));
q-next=NULL;
fscanf(fp,%d,q-num); /*读一个数据*/
p-next=q;
p=q;
count++;
}
/* 关闭文件 */
fclose(fp);
//输出
printf(源数据为:\n);
printf(共%d箱%d个数据\n,count/DEEP,count);
p=head-next;
count=1;
num=1;
while(p!=NULL){
if(count==1)printf(箱%d:,num);
if(count==DEEP){
printf(%d\n,p-num);
num++;
count=1;
}
else{
printf(%d ,p-num);
count++;
}
p=p-next;
}
mean();
medain();
boundary();
scanf(%d,i);
return 0;
}
//均值
void mean(){
printf(均值平滑后为:);
box=(int *)malloc(sizeof(int)*num);
p=head-next;
count=1;
num=0;
sum=0;
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;inum;i++){
printf(\n箱%d:,i+1);
for (j=0;jDEEP;j++)
printf(%d ,box[i]);
}
p=head-next;
printf(\n离群值为:);
while(p!=NULL){
for(i=0;inum;i++)
{
for (j=0;jDEEP;j++)
{
if(abs(p-num-box[i])(int)V
您可能关注的文档
最近下载
- 无人机组装调试与检修-第一章-无人机系统概述.pptx VIP
- 卫星定位导航原理(哈尔滨工业大学)知到智慧树网课答案.docx
- T_CEIAESD 1005—2022_防静电不发火地坪施工与质量验收规范.pdf VIP
- 2021-2022年度广东省茂名市茂南区聘任制教师招聘考试《教育综合知识》试卷及答案.pdf VIP
- 入党积极分子结业考试最新复习资料.doc VIP
- _景区门票收费权质押贷款评估案例.pdf VIP
- 2024年入党积极分子培训测试题及答案简答题、论述题.docx VIP
- AI赋能教师专题培训:AI生成式人工智能赋能教育高质量发展.pptx VIP
- 《即兴伴奏与弹唱2》课件——幼儿歌曲钢琴伴奏中小调式副三和弦的应用.pptx VIP
- 2024学年江苏省南京市高二上学期期中考数学试题及答案 .pdf VIP
原创力文档


文档评论(0)