bio-band 0.1.0 → 0.1.1

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "bio-band"
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["arrigonialberto86"]
12
- s.date = "2013-07-25"
12
+ s.date = "2013-07-27"
13
13
  s.description = "Data mining and machine learning algorithms for JRuby "
14
14
  s.email = "arrigonialberto86@gmail.com"
15
15
  s.executables = ["bio-band"]
@@ -44,7 +44,9 @@ Gem::Specification.new do |s|
44
44
  "features/weka_pipeline.feature",
45
45
  "lib/bio-band.rb",
46
46
  "lib/bio-band/apache.rb",
47
+ "lib/bio-band/apache/stat/correlation.rb",
47
48
  "lib/bio-band/apache/stat/inference.rb",
49
+ "lib/bio-band/apache/stat/regression.rb",
48
50
  "lib/bio-band/core.rb",
49
51
  "lib/bio-band/core/parser/parser.rb",
50
52
  "lib/bio-band/core/type/apache_matrices.rb",
@@ -1,3 +1,3 @@
1
1
  $LOAD_PATH << File.expand_path('../../../lib', __FILE__)
2
2
  $LOAD_PATH << File.expand_path('../../../resources/', __FILE__)
3
- require 'ruby_mining'
3
+ require 'bio-band'
@@ -1 +1,2 @@
1
1
  require 'bio-band/apache/stat/inference.rb'
2
+ require 'bio-band/apache/stat/correlation.rb'
@@ -0,0 +1,42 @@
1
+ require 'java'
2
+
3
+ module Apache
4
+ module Stat
5
+ module Correlation
6
+
7
+ java_import "org.apache.commons.math3.stat.correlation.Covariance"
8
+ java_import "org.apache.commons.math3.stat.correlation.PearsonsCorrelation"
9
+ java_import "org.apache.commons.math3.stat.correlation.SpearmansCorrelation"
10
+
11
+ # Calculate covariance between two Numeric arrays
12
+ # * *Args* :
13
+ # - +Array1+ -> must be a RubyArray.
14
+ # - +Array2+ -> must be a RubyArray.
15
+ def self.covariance(array_1,array_2)
16
+ obj = Covariance.new
17
+ result = obj.covariance(array_1.to_java(:double),array_2.to_java(:double))
18
+ result
19
+ end
20
+
21
+ # Calculate Pearson correlation between two Numeric arrays
22
+ # * *Args* :
23
+ # - +Array1+ -> must be a RubyArray.
24
+ # - +Array2+ -> must be a RubyArray.
25
+ def self.pearson_correlation(array_1,array_2)
26
+ obj = PearsonsCorrelation.new
27
+ result = obj.correlation(array_1.to_java(:double),array_2.to_java(:double))
28
+ result
29
+ end
30
+
31
+ # Calculate Spearman correlation between two Numeric arrays
32
+ # * *Args* :
33
+ # - +Array1+ -> must be a RubyArray.
34
+ # - +Array2+ -> must be a RubyArray.
35
+ def self.spearman_correlation(array_1,array_2)
36
+ obj = SpearmansCorrelation.new
37
+ result = obj.correlation(array_1.to_java(:double),array_2.to_java(:double))
38
+ result
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,21 @@
1
+ require 'java'
2
+
3
+ module Apache
4
+ module Stat
5
+ module Regression
6
+ java_import "org.apache.commons.math3.stat.regression.SimpleRegression"
7
+
8
+ # Create a simple regression model on the input data
9
+ # * *Args* :
10
+ # - +vector+ -> must be a multidimensional array
11
+ def self.simple_regression(vector)
12
+ data = Core::Utils.bidimensional_to_double vector
13
+ obj = SimpleRegression.new
14
+ obj.addData(data)
15
+ return obj
16
+ end
17
+
18
+
19
+ end
20
+ end
21
+ end
@@ -1,11 +1,11 @@
1
- require 'ruby_mining/weka/db/db'
2
- require 'ruby_mining/weka/filters/unsupervised/attribute/attribute.rb'
3
- require 'ruby_mining/weka/filters/unsupervised/instance/instance.rb'
4
- require 'ruby_mining/weka/filters/supervised/instance/instance.rb'
5
- require 'ruby_mining/weka/filters/supervised/attribute/attribute.rb'
6
- require 'ruby_mining/weka/classifiers/bayes/bayes.rb'
7
- require 'ruby_mining/weka/classifiers/evaluation.rb'
8
- require 'ruby_mining/weka/classifiers/functions/functions.rb'
9
- require 'ruby_mining/weka/classifiers/trees/trees.rb'
10
- require 'ruby_mining/weka/classifiers/lazy/lazy.rb'
11
- require 'ruby_mining/weka/clusterers/clusterers.rb'
1
+ require 'bio-band/weka/db/db'
2
+ require 'bio-band/weka/filters/unsupervised/attribute/attribute.rb'
3
+ require 'bio-band/weka/filters/unsupervised/instance/instance.rb'
4
+ require 'bio-band/weka/filters/supervised/instance/instance.rb'
5
+ require 'bio-band/weka/filters/supervised/attribute/attribute.rb'
6
+ require 'bio-band/weka/classifiers/bayes/bayes.rb'
7
+ require 'bio-band/weka/classifiers/evaluation.rb'
8
+ require 'bio-band/weka/classifiers/functions/functions.rb'
9
+ require 'bio-band/weka/classifiers/trees/trees.rb'
10
+ require 'bio-band/weka/classifiers/lazy/lazy.rb'
11
+ require 'bio-band/weka/clusterers/clusterers.rb'
@@ -15,9 +15,7 @@ module Weka
15
15
  class Base < NaiveBayes
16
16
  def initialize
17
17
  super
18
- set_options(self.class.options) if self.class.options
19
- self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
20
- buildClassifier(self.class.data)
18
+ init_classifier
21
19
  end
22
20
  end
23
21
  end
@@ -27,9 +25,7 @@ module Weka
27
25
  class Base < AODE
28
26
  def initialize
29
27
  super
30
- set_options(self.class.options) if self.class.options
31
- self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
32
- buildClassifier(self.class.data)
28
+ init_classifier
33
29
  end
34
30
  end
35
31
  end
@@ -39,9 +35,7 @@ module Weka
39
35
  class Base < BayesianLogisticRegression
40
36
  def initialize
41
37
  super
42
- set_options(self.class.options) if self.class.options
43
- self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
44
- buildClassifier(self.class.data)
38
+ init_classifier
45
39
  end
46
40
  end
47
41
  end
@@ -51,9 +45,7 @@ module Weka
51
45
  class Base < ComplementNaiveBayes
52
46
  def initialize
53
47
  super
54
- set_options(self.class.options) if self.class.options
55
- self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
56
- buildClassifier(self.class.data)
48
+ init_classifier
57
49
  end
58
50
  end
59
51
  end
@@ -63,9 +55,7 @@ module Weka
63
55
  class Base < WAODE
64
56
  def initialize
65
57
  super
66
- set_options(self.class.options) if self.class.options
67
- self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
68
- buildClassifier(self.class.data)
58
+ init_classifier
69
59
  end
70
60
  end
71
61
  end
@@ -1,8 +1,15 @@
1
1
  #This module is used by the Bayesian classifiers from 'bayes.rb'
2
2
  #to inherit the following methods (instance and class methods)
3
3
  module Bayes_utils
4
+
4
5
  java_import "weka.core.Utils"
5
6
 
7
+ def init_classifier
8
+ set_options(self.class.options) if self.class.options
9
+ self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
10
+ buildClassifier(self.class.data)
11
+ end
12
+
6
13
  #Instance methods list
7
14
  def self.included(base)
8
15
  base.extend(ClassMethods)
@@ -11,9 +11,7 @@ module Weka
11
11
  class Base < LinearRegression
12
12
  def initialize
13
13
  super
14
- set_options(self.class.options) if self.class.options
15
- self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
16
- buildClassifier(self.class.data)
14
+ init_function
17
15
  end
18
16
  end
19
17
  end
@@ -3,6 +3,12 @@
3
3
  module Functions_utils
4
4
  java_import "weka.core.Utils"
5
5
 
6
+ def init_function
7
+ set_options(self.class.options) if self.class.options
8
+ self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
9
+ buildClassifier(self.class.data)
10
+ end
11
+
6
12
  #Instance methods list
7
13
  def self.included(base)
8
14
  base.extend(ClassMethods)
@@ -12,9 +12,7 @@ module Weka
12
12
  class Base < KStar
13
13
  def initialize
14
14
  super
15
- set_options(self.class.options) if self.class.options
16
- self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
17
- buildClassifier(self.class.data)
15
+ init_lazy
18
16
  end
19
17
  end
20
18
  end
@@ -3,6 +3,12 @@
3
3
  module Lazy_utils
4
4
  java_import "weka.core.Utils"
5
5
 
6
+ def init_lazy
7
+ set_options(self.class.options) if self.class.options
8
+ self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
9
+ buildClassifier(self.class.data)
10
+ end
11
+
6
12
  #Instance methods list
7
13
  def self.included(base)
8
14
  base.extend(ClassMethods)
@@ -12,9 +12,7 @@ module Weka
12
12
  class Base < FT
13
13
  def initialize
14
14
  super
15
- set_options(self.class.options) if self.class.options
16
- self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
17
- buildClassifier(self.class.data)
15
+ init_tree
18
16
  end
19
17
  end
20
18
  end
@@ -24,9 +22,7 @@ module Weka
24
22
  class Base < J48
25
23
  def initialize
26
24
  super
27
- set_options(self.class.options) if self.class.options
28
- self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
29
- buildClassifier(self.class.data)
25
+ init_tree
30
26
  end
31
27
  end
32
28
  end
@@ -36,9 +32,7 @@ module Weka
36
32
  class Base < RandomForest
37
33
  def initialize
38
34
  super
39
- set_options(self.class.options) if self.class.options
40
- self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
41
- buildClassifier(self.class.data)
35
+ init_tree
42
36
  end
43
37
  end
44
38
  end
@@ -3,6 +3,12 @@
3
3
  module Trees_utils
4
4
  java_import "weka.core.Utils"
5
5
 
6
+ def init_tree
7
+ set_options(self.class.options) if self.class.options
8
+ self.class.data.setClassIndex(self.class.class_index) if self.class.class_index
9
+ buildClassifier(self.class.data)
10
+ end
11
+
6
12
  #Instance methods list
7
13
  def self.included(base)
8
14
  base.extend(ClassMethods)
@@ -11,8 +11,7 @@ module Weka
11
11
  class Base < SimpleKMeans
12
12
  def initialize
13
13
  super
14
- set_options(self.class.options) if self.class.options
15
- buildClusterer(self.class.data)
14
+ init_clusterer
16
15
  end
17
16
  end
18
17
  end
@@ -22,8 +21,7 @@ module Weka
22
21
  class Base < FarthestFirst
23
22
  def initialize
24
23
  super
25
- set_options(self.class.options) if self.class.options
26
- buildClusterer(self.class.data)
24
+ init_clusterer
27
25
  end
28
26
  end
29
27
  end
@@ -3,6 +3,11 @@
3
3
  module Clusterer_utils
4
4
  java_import "weka.core.Utils"
5
5
 
6
+ def init_clusterer
7
+ set_options(self.class.options) if self.class.options
8
+ buildClusterer(self.class.data)
9
+ end
10
+
6
11
  #Instance methods list
7
12
  def self.included(base)
8
13
  base.extend(ClassMethods)
metadata CHANGED
@@ -2,14 +2,14 @@
2
2
  name: bio-band
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.0
5
+ version: 0.1.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - arrigonialberto86
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-25 00:00:00.000000000 Z
12
+ date: 2013-07-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: shoulda
@@ -236,7 +236,9 @@ files:
236
236
  - features/weka_pipeline.feature
237
237
  - lib/bio-band.rb
238
238
  - lib/bio-band/apache.rb
239
+ - lib/bio-band/apache/stat/correlation.rb
239
240
  - lib/bio-band/apache/stat/inference.rb
241
+ - lib/bio-band/apache/stat/regression.rb
240
242
  - lib/bio-band/core.rb
241
243
  - lib/bio-band/core/parser/parser.rb
242
244
  - lib/bio-band/core/type/apache_matrices.rb