Skip to content

Instantly share code, notes, and snippets.

@enukane
Created February 21, 2015 08:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save enukane/9802de3b3f658ae5faec to your computer and use it in GitHub Desktop.
Save enukane/9802de3b3f658ae5faec to your computer and use it in GitHub Desktop.
jubatus Stat example in ruby
#!/usr/bin/env ruby
require "jubatus/stat/client"
require "jubatus/stat/types"
NAME="stat_tri"
stat = Jubatus::Stat::Client::Stat.new("127.0.0.1", 9199, NAME)
lines = []
File.open("../dat/fruit.csv") do |f|
lines = f.read.strip.split("\n").map{|str| str.split(",")}
end
lines.each do |fruit, diameter, weight, price|
stat.push(fruit + "dia", diameter.to_f)
stat.push(fruit + "wei", weight.to_f)
stat.push(fruit + "pri", price.to_f)
end
["orange", "apple", "melon"].each do |fruit|
["dia", "wei", "pri"].each do |param|
print "sum : #{fruit}#{param} #{stat.sum(fruit+param)}\n"
print "sdv : #{fruit}#{param} #{stat.stddev(fruit+param)}\n"
print "max : #{fruit}#{param} #{stat.max(fruit+param)}\n"
print "min : #{fruit}#{param} #{stat.min(fruit+param)}\n"
print "ent : #{fruit}#{param} #{stat.entropy(fruit+param)}\n"
print "mmt : #{fruit}#{param} #{stat.moment(fruit+param, 1, 0.0)}\n"
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment