ai4r 1.4 → 1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/README.rdoc +24 -3
  2. data/examples/decision_trees/id3_example.rb +1 -1
  3. data/examples/genetic_algorithm/genetic_algorithm_example.rb +1 -1
  4. data/lib/ai4r.rb +11 -0
  5. data/lib/ai4r/classifiers/classifier.rb +2 -0
  6. data/lib/ai4r/classifiers/id3.rb +3 -2
  7. data/lib/ai4r/classifiers/multilayer_perceptron.rb +135 -0
  8. data/lib/ai4r/classifiers/one_r.rb +2 -1
  9. data/lib/ai4r/classifiers/prism.rb +2 -1
  10. data/lib/ai4r/classifiers/zero_r.rb +2 -1
  11. data/lib/ai4r/clusterers/average_linkage.rb +60 -0
  12. data/lib/ai4r/clusterers/bisecting_k_means.rb +17 -39
  13. data/lib/ai4r/clusterers/clusterer.rb +25 -0
  14. data/lib/ai4r/clusterers/complete_linkage.rb +62 -0
  15. data/lib/ai4r/clusterers/k_means.rb +18 -25
  16. data/lib/ai4r/clusterers/single_linkage.rb +179 -0
  17. data/lib/ai4r/data/data_set.rb +33 -41
  18. data/lib/ai4r/data/proximity.rb +82 -0
  19. data/lib/ai4r/data/statistics.rb +77 -0
  20. data/lib/ai4r/experiment/classifier_evaluator.rb +95 -0
  21. data/lib/ai4r/genetic_algorithm/genetic_algorithm.rb +2 -4
  22. data/site/build/site/en/build/tmp/build-info.xml +5 -0
  23. data/site/build/site/en/build/tmp/plugins-1.xml +212 -0
  24. data/site/build/site/en/build/tmp/plugins-2.xml +252 -0
  25. data/site/build/site/en/build/tmp/projfilters.properties +41 -0
  26. data/site/build/site/en/downloads.html +1 -1
  27. data/site/build/site/en/geneticAlgorithms.html +1 -1
  28. data/site/build/site/en/index.html +44 -7
  29. data/site/build/site/en/index.pdf +278 -155
  30. data/site/build/site/en/linkmap.html +2 -2
  31. data/site/build/site/en/linkmap.pdf +12 -12
  32. data/site/build/site/en/machineLearning.html +1 -1
  33. data/site/build/site/en/neuralNetworks.html +1 -1
  34. data/site/build/site/en/sourceCode.html +244 -0
  35. data/site/build/site/en/sourceCode.pdf +278 -0
  36. data/site/build/site/en/svn.html +34 -42
  37. data/site/build/site/en/svn.pdf +86 -114
  38. data/site/build/tmp/cocoon-work/cache-dir/cocoon-ehcache-1.data +0 -0
  39. data/site/build/tmp/cocoon-work/cache-dir/cocoon-ehcache-1.index +0 -0
  40. data/site/build/tmp/projfilters.properties +1 -1
  41. data/site/build/webapp/WEB-INF/logs/core.log +628 -629
  42. data/site/build/webapp/WEB-INF/logs/error.log +213 -213
  43. data/site/src/documentation/content/xdocs/index.xml +20 -1
  44. data/site/src/documentation/content/xdocs/site.xml +1 -1
  45. data/site/src/documentation/content/xdocs/sourceCode.xml +43 -0
  46. data/site/src/documentation/resources/images/sigmoid.png +0 -0
  47. data/test/classifiers/id3_test.rb +0 -1
  48. data/test/classifiers/multilayer_perceptron_test.rb +79 -0
  49. data/test/classifiers/one_r_test.rb +0 -2
  50. data/test/classifiers/prism_test.rb +0 -2
  51. data/test/classifiers/zero_r_test.rb +0 -2
  52. data/test/clusterers/average_linkage_test.rb +45 -0
  53. data/test/clusterers/bisecting_k_means_test.rb +0 -2
  54. data/test/clusterers/complete_linkage_test.rb +45 -0
  55. data/test/clusterers/k_means_test.rb +0 -2
  56. data/test/clusterers/single_linkage_test.rb +113 -0
  57. data/test/data/data_set_test.rb +3 -15
  58. data/test/data/proximity_test.rb +71 -0
  59. data/test/data/statistics_test.rb +65 -0
  60. data/test/experiment/classifier_evaluator_test.rb +76 -0
  61. metadata +27 -6
  62. data/site/src/documentation/content/xdocs/svn.xml +0 -41
@@ -0,0 +1,65 @@
1
+ # Author:: Sergio Fierens
2
+ # License:: MPL 1.1
3
+ # Project:: ai4r
4
+ # Url:: http://ai4r.rubyforge.org/
5
+ #
6
+ # You can redistribute it and/or modify it under the terms of
7
+ # the Mozilla Public License version 1.1 as published by the
8
+ # Mozilla Foundation at http://www.mozilla.org/MPL/MPL-1.1.txt
9
+
10
+ require 'test/unit'
11
+ require File.dirname(__FILE__) + '/../../lib/ai4r/data/statistics'
12
+
13
+ module Ai4r
14
+ module Data
15
+ class StatisticsTest < Test::Unit::TestCase
16
+
17
+ DELTA = 0.00001
18
+
19
+ def setup
20
+ @data_set = DataSet.new.
21
+ parse_csv "#{File.dirname(__FILE__)}/statistics_data_set.csv"
22
+ end
23
+
24
+ def test_mean
25
+ assert_equal 2, Statistics.mean(@data_set, 1)
26
+ assert_equal 2.502, Statistics.mean(@data_set, 0)
27
+ end
28
+
29
+ def test_variance
30
+ assert_equal 0, Statistics.variance(@data_set, 1)
31
+ assert_in_delta 4.47302, Statistics.variance(@data_set, 0), DELTA
32
+ end
33
+
34
+ def test_standard_deviation
35
+ assert_equal 0, Statistics.standard_deviation(@data_set, 1)
36
+ assert_in_delta 2.11495, Statistics.standard_deviation(@data_set, 0), DELTA
37
+ end
38
+
39
+ def test_mode
40
+ items = [ [ "New York", 25, "Y"],
41
+ [ "New York", 55, "Y"],
42
+ [ "Chicago", 23, "Y"],
43
+ [ "Boston", 23, "N"],
44
+ [ "Chicago", 12, "N"],
45
+ [ "Chicago", 87, "Y"] ]
46
+ set = DataSet.new.set_data_items(items)
47
+ assert_equal "Chicago", Statistics.mode(set,0)
48
+ assert_equal 23, Statistics.mode(set,1)
49
+ assert_equal "Y", Statistics.mode(set,2)
50
+ end
51
+
52
+ def test_min
53
+ assert_equal 2, Statistics.min(@data_set, 1)
54
+ assert_equal 1, Statistics.min(@data_set, 0)
55
+ end
56
+
57
+ def test_max
58
+ assert_equal 2, Statistics.max(@data_set, 1)
59
+ assert_equal 6, Statistics.max(@data_set, 0)
60
+ assert_equal 3.7, Statistics.max(@data_set, 2)
61
+ end
62
+
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,76 @@
1
+ # Author:: Sergio Fierens
2
+ # License:: MPL 1.1
3
+ # Project:: ai4r
4
+ # Url:: http://ai4r.rubyforge.org/
5
+ #
6
+ # You can redistribute it and/or modify it under the terms of
7
+ # the Mozilla Public License version 1.1 as published by the
8
+ # Mozilla Foundation at http://www.mozilla.org/MPL/MPL-1.1.txt
9
+
10
+ require 'test/unit'
11
+ require File.dirname(__FILE__) + '/../../lib/ai4r/experiment/classifier_evaluator'
12
+ require File.dirname(__FILE__) + '/../../lib/ai4r/classifiers/classifier'
13
+
14
+ class MockClassifier < Ai4r::Classifiers::Classifier
15
+
16
+ attr_accessor :built
17
+
18
+ def initialize(class_value)
19
+ @built = false
20
+ @class_value = class_value
21
+ end
22
+
23
+ def build(data_set)
24
+ @built = true
25
+ end
26
+
27
+ def eval(data)
28
+ @class_value
29
+ end
30
+
31
+ end
32
+
33
+ module Ai4r
34
+ module Experiment
35
+ class ClassifierEvaluatorTest < Test::Unit::TestCase
36
+
37
+ def test_add_classifier
38
+ evaluator = ClassifierEvaluator.new
39
+ evaluator << MockClassifier.new(nil) << MockClassifier.new(nil)
40
+ evaluator.add_classifier(MockClassifier.new(nil)).
41
+ add_classifier(MockClassifier.new(nil)).
42
+ add_classifier(MockClassifier.new(nil))
43
+ assert_equal 5, evaluator.classifiers.length
44
+ end
45
+
46
+ def test_build
47
+ evaluator = ClassifierEvaluator.new
48
+ 5.times { evaluator << MockClassifier.new(nil) }
49
+ evaluator.classifiers.each {|c| assert !c.built}
50
+ evaluator.build(Ai4r::Data::DataSet.new)
51
+ evaluator.classifiers.each {|c| assert c.built}
52
+ end
53
+
54
+ def test_eval
55
+ evaluator = ClassifierEvaluator.new
56
+ 5.times { |x| evaluator << MockClassifier.new(x) }
57
+ assert_equal [0, 1, 2, 3, 4], evaluator.eval([])
58
+ end
59
+
60
+ def test_test
61
+ evaluator = ClassifierEvaluator.new
62
+ 5.times { |x| evaluator << MockClassifier.new(x) }
63
+ input = Ai4r::Data::DataSet.new :data_items =>
64
+ [[0],[0],[0],[1],[2],[3]]
65
+ output = evaluator.test input
66
+ assert_equal 5, output.data_items.length # 5 classifiers, 5 result rows
67
+ output.data_items.each { |result| assert result[1]>=0 && result[1]<1} # eval time
68
+ assert_equal 3, output.data_items.first[2] # 3 errors for the 1st classifier
69
+ assert_equal 0.5, output.data_items.first[3] # succes rate
70
+ assert_equal 6, output.data_items.last[2] # 6 errors for the last classifier
71
+ assert_equal 0, output.data_items.last[3] # succes rate
72
+ end
73
+
74
+ end
75
+ end
76
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ai4r
3
3
  version: !ruby/object:Gem::Version
4
- version: "1.4"
4
+ version: "1.5"
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergio Fierens
@@ -9,7 +9,7 @@ autorequire: ai4r
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-12 00:00:00 +00:00
12
+ date: 2009-04-01 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -38,12 +38,18 @@ files:
38
38
  - lib/ai4r.rb
39
39
  - lib/ai4r
40
40
  - lib/ai4r/clusterers
41
+ - lib/ai4r/clusterers/average_linkage.rb
42
+ - lib/ai4r/clusterers/complete_linkage.rb
41
43
  - lib/ai4r/clusterers/bisecting_k_means.rb
44
+ - lib/ai4r/clusterers/single_linkage.rb
42
45
  - lib/ai4r/clusterers/k_means.rb
43
46
  - lib/ai4r/clusterers/clusterer.rb
47
+ - lib/ai4r/experiment
48
+ - lib/ai4r/experiment/classifier_evaluator.rb
44
49
  - lib/ai4r/neural_network
45
50
  - lib/ai4r/neural_network/backpropagation.rb
46
51
  - lib/ai4r/classifiers
52
+ - lib/ai4r/classifiers/multilayer_perceptron.rb
47
53
  - lib/ai4r/classifiers/prism.rb
48
54
  - lib/ai4r/classifiers/one_r.rb
49
55
  - lib/ai4r/classifiers/zero_r.rb
@@ -53,7 +59,9 @@ files:
53
59
  - lib/ai4r/genetic_algorithm/genetic_algorithm.rb
54
60
  - lib/ai4r/data
55
61
  - lib/ai4r/data/parameterizable.rb
62
+ - lib/ai4r/data/statistics.rb
56
63
  - lib/ai4r/data/data_set.rb
64
+ - lib/ai4r/data/proximity.rb
57
65
  - site/build
58
66
  - site/build/webapp
59
67
  - site/build/webapp/conf
@@ -71,13 +79,21 @@ files:
71
79
  - site/build/webapp/WEB-INF/logs/debug.log
72
80
  - site/build/site
73
81
  - site/build/site/en
82
+ - site/build/site/en/sourceCode.html
74
83
  - site/build/site/en/svn.pdf
84
+ - site/build/site/en/sourceCode.pdf
75
85
  - site/build/site/en/linkmap.pdf
76
86
  - site/build/site/en/geneticAlgorithms.html
77
87
  - site/build/site/en/neuralNetworks.pdf
78
88
  - site/build/site/en/neuralNetworks.html
79
89
  - site/build/site/en/machineLearning.html
80
90
  - site/build/site/en/index.html
91
+ - site/build/site/en/build
92
+ - site/build/site/en/build/tmp
93
+ - site/build/site/en/build/tmp/plugins-2.xml
94
+ - site/build/site/en/build/tmp/projfilters.properties
95
+ - site/build/site/en/build/tmp/build-info.xml
96
+ - site/build/site/en/build/tmp/plugins-1.xml
81
97
  - site/build/site/en/machineLearning.pdf
82
98
  - site/build/site/en/locationmap.xml
83
99
  - site/build/site/en/downloads.html
@@ -190,12 +206,10 @@ files:
190
206
  - site/forrest.properties.dispatcher.properties
191
207
  - site/src
192
208
  - site/src/documentation
193
- - site/src/documentation/conf
194
209
  - site/src/documentation/sitemap.xmap
195
210
  - site/src/documentation/resources
196
211
  - site/src/documentation/resources/stylesheets
197
212
  - site/src/documentation/resources/stylesheets/hello2document.xsl
198
- - site/src/documentation/resources/themes
199
213
  - site/src/documentation/resources/schema
200
214
  - site/src/documentation/resources/schema/symbols-project-v10.ent
201
215
  - site/src/documentation/resources/schema/catalog.xcat
@@ -232,13 +246,13 @@ files:
232
246
  - site/src/documentation/README.txt
233
247
  - site/src/documentation/content
234
248
  - site/src/documentation/content/xdocs
249
+ - site/src/documentation/content/xdocs/sourceCode.xml
235
250
  - site/src/documentation/content/xdocs/index.xml
236
251
  - site/src/documentation/content/xdocs/machineLearning.xml
237
252
  - site/src/documentation/content/xdocs/downloads.html
238
253
  - site/src/documentation/content/xdocs/site.xml
239
254
  - site/src/documentation/content/xdocs/geneticAlgorithms.xml
240
255
  - site/src/documentation/content/xdocs/neuralNetworks.xml
241
- - site/src/documentation/content/xdocs/svn.xml
242
256
  - site/src/documentation/content/xdocs/tabs.xml
243
257
  - site/src/documentation/content/locationmap.xml
244
258
  - site/src/documentation/translations
@@ -289,18 +303,25 @@ required_rubygems_version: !ruby/object:Gem::Requirement
289
303
  requirements: []
290
304
 
291
305
  rubyforge_project: ai4r
292
- rubygems_version: 1.2.0
306
+ rubygems_version: 1.3.1
293
307
  signing_key:
294
308
  specification_version: 2
295
309
  summary: Ruby implementations of algorithms covering several Artificial intelligence fields, including Genetic algorithms, Neural Networks, machine learning, and clustering.
296
310
  test_files:
311
+ - test/clusterers/single_linkage_test.rb
312
+ - test/clusterers/average_linkage_test.rb
313
+ - test/clusterers/complete_linkage_test.rb
297
314
  - test/clusterers/k_means_test.rb
298
315
  - test/clusterers/bisecting_k_means_test.rb
316
+ - test/experiment/classifier_evaluator_test.rb
299
317
  - test/neural_network/backpropagation_test.rb
300
318
  - test/classifiers/zero_r_test.rb
319
+ - test/classifiers/multilayer_perceptron_test.rb
301
320
  - test/classifiers/prism_test.rb
302
321
  - test/classifiers/one_r_test.rb
303
322
  - test/classifiers/id3_test.rb
304
323
  - test/genetic_algorithm/genetic_algorithm_test.rb
305
324
  - test/genetic_algorithm/chromosome_test.rb
325
+ - test/data/statistics_test.rb
326
+ - test/data/proximity_test.rb
306
327
  - test/data/data_set_test.rb
@@ -1,41 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
3
- <document>
4
- <header>
5
- <title>Subversion repository for ai4r (Artificial Intelligence for Ruby)</title>
6
- </header>
7
- <body>
8
- <section id="Anonymous">
9
- <title>Anonymous Subversion Access</title>
10
- <p>This project's SVN repository can be checked out through anonymous access with the following command(s).</p>
11
- <ul>
12
- <li>svn checkout http://ai4r.rubyforge.org/svn/trunk</li>
13
- <li>svn checkout svn://rubyforge.org/var/svn/ai4r/trunk</li>
14
- </ul>
15
- </section>
16
-
17
- <section id="Browse">
18
- <title>Browse latest files</title>
19
- <p>You can see the latest ai4r code directly in your browser: <a href="http://ai4r.rubyforge.org/svn/">http://ai4r.rubyforge.org/svn/</a>
20
- </p>
21
- <warning>The latest code in http://ai4r.rubyforge.org/svn/trunk will probably be a work in progess. If you
22
- want something that works, please download the releases.</warning>
23
- </section>
24
-
25
- <section id="moreinfor">
26
- <title>More info on Subversion (svn)</title>
27
- <p>If you need help about using Subversion (svn), the (IMO) best documentation is available <a href="http://svnbook.red-bean.com/">here</a>.</p>
28
- <p>If you work in SCM, you may find <a href="http://scm.jadeferret.com">Jade Ferret’s SCM initiative</a>
29
- intresting.</p>
30
- </section>
31
-
32
- <section id="softsizo_report">
33
- <title>Source code evolution</title>
34
- <p><a href="http://softsizo.jadeferret.com">Soft Sizo</a> is a report generation tool that extends the concept
35
- of Lines Of Code (LOC) metrics, using changes information stored in a Subversion repository.</p>
36
- <p>You can access <a href="http://softsizo.jadeferret.com/examples/ai4r/index.html">AI4R Soft Sizo report</a>
37
- for some AI4R source code evolution metrics.
38
- </p>
39
- </section>
40
- </body>
41
- </document>