Module: LightModels

Defined in:
lib/lightmodels/jsonser_nav.rb,
lib/lightmodels/model.rb,
lib/lightmodels/query.rb,
lib/lightmodels/stats.rb,
lib/lightmodels/serialization.rb,
lib/lightmodels/model_building.rb

Overview

This module permits to manipulate Objects serialized as Hash

Defined Under Namespace

Modules: ModelBuilding, Query, Serialization Classes: CountingMap, Model

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.entropy(counting_map) ⇒ Object



42
43
44
45
46
47
48
49
# File 'lib/lightmodels/stats.rb', line 42

def self.entropy(counting_map)
	s = 0.0	
	counting_map.each do |k,v|
		p = counting_map.p(k)
		s += p*Math.log(p)
	end
	-s
end

Instance Method Details

#combine(arr1, arr2, &op) ⇒ Object



63
64
65
66
67
# File 'lib/lightmodels/stats.rb', line 63

def combine(arr1,arr2,&op)
	arr1.each do |el1|
		arr2.each {|el2| op.call(el1,el2)}
	end
end

#combine_self(arr, &op) ⇒ Object



55
56
57
58
59
60
61
# File 'lib/lightmodels/stats.rb', line 55

def combine_self(arr,&op)
	for i in 0..(arr.count-2)
		for j in (i+1)..(arr.count-1)
			op.call(arr[i],arr[j])
		end
	end
end

#idf(n, n_docs) ⇒ Object



51
52
53
# File 'lib/lightmodels/stats.rb', line 51

def idf(n,n_docs)
	Math.log(n_docs.to_f/n.to_f)
end