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

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

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这次发帖的内容是与支持向量机经常使用UCI数据库做测试,但有的数据文件出现每行列数不一致的问题。由于UCI数据库是C平台下的编写格式。在matlab下如果每行列数不一致,或由于缺少某些属性值,或由于多了一些属性标号,导致不能load.这里以libsvm自带的测试数据文件:heart_scale为例(270行),数据出现了上述小问题。下面对数据处理的代码。heart_scale存为qq.txt.数据文件处理后保存到luck.txt。不知道大家是否还有更好地方法,或能告诉我编写的代码咋样更专业些,因为是刚学matlab,很多时候感觉做事很山寨,又苦于没啥人教,呵呵,谢谢大家了。 fout=fopen(luck.txt,wt); fid=fopen(qq.txt,r+); for j=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 ? ? while a15 ? ?? ?fseek(fid,1,0); ? ?? ?b=fscanf(fid,%f,1); ? ?? ?C(a)=b; ? ?? ?a=a+1; ? ???if??a14 ? ?? ?? ?break; ? ?? ? end ? ?? ?fseek(fid,1,0); ? ?? ? d2=fscanf(fid,%d,1); ? ?? ?? ? if d2-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(fout,%d %f %f %f %f %f %f %f??%f %f %f %f %f %f \n,C); ? ?? ?? ?end ? ?? ?? ?fclose(fid); ? ?? ???fclose(fout); ? ?? ? 经过处理后的数据保留了label 和各属性值,属性标号(如1:,2:,...等被去掉),原来每行某些列缺失的属性值重新补0,这样每行列数相同。 可以加载到matlab中了。 ? ???lA=oad(luck.txt); ? ?? ?? ?save matlab A;这样所有的数据就保存在了matlab.mat数据文件中的A矩阵变量中,就可以进行后续数据处理了。^_^b

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档