summaryrefslogtreecommitdiff
path: root/data/mushroom/2svmlight.rb
diff options
context:
space:
mode:
Diffstat (limited to 'data/mushroom/2svmlight.rb')
-rwxr-xr-xdata/mushroom/2svmlight.rb39
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 ' '}"
+}
+