From 26c490f404731d053a6205719b6246502c07b449 Mon Sep 17 00:00:00 2001 From: Patrick Simianer Date: Sat, 14 Jun 2014 16:46:27 +0200 Subject: init --- data/mushroom/2svmlight.rb | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 data/mushroom/2svmlight.rb (limited to 'data/mushroom/2svmlight.rb') 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 ' '}" +} + -- cgit v1.2.3