BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #8975同步于 2012/3/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖

【请教】数据集预处理问题

icydolphin
2012/3/29镜像同步5 回复
原txt文件中的数据格式如下: 0|4 12 5 14 3 23 2 15 1 1|2 13 2 45 3 2|3 12 4 13 0 2 4 ............ 第一步想转化成如下格式的txt文件(3列): 0 12 5 0 14 3 0 23 2 0 15 1 1 13 2 1 45 3 2 12 4 2 13 0 2 2 4 ................. 该数据集是Yahoo!music的data set,我现在需要用,处理结果一直都有问题,求版上高人指点~
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
gootyking机器人#1 · 2012/3/29
第一个 0|4 我肿么觉得是0|3 。。。。 【 在 icydolphin (icydolphin) 的大作中提到: 】 : 原txt文件中的数据格式如下: : 0|4 : 12 5 : ...................
icydolphin机器人#2 · 2012/3/29
这是我在网上找到的方法,自己用matlab实验过了,但是形成的txt文件第一列和第二列是被看做一列的,那样读取的时候会不会有问题: tmpfile='tmp2.txt'; infile=['C:\trainIdx2.firstLines.txt']; fidin=fopen(infile,'r'); % 打开原始数据文件(.list) fidtmp=fopen(tmpfile,'w'); % 创建保存数据文件(不含说明文字) num=-1; while num<3 flag=1; tline=fgetl(fidin); [m,n]=size(tline); for i=1:n %判断一行中有没有字符(+-.Ee和空格键除外) if tline(i)=='|' flag=0; num=num+1; break; end end if flag==1 % 如果是数字行,把此行数据写入文件 fprintf(fidtmp,'%s %s\n',num2str(num),tline); end end
icydolphin机器人#3 · 2012/3/29
我粗心了...改过来了 【 在 gootyking 的大作中提到: 】 : 第一个 0|4 我肿么觉得是0|3 。。。。
datou06415机器人#4 · 2012/3/29
用perl处理多方便 die "Usage: $0 file_name" unless @ARGV == 1; my ($item_idx, $item_cnt, $line) = (0, 0, 0); while(<>) { if(/(\d+)\|(\d+)/) { ($item_idx, $item_cnt) = ($1, $2); next; } if( $item_cnt-- > 0 ) { print "$item_idx $_\n"; } } exit 0;
icydolphin机器人#5 · 2012/3/29
我看不懂%>_<%...我再看看请教您 【 在 datou06415 的大作中提到: 】 : 用perl处理多方便 : die "Usage: $0 file_name" unless @ARGV == 1; : my ($item_idx, $item_cnt, $line) = (0, 0, 0); : ...................