关于uci数据库每行数据列数不一致的处理代码

关于uci数据库每行数据列数不一致的处理代码

ID:8819447

大小:23.50 KB

页数:2页

时间:2018-04-08

关于uci数据库每行数据列数不一致的处理代码_第1页
关于uci数据库每行数据列数不一致的处理代码_第2页
资源描述:

《关于uci数据库每行数据列数不一致的处理代码》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、这次发帖的内容是与支持向量机经常使用UCI数据库做测试,但有的数据文件出现每行列数不一致的问题。由于UCI数据库是C平台下的编写格式。在matlab下如果每行列数不一致,或由于缺少某些属性值,或由于多了一些属性标号,导致不能load.这里以libsvm自带的测试数据文件:heart_scale为例(270行),数据出现了上述小问题。下面对数据处理的代码。heart_scale存为qq.txt.数据文件处理后保存到luck.txt。不知道大家是否还有更好地方法,或能告诉我编写的代码咋样更专业些,因为是刚学matlab,很多时候感觉做事很山寨,又

2、苦于没啥人教,呵呵,谢谢大家了。fout=fopen('luck.txt','wt');fid=fopen('qq.txt','r+');forj=1:1:270  a=1;  C=[];  b=fscanf(fid,'%d',1);  C(a)=b;  a=a+1;  fseek(fid,1,0);  d1=fscanf(fid,'%d',1);      if  d1~=1        C(a)=0;        a=a+1;      end  whilea<15    fseek(fid,1,0);    b=fscanf(fid

3、,'%f',1);    C(a)=b;    a=a+1;    if  a>14      break;    end    fseek(fid,1,0);    d2=fscanf(fid,'%d',1);      ifd2-d1~=1        e=a;      for  i=e:1:e+d2-d1-2      C(i)=0;        a=a+1;      end        end        d1=d2;        end      fgetl(fid);      j=j+1;      fprintf

4、(fout,'%d%f%f%f%f%f%f%f  %f%f%f%f%f%f',C);      end      fclose(fid);      fclose(fout);    经过处理后的数据保留了label和各属性值,属性标号(如1:,2:,...等被去掉),原来每行某些列缺失的属性值重新补0,这样每行列数相同。可以加载到matlab中了。    lA=oad('luck.txt');      savematlabA;这样所有的数据就保存在了matlab.mat数据文件中的A矩阵变量中,就可以进行后续数据处理了。^_^b

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

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

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