webget_netica 1.0.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/webget_netica/environ.rb +30 -0
- data/lib/webget_netica/net.rb +31 -0
- data/lib/webget_netica/netica.rb +59 -0
- data/lib/webget_netica/node.rb +77 -0
- data/lib/webget_netica/node_list.rb +23 -0
- data/lib/webget_netica/state.rb +16 -0
- data/lib/webget_netica.rb +21 -0
- data.tar.gz.sig +1 -0
- metadata +103 -0
- metadata.gz.sig +1 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
class Java::NorsysNetica::Environ
|
2
|
+
|
3
|
+
def to_s
|
4
|
+
"Environ" +
|
5
|
+
" Version:#{getVersionString()}" +
|
6
|
+
" MemoryUsageLimit:#{getMemoryUsageLimit().floor}" +
|
7
|
+
" ArgumentChecking:#{getArgumentChecking()}" +
|
8
|
+
" CaseFileDelimChar:#{getCaseFileDelimChar()}" +
|
9
|
+
" MissingDataChar:#{getMissingDataChar()}"
|
10
|
+
end
|
11
|
+
|
12
|
+
def pretty_print(q)
|
13
|
+
q.group(1) {
|
14
|
+
q.text "Environ"
|
15
|
+
q.breakable
|
16
|
+
q.text "Version:"+getVersionString()
|
17
|
+
q.comma_breakable
|
18
|
+
q.text "MemoryUsageLimit:"+getMemoryUsageLimit().floor.to_s
|
19
|
+
q.comma_breakable
|
20
|
+
q.text "ArgumentChecking:"+getArgumentChecking().to_s
|
21
|
+
q.comma_breakable
|
22
|
+
q.text "CaseFileDelimChar:"+getCaseFileDelimChar().to_s
|
23
|
+
q.comma_breakable
|
24
|
+
q.text "MissingDataChar:"+getMissingDataChar().to_s
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
|
@@ -0,0 +1,31 @@
|
|
1
|
+
class Java::NorsysNetica::Net
|
2
|
+
|
3
|
+
def free()
|
4
|
+
begin
|
5
|
+
finalize()
|
6
|
+
getNodes().free()
|
7
|
+
rescue Java::NorsysNetica::NeticaException
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_s
|
12
|
+
"Net #{getName()}"
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_ss
|
16
|
+
nodelist = getNodes()
|
17
|
+
to_s + "\n" + nodelist.to_ss
|
18
|
+
end
|
19
|
+
|
20
|
+
def pretty_print(q)
|
21
|
+
q.group(1) {
|
22
|
+
q.text "Net"
|
23
|
+
q.breakable
|
24
|
+
q.text "Name:"+name
|
25
|
+
q.comma_breakable
|
26
|
+
q.text "Nodes:#{nodes.size}"
|
27
|
+
}
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
@@ -0,0 +1,59 @@
|
|
1
|
+
|
2
|
+
require 'java'
|
3
|
+
require 'ramp'
|
4
|
+
import "norsys.netica.Environ"
|
5
|
+
import "norsys.netica.Net"
|
6
|
+
import "norsys.netica.NeticaException"
|
7
|
+
import "norsys.netica.Node"
|
8
|
+
import "norsys.netica.NodeList"
|
9
|
+
import "norsys.netica.State"
|
10
|
+
import "norsys.netica.Streamer"
|
11
|
+
import "norsys.netica.Value"
|
12
|
+
|
13
|
+
module Netica
|
14
|
+
|
15
|
+
# Initialize the Netica environment with default settings.
|
16
|
+
|
17
|
+
def environ(options=nil)
|
18
|
+
return Java::NorsysNetica::Environ.new(options)
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
# Read a net file and compile it.
|
23
|
+
# The net file extensions is typically '.dne' or '.neta'.
|
24
|
+
|
25
|
+
def load_net(filepath)
|
26
|
+
streamer = Java::NorsysNetica::Streamer.new(filepath)
|
27
|
+
net = Java::NorsysNetica::Net.new(streamer)
|
28
|
+
net.compile()
|
29
|
+
return net
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
# Read rows of a typical file of cases.
|
34
|
+
# The cases are tab delimited format.
|
35
|
+
# The IO.readrows method is in the ramp gem.
|
36
|
+
|
37
|
+
def load_cases(filepath)
|
38
|
+
return IO.readrows(filepath)
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
# Free an object then finalize it.
|
43
|
+
# This is typically for JRuby objects.
|
44
|
+
|
45
|
+
def finalizer(x)
|
46
|
+
return if !defined?(x) or x==nil
|
47
|
+
begin
|
48
|
+
x.respond_to?('free') and x.free()
|
49
|
+
rescue
|
50
|
+
end
|
51
|
+
begin
|
52
|
+
x.respond_to?('finalize') and x.finalize()
|
53
|
+
rescue
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
|
58
|
+
end
|
59
|
+
|
@@ -0,0 +1,77 @@
|
|
1
|
+
class Java::NorsysNetica::Node
|
2
|
+
|
3
|
+
NODE_KINDS = {
|
4
|
+
Java::NorsysNetica::Node::NATURE_NODE => :nature,
|
5
|
+
Java::NorsysNetica::Node::DECISION_NODE => :decision,
|
6
|
+
Java::NorsysNetica::Node::UTILITY_NODE => :utility,
|
7
|
+
Java::NorsysNetica::Node::CONSTANT_NODE => :constant,
|
8
|
+
Java::NorsysNetica::Node::DISCONNECTED_NODE => :disconnected,
|
9
|
+
}
|
10
|
+
|
11
|
+
NODE_TYPES = {
|
12
|
+
Java::NorsysNetica::Node::DISCRETE_TYPE => :nature,
|
13
|
+
Java::NorsysNetica::Node::CONTINUOUS_TYPE => :decision,
|
14
|
+
}
|
15
|
+
|
16
|
+
def getKindSym()
|
17
|
+
return NODE_KINDS[getKind()]
|
18
|
+
end
|
19
|
+
|
20
|
+
def getTypeSym()
|
21
|
+
return NODE_TYPES[getType()]
|
22
|
+
end
|
23
|
+
|
24
|
+
def to_s
|
25
|
+
"Node" +
|
26
|
+
" Name:#{getName()}" +
|
27
|
+
" Kind:#{getKindSym()}" +
|
28
|
+
" Type:#{getTypeSym()}" +
|
29
|
+
" BeliefUpdated:#{isBeliefUpdated()}" +
|
30
|
+
" Deterministic:#{isDeterministic()}" +
|
31
|
+
" NumStates:#{getNumStates}"
|
32
|
+
end
|
33
|
+
|
34
|
+
def to_ss
|
35
|
+
to_s + "\n" + states.map{|s| s.to_ss}.join("\n")
|
36
|
+
end
|
37
|
+
|
38
|
+
def pretty_print(q)
|
39
|
+
q.group(1) {
|
40
|
+
q.text "Node"
|
41
|
+
q.breakable
|
42
|
+
q.text "Name:#{getName()}"
|
43
|
+
q.comma_breakable
|
44
|
+
q.text "Kind:#{getKindSym()}"
|
45
|
+
q.comma_breakable
|
46
|
+
q.text "Type:#{getTypeSym()}"
|
47
|
+
q.comma_breakable
|
48
|
+
q.text "BeliefUpdated:#{isBeliefUpdated()}"
|
49
|
+
q.comma_breakable
|
50
|
+
q.text "Deterministic:#{isDeterministic()}"
|
51
|
+
q.text "NumStates:#{getNumStates}"
|
52
|
+
q.comma_breakable
|
53
|
+
}
|
54
|
+
end
|
55
|
+
|
56
|
+
def states()
|
57
|
+
return (0...getNumStates()).map{|i| state(i) }
|
58
|
+
end
|
59
|
+
|
60
|
+
def free()
|
61
|
+
begin
|
62
|
+
finalize()
|
63
|
+
delete()
|
64
|
+
states.each{|s| s==nil or s.free() }
|
65
|
+
rescue Java::NorsysNetica::NeticaException
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
def state_belief_inspect
|
70
|
+
states.map{|state|
|
71
|
+
k = state.getName()
|
72
|
+
v = getBelief(k)
|
73
|
+
"#{k}:#{v.round_to(0.01)}"
|
74
|
+
}.join(",")
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class Java::NorsysNetica::NodeList
|
2
|
+
|
3
|
+
def nodes()
|
4
|
+
return (0...size).map{|i| getNode(i) }
|
5
|
+
end
|
6
|
+
|
7
|
+
def free()
|
8
|
+
begin
|
9
|
+
finalize()
|
10
|
+
nodes.each{|n| n==nil or n.free() }
|
11
|
+
rescue Java::NorsysNetica::NeticaException
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def getName()
|
16
|
+
""
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_ss
|
20
|
+
to_s + "\n" + nodes.map{|n| n.to_ss}.join("\n")
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
|
2
|
+
=begin rdoc
|
3
|
+
|
4
|
+
= WebGet.com Netica gem
|
5
|
+
|
6
|
+
This gem containing helpers for Norsys Netica API using JRuby.
|
7
|
+
|
8
|
+
For details about Netica, please see http://www.norsys.com
|
9
|
+
|
10
|
+
=end
|
11
|
+
|
12
|
+
require 'java'
|
13
|
+
require 'pp'
|
14
|
+
require 'facets'
|
15
|
+
require 'webget_ramp'
|
16
|
+
require 'webget_netica/environ.rb'
|
17
|
+
require 'webget_netica/net.rb'
|
18
|
+
require 'webget_netica/netica.rb'
|
19
|
+
require 'webget_netica/node.rb'
|
20
|
+
require 'webget_netica/node_list.rb'
|
21
|
+
require 'webget_netica/state.rb'
|
data.tar.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
+��]�QC��Jґ'ju��6��Ęf�1n�� �˚�ډTN�y?�W���O=�8=#!ϙe^�zo�315�#������!
|
metadata
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: webget_netica
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.5.9
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- WebGet
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDvDCCAyWgAwIBAgIJAIlSqEkDQaZIMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYD
|
14
|
+
VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5j
|
15
|
+
aXNjbzETMBEGA1UEChMKV2ViR2V0LmNvbTETMBEGA1UECxMKV2ViR2V0LmNvbTET
|
16
|
+
MBEGA1UEAxMKV2ViR2V0LmNvbTEgMB4GCSqGSIb3DQEJARYRd2ViZ2V0QHdlYmdl
|
17
|
+
dC5jb20wHhcNMDkwMjI2MTk0NDU4WhcNMTExMTIzMTk0NDU4WjCBmzELMAkGA1UE
|
18
|
+
BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
|
19
|
+
Y28xEzARBgNVBAoTCldlYkdldC5jb20xEzARBgNVBAsTCldlYkdldC5jb20xEzAR
|
20
|
+
BgNVBAMTCldlYkdldC5jb20xIDAeBgkqhkiG9w0BCQEWEXdlYmdldEB3ZWJnZXQu
|
21
|
+
Y29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDXCFYfW6hCQl0ToNjaMIXG
|
22
|
+
ZfPF6OoR20BO/Tg6V37qPi7gDSZ6vIC6Mxcs8LtEcju85cD9lnKKl/lo4S5/w9Ha
|
23
|
+
hGD2ZFFfbF8420X5Za5G2KuriS3GzRz7F5dKCTjb1NH9TPlgOc71bcrDmCwwtFJl
|
24
|
+
T+tdfBju0YxLSBiMXf4y5QIDAQABo4IBBDCCAQAwHQYDVR0OBBYEFHB1kXO/Xd4g
|
25
|
+
G+AJ2/wwh6JOWXzNMIHQBgNVHSMEgcgwgcWAFHB1kXO/Xd4gG+AJ2/wwh6JOWXzN
|
26
|
+
oYGhpIGeMIGbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQG
|
27
|
+
A1UEBxMNU2FuIEZyYW5jaXNjbzETMBEGA1UEChMKV2ViR2V0LmNvbTETMBEGA1UE
|
28
|
+
CxMKV2ViR2V0LmNvbTETMBEGA1UEAxMKV2ViR2V0LmNvbTEgMB4GCSqGSIb3DQEJ
|
29
|
+
ARYRd2ViZ2V0QHdlYmdldC5jb22CCQCJUqhJA0GmSDAMBgNVHRMEBTADAQH/MA0G
|
30
|
+
CSqGSIb3DQEBBQUAA4GBADzVXlwuff0/w3yK4LflGKKhtC3oChIrwmSyP6tk628N
|
31
|
+
BHokpc4Kz63xSXqzYTnBS7rFBwlYThtNalQeWmoUjGh3Z0ZR0JlhU0ln8899LuJ3
|
32
|
+
DXnLFY0cVuBnNDMOOFl8vk1qIcZjcTovhzgcixpG6Uk5qmUsKHRLQf4oQJx7TfLK
|
33
|
+
-----END CERTIFICATE-----
|
34
|
+
|
35
|
+
date: 2009-10-27 00:00:00 -07:00
|
36
|
+
default_executable:
|
37
|
+
dependencies:
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: webget_ramp
|
40
|
+
type: :runtime
|
41
|
+
version_requirement:
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 1.7.1.1
|
47
|
+
version:
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: facets
|
50
|
+
type: :runtime
|
51
|
+
version_requirement:
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 2.7.0
|
57
|
+
version:
|
58
|
+
description:
|
59
|
+
email: webget@webget.com
|
60
|
+
executables: []
|
61
|
+
|
62
|
+
extensions: []
|
63
|
+
|
64
|
+
extra_rdoc_files: []
|
65
|
+
|
66
|
+
files:
|
67
|
+
- lib/webget_netica.rb
|
68
|
+
- lib/webget_netica/environ.rb
|
69
|
+
- lib/webget_netica/net.rb
|
70
|
+
- lib/webget_netica/netica.rb
|
71
|
+
- lib/webget_netica/node.rb
|
72
|
+
- lib/webget_netica/node_list.rb
|
73
|
+
- lib/webget_netica/state.rb
|
74
|
+
has_rdoc: true
|
75
|
+
homepage: http://webget.com/gems/webget_netica
|
76
|
+
licenses: []
|
77
|
+
|
78
|
+
post_install_message:
|
79
|
+
rdoc_options: []
|
80
|
+
|
81
|
+
require_paths:
|
82
|
+
- lib
|
83
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: "0"
|
88
|
+
version:
|
89
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: "0"
|
94
|
+
version:
|
95
|
+
requirements: []
|
96
|
+
|
97
|
+
rubyforge_project:
|
98
|
+
rubygems_version: 1.3.5
|
99
|
+
signing_key:
|
100
|
+
specification_version: 3
|
101
|
+
summary: WebGet Netica gem to connect to Norsys Netica analytics engine using JRuby and Java
|
102
|
+
test_files: []
|
103
|
+
|
metadata.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
�p$�n]�9T��[�T�K券1�_�����`�>���YQ@~��H#{��OO�h��X�"N���*�cD�]Z��e���xB�}�͞N����c�Q����*˩�Ye��˵�U��zy���^י
|