diff options
author | Patrick Simianer <p@simianer.de> | 2014-06-14 16:46:27 +0200 |
---|---|---|
committer | Patrick Simianer <p@simianer.de> | 2014-06-14 16:46:27 +0200 |
commit | 26c490f404731d053a6205719b6246502c07b449 (patch) | |
tree | 3aa721098f1251dfbf2249ecd2736434c13b1d48 /data/mushroom/2svmlight.rb |
init
Diffstat (limited to 'data/mushroom/2svmlight.rb')
-rwxr-xr-x | data/mushroom/2svmlight.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/data/mushroom/2svmlight.rb b/data/mushroom/2svmlight.rb new file mode 100755 index 0000000..e915f3b --- /dev/null +++ b/data/mushroom/2svmlight.rb @@ -0,0 +1,39 @@ +#!/usr/bin/env ruby + + +lists = [] +0.upto(21) { lists << [] } +cached = [] +while line = STDIN.gets + line.strip! + a = line.split ',' + cached << a + 1.upto(22) { |i| + lists[i-1] << a[i] + } +end +lists.each { |list| list.uniq! } +fmaps = [] +global_fid = 1 +0.upto(21) { fmaps << {} } +lists.each_with_index { |list, i| + list.each_with_index { |fval, j| + fmaps[i][fval] = global_fid + global_fid += 1 + } +} +cached.each { |i| + label = i[0] + if label == 'e' + label = 1 + elsif label == 'p' + label = -1 + else + next + end + f = i[1..22] + a = [] + f.each_with_index { |j,idx| a << "#{fmaps[idx][j]}:1.0" } + puts "#{label} #{a.join ' '}" +} + |