ai4r 1.2 → 1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. data/README.rdoc +12 -25
  2. data/examples/decision_trees/id3_example.rb +6 -9
  3. data/examples/decision_trees/results.txt +2 -0
  4. data/examples/genetic_algorithm/genetic_algorithm_example.rb +11 -13
  5. data/examples/neural_network/xor_example.rb +25 -0
  6. data/lib/ai4r.rb +10 -0
  7. data/lib/ai4r/classifiers/classifier.rb +46 -0
  8. data/lib/ai4r/classifiers/id3.rb +27 -58
  9. data/lib/ai4r/classifiers/one_r.rb +19 -58
  10. data/lib/ai4r/classifiers/prism.rb +21 -57
  11. data/lib/ai4r/classifiers/zero_r.rb +16 -48
  12. data/lib/ai4r/clusterers/bisecting_k_means.rb +115 -0
  13. data/lib/ai4r/clusterers/clusterer.rb +55 -0
  14. data/lib/ai4r/clusterers/k_means.rb +164 -0
  15. data/lib/ai4r/data/data_set.rb +250 -0
  16. data/lib/ai4r/genetic_algorithm/genetic_algorithm.rb +19 -19
  17. data/lib/ai4r/neural_network/backpropagation.rb +23 -24
  18. data/site/build/site/en/broken-links.xml +2 -0
  19. data/site/build/site/en/downloads.html +200 -0
  20. data/site/build/site/en/downloads.pdf +151 -0
  21. data/site/build/site/en/forum.html +197 -0
  22. data/site/build/site/en/forum.pdf +151 -0
  23. data/site/build/site/en/geneticAlgorithms.html +591 -0
  24. data/site/build/site/en/geneticAlgorithms.pdf +934 -0
  25. data/site/build/site/en/images/ai4r-logo.png +0 -0
  26. data/site/build/site/en/images/built-with-forrest-button.png +0 -0
  27. data/site/build/site/en/images/c.png +0 -0
  28. data/site/build/site/en/images/c_wbn.png +0 -0
  29. data/site/build/site/en/images/c_wn.png +0 -0
  30. data/site/build/site/en/images/ero.gif +0 -0
  31. data/site/build/site/en/images/europe2.png +0 -0
  32. data/site/build/site/en/images/europe3.png +0 -0
  33. data/site/build/site/en/images/fitness.png +0 -0
  34. data/site/build/site/en/images/genetic_algorithms_example.png +0 -0
  35. data/site/build/site/en/images/instruction_arrow.png +0 -0
  36. data/site/build/site/en/images/jadeferret.png +0 -0
  37. data/site/build/site/en/images/my_email.png +0 -0
  38. data/site/build/site/en/images/neural_network_example.png +0 -0
  39. data/site/build/site/en/images/rubyforge.png +0 -0
  40. data/site/build/site/en/images/s.png +0 -0
  41. data/site/build/site/en/images/s_wbn.png +0 -0
  42. data/site/build/site/en/images/s_wn.png +0 -0
  43. data/site/build/site/en/images/sigmoid.png +0 -0
  44. data/site/build/site/en/images/t.png +0 -0
  45. data/site/build/site/en/images/t_wbn.png +0 -0
  46. data/site/build/site/en/images/t_wn.png +0 -0
  47. data/site/build/site/en/index.html +336 -0
  48. data/site/build/site/en/index.pdf +508 -0
  49. data/site/build/site/en/linkmap.html +263 -0
  50. data/site/build/site/en/linkmap.pdf +94 -0
  51. data/site/build/site/en/locationmap.xml +72 -0
  52. data/site/build/site/en/machineLearning.html +339 -0
  53. data/site/build/site/en/machineLearning.pdf +337 -0
  54. data/site/build/site/en/neuralNetworks.html +484 -0
  55. data/site/build/site/en/neuralNetworks.pdf +604 -0
  56. data/site/build/site/en/skin/CommonMessages_de.xml +23 -0
  57. data/site/build/site/en/skin/CommonMessages_en_US.xml +23 -0
  58. data/site/build/site/en/skin/CommonMessages_es.xml +23 -0
  59. data/site/build/site/en/skin/CommonMessages_fr.xml +23 -0
  60. data/site/build/site/en/skin/basic.css +166 -0
  61. data/site/build/site/en/skin/breadcrumbs-optimized.js +90 -0
  62. data/site/build/site/en/skin/breadcrumbs.js +237 -0
  63. data/site/build/site/en/skin/fontsize.js +166 -0
  64. data/site/build/site/en/skin/getBlank.js +40 -0
  65. data/site/build/site/en/skin/getMenu.js +45 -0
  66. data/site/build/site/en/skin/images/README.txt +1 -0
  67. data/site/build/site/en/skin/images/add.jpg +0 -0
  68. data/site/build/site/en/skin/images/built-with-forrest-button.png +0 -0
  69. data/site/build/site/en/skin/images/chapter.gif +0 -0
  70. data/site/build/site/en/skin/images/chapter_open.gif +0 -0
  71. data/site/build/site/en/skin/images/current.gif +0 -0
  72. data/site/build/site/en/skin/images/error.png +0 -0
  73. data/site/build/site/en/skin/images/external-link.gif +0 -0
  74. data/site/build/site/en/skin/images/fix.jpg +0 -0
  75. data/site/build/site/en/skin/images/forrest-credit-logo.png +0 -0
  76. data/site/build/site/en/skin/images/hack.jpg +0 -0
  77. data/site/build/site/en/skin/images/header_white_line.gif +0 -0
  78. data/site/build/site/en/skin/images/info.png +0 -0
  79. data/site/build/site/en/skin/images/instruction_arrow.png +0 -0
  80. data/site/build/site/en/skin/images/label.gif +0 -0
  81. data/site/build/site/en/skin/images/page.gif +0 -0
  82. data/site/build/site/en/skin/images/pdfdoc.gif +0 -0
  83. data/site/build/site/en/skin/images/poddoc.png +0 -0
  84. data/site/build/site/en/skin/images/printer.gif +0 -0
  85. data/site/build/site/en/skin/images/rc-b-l-15-1body-2menu-3menu.png +0 -0
  86. data/site/build/site/en/skin/images/rc-b-r-15-1body-2menu-3menu.png +0 -0
  87. data/site/build/site/en/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png +0 -0
  88. data/site/build/site/en/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png +0 -0
  89. data/site/build/site/en/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png +0 -0
  90. data/site/build/site/en/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png +0 -0
  91. data/site/build/site/en/skin/images/rc-t-r-15-1body-2menu-3menu.png +0 -0
  92. data/site/build/site/en/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png +0 -0
  93. data/site/build/site/en/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png +0 -0
  94. data/site/build/site/en/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png +0 -0
  95. data/site/build/site/en/skin/images/remove.jpg +0 -0
  96. data/site/build/site/en/skin/images/rss.png +0 -0
  97. data/site/build/site/en/skin/images/spacer.gif +0 -0
  98. data/site/build/site/en/skin/images/success.png +0 -0
  99. data/site/build/site/en/skin/images/txtdoc.png +0 -0
  100. data/site/build/site/en/skin/images/update.jpg +0 -0
  101. data/site/build/site/en/skin/images/valid-html401.png +0 -0
  102. data/site/build/site/en/skin/images/vcss.png +0 -0
  103. data/site/build/site/en/skin/images/warning.png +0 -0
  104. data/site/build/site/en/skin/images/xmldoc.gif +0 -0
  105. data/site/build/site/en/skin/menu.js +48 -0
  106. data/site/build/site/en/skin/note.txt +50 -0
  107. data/site/build/site/en/skin/print.css +54 -0
  108. data/site/build/site/en/skin/profile.css +163 -0
  109. data/site/build/site/en/skin/prototype.js +1257 -0
  110. data/site/build/site/en/skin/screen.css +587 -0
  111. data/site/build/site/en/svn.html +252 -0
  112. data/site/build/site/en/svn.pdf +306 -0
  113. data/site/build/site/en/wholesite.pdf +1915 -0
  114. data/site/build/tmp/brokenlinks.xml +2 -0
  115. data/site/build/tmp/cocoon-work/cache-dir/cocoon-ehcache-1.data +0 -0
  116. data/site/build/tmp/cocoon-work/cache-dir/cocoon-ehcache-1.index +0 -0
  117. data/site/build/tmp/locationmap.xml +14 -14
  118. data/site/build/tmp/output.xmap +23 -23
  119. data/site/build/tmp/pluginlist2fetchbuild.xml +144 -144
  120. data/site/build/tmp/projfilters.properties +41 -41
  121. data/site/build/webapp/WEB-INF/logs/core.log +593 -679
  122. data/site/build/webapp/WEB-INF/logs/error.log +362 -279
  123. data/site/build/webapp/WEB-INF/logs/sitemap.log +368 -1015
  124. data/site/src/documentation/content/xdocs/index.xml +18 -10
  125. data/site/src/documentation/content/xdocs/machineLearning.xml +4 -3
  126. data/site/src/documentation/content/xdocs/site.xml +2 -1
  127. data/site/src/documentation/resources/images/sigmoid.png +0 -0
  128. data/test/classifiers/id3_test.rb +45 -44
  129. data/test/classifiers/one_r_test.rb +19 -17
  130. data/test/classifiers/prism_test.rb +22 -20
  131. data/test/classifiers/zero_r_test.rb +15 -12
  132. data/test/clusterers/bisecting_k_means_test.rb +59 -0
  133. data/test/clusterers/k_means_test.rb +93 -0
  134. data/test/data/data_set_test.rb +92 -0
  135. metadata +252 -128
  136. data/lib/ai4r/classifiers/classifier_helper.rb +0 -54
  137. data/site/src/documentation/content/xdocs/forum.html +0 -9
  138. data/site/src/documentation/resources/images/Thumbs.db +0 -0
  139. data/site/src/documentation/resources/images/sub-dir/Thumbs.db +0 -0
@@ -0,0 +1,166 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one or more
3
+ * contributor license agreements. See the NOTICE file distributed with
4
+ * this work for additional information regarding copyright ownership.
5
+ * The ASF licenses this file to You under the Apache License, Version 2.0
6
+ * (the "License"); you may not use this file except in compliance with
7
+ * the License. You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ function init()
18
+ { //embedded in the doc
19
+ //ndeSetTextSize();
20
+ }
21
+
22
+ function checkBrowser(){
23
+ if (!document.getElementsByTagName){
24
+ return true;
25
+ }
26
+ else{
27
+ return false;
28
+ }
29
+ }
30
+
31
+
32
+ function ndeSetTextSize(chgsize,rs)
33
+ {
34
+ var startSize;
35
+ var newSize;
36
+
37
+ if (!checkBrowser)
38
+ {
39
+ return;
40
+ }
41
+
42
+ startSize = parseInt(ndeGetDocTextSize());
43
+
44
+ if (!startSize)
45
+ {
46
+ startSize = 16;
47
+ }
48
+
49
+ switch (chgsize)
50
+ {
51
+ case 'incr':
52
+ newSize = startSize + 2;
53
+ break;
54
+
55
+ case 'decr':
56
+ newSize = startSize - 2;
57
+ break;
58
+
59
+ case 'reset':
60
+ if (rs) {newSize = rs;} else {newSize = 16;}
61
+ break;
62
+
63
+ default:
64
+ try{
65
+ newSize = parseInt(ndeReadCookie("nde-textsize"));
66
+ }
67
+ catch(e){
68
+ alert(e);
69
+ }
70
+
71
+ if (!newSize || newSize == 'NaN')
72
+ {
73
+ newSize = startSize;
74
+ }
75
+ break;
76
+
77
+ }
78
+
79
+ if (newSize < 10)
80
+ {
81
+ newSize = 10;
82
+ }
83
+
84
+ newSize += 'px';
85
+
86
+ document.getElementsByTagName('html')[0].style.fontSize = newSize;
87
+ document.getElementsByTagName('body')[0].style.fontSize = newSize;
88
+
89
+ ndeCreateCookie("nde-textsize", newSize, 365);
90
+ }
91
+
92
+ function ndeGetDocTextSize()
93
+ {
94
+ if (!checkBrowser)
95
+ {
96
+ return 0;
97
+ }
98
+
99
+ var size = 0;
100
+ var body = document.getElementsByTagName('body')[0];
101
+
102
+ if (body.style && body.style.fontSize)
103
+ {
104
+ size = body.style.fontSize;
105
+ }
106
+ else if (typeof(getComputedStyle) != 'undefined')
107
+ {
108
+ size = getComputedStyle(body,'').getPropertyValue('font-size');
109
+ }
110
+ else if (body.currentStyle)
111
+ {
112
+ size = body.currentStyle.fontSize;
113
+ }
114
+
115
+ //fix IE bug
116
+ if( isNaN(size)){
117
+ if(size.substring(size.length-1)=="%"){
118
+ return
119
+ }
120
+
121
+ }
122
+
123
+ return size;
124
+
125
+ }
126
+
127
+
128
+
129
+ function ndeCreateCookie(name,value,days)
130
+ {
131
+ var cookie = name + "=" + value + ";";
132
+
133
+ if (days)
134
+ {
135
+ var date = new Date();
136
+ date.setTime(date.getTime()+(days*24*60*60*1000));
137
+ cookie += " expires=" + date.toGMTString() + ";";
138
+ }
139
+ cookie += " path=/";
140
+
141
+ document.cookie = cookie;
142
+
143
+ }
144
+
145
+ function ndeReadCookie(name)
146
+ {
147
+ var nameEQ = name + "=";
148
+ var ca = document.cookie.split(';');
149
+
150
+
151
+ for(var i = 0; i < ca.length; i++)
152
+ {
153
+ var c = ca[i];
154
+ while (c.charAt(0) == ' ')
155
+ {
156
+ c = c.substring(1, c.length);
157
+ }
158
+
159
+ ctest = c.substring(0,name.length);
160
+
161
+ if(ctest == name){
162
+ return c.substring(nameEQ.length,c.length);
163
+ }
164
+ }
165
+ return null;
166
+ }
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one or more
3
+ * contributor license agreements. See the NOTICE file distributed with
4
+ * this work for additional information regarding copyright ownership.
5
+ * The ASF licenses this file to You under the Apache License, Version 2.0
6
+ * (the "License"); you may not use this file except in compliance with
7
+ * the License. You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * getBlank script - when included in a html file and called from a form text field, will set the value of this field to ""
19
+ * if the text value is still the standard value.
20
+ * getPrompt script - when included in a html file and called from a form text field, will set the value of this field to the prompt
21
+ * if the text value is empty.
22
+ *
23
+ * Typical usage:
24
+ * <script type="text/javascript" language="JavaScript" src="getBlank.js"></script>
25
+ * <input type="text" id="query" value="Search the site:" onFocus="getBlank (this, 'Search the site:');" onBlur="getBlank (this, 'Search the site:');"/>
26
+ */
27
+ <!--
28
+ function getBlank (form, stdValue){
29
+ if (form.value == stdValue){
30
+ form.value = '';
31
+ }
32
+ return true;
33
+ }
34
+ function getPrompt (form, stdValue){
35
+ if (form.value == ''){
36
+ form.value = stdValue;
37
+ }
38
+ return true;
39
+ }
40
+ //-->
@@ -0,0 +1,45 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one or more
3
+ * contributor license agreements. See the NOTICE file distributed with
4
+ * this work for additional information regarding copyright ownership.
5
+ * The ASF licenses this file to You under the Apache License, Version 2.0
6
+ * (the "License"); you may not use this file except in compliance with
7
+ * the License. You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * This script, when included in a html file, can be used to make collapsible menus
19
+ *
20
+ * Typical usage:
21
+ * <script type="text/javascript" language="JavaScript" src="menu.js"></script>
22
+ */
23
+
24
+ if (document.getElementById){
25
+ document.write('<style type="text/css">.menuitemgroup{display: none;}</style>')
26
+ }
27
+
28
+
29
+ function SwitchMenu(obj, thePath)
30
+ {
31
+ var open = 'url("'+thePath + 'images/chapter_open.gif")';
32
+ var close = 'url("'+thePath + 'images/chapter.gif")';
33
+ if(document.getElementById) {
34
+ var el = document.getElementById(obj);
35
+ var title = document.getElementById(obj+'Title');
36
+
37
+ if(el.style.display != "block"){
38
+ title.style.backgroundImage = open;
39
+ el.style.display = "block";
40
+ }else{
41
+ title.style.backgroundImage = close;
42
+ el.style.display = "none";
43
+ }
44
+ }// end - if(document.getElementById)
45
+ }//end - function SwitchMenu(obj)
@@ -0,0 +1 @@
1
+ The images in this directory are used if the current skin lacks them.
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one or more
3
+ * contributor license agreements. See the NOTICE file distributed with
4
+ * this work for additional information regarding copyright ownership.
5
+ * The ASF licenses this file to You under the Apache License, Version 2.0
6
+ * (the "License"); you may not use this file except in compliance with
7
+ * the License. You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * This script, when included in a html file, can be used to make collapsible menus
19
+ *
20
+ * Typical usage:
21
+ * <script type="text/javascript" language="JavaScript" src="menu.js"></script>
22
+ */
23
+
24
+ if (document.getElementById){
25
+ document.write('<style type="text/css">.menuitemgroup{display: none;}</style>')
26
+ }
27
+
28
+ function SwitchMenu(obj)
29
+ {
30
+ if(document.getElementById) {
31
+ var el = document.getElementById(obj);
32
+ var title = document.getElementById(obj+'Title');
33
+
34
+ if(obj.indexOf("_selected_")==0&&el.style.display == ""){
35
+ el.style.display = "block";
36
+ title.className = "pagegroupselected";
37
+ }
38
+
39
+ if(el.style.display != "block"){
40
+ el.style.display = "block";
41
+ title.className = "pagegroupopen";
42
+ }
43
+ else{
44
+ el.style.display = "none";
45
+ title.className = "pagegroup";
46
+ }
47
+ }// end - if(document.getElementById)
48
+ }//end - function SwitchMenu(obj)
@@ -0,0 +1,50 @@
1
+ Notes for developer:
2
+
3
+ --Legend-------------------
4
+ TODO -> blocker
5
+ DONE -> blocker
6
+ ToDo -> enhancement bug
7
+ done -> enhancement bug
8
+
9
+ --Issues-------------------
10
+ - the corner images should be rendered through svg with the header color.
11
+ -> DONE
12
+ -> ToDo: get rid of the images and use only divs!
13
+
14
+ - the menu points should be displayed "better".
15
+ -> DONE
16
+ -- Use the krysalis-site menu approach for the overall menu display.
17
+ -> DONE
18
+ -- Use the old lenya innermenu approch to further enhance the menu .
19
+ -> DONE
20
+
21
+ - the content area needs some attention.
22
+ -> DONE
23
+ -- introduce the heading scheme from krysalis (<headings type="clean|box|underlined"/>)
24
+ -> DONE
25
+ -> ToDo: make box with round corners
26
+ -> done: make underlined with variable border height
27
+ -> ToDo: make underline with bottom round corner
28
+ -- introduce the toc for each html-page
29
+ -> DONE
30
+ -- introduce the external-link-images.
31
+ -> DONE
32
+
33
+ - the publish note should be where now only a border is.
34
+ Like <div id="published"/>
35
+ -> DONE
36
+ , but make it configurable.
37
+ -> DONE
38
+ - footer needs some attention
39
+ -> DONE
40
+ -- the footer do not have the color profile! Enable it!
41
+ -> DONE
42
+ -- the footer should as well contain a feedback link.
43
+ See http://issues.apache.org/eyebrowse/ReadMsg?listName=forrest-user@xml.apache.org&msgNo=71
44
+ -> DONE
45
+
46
+ - introduce credits alternativ location
47
+ -> DONE
48
+
49
+ - border for published / breadtrail / menu /tab divs
50
+ -> ToDo
@@ -0,0 +1,54 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one or more
3
+ * contributor license agreements. See the NOTICE file distributed with
4
+ * this work for additional information regarding copyright ownership.
5
+ * The ASF licenses this file to You under the Apache License, Version 2.0
6
+ * (the "License"); you may not use this file except in compliance with
7
+ * the License. You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ body {
18
+ font-family: Georgia, Palatino, serif;
19
+ font-size: 12pt;
20
+ background: white;
21
+ }
22
+
23
+ #tabs,
24
+ #menu,
25
+ #content .toc {
26
+ display: none;
27
+ }
28
+
29
+ #content {
30
+ width: auto;
31
+ padding: 0;
32
+ float: none !important;
33
+ color: black;
34
+ background: inherit;
35
+ }
36
+
37
+ a:link, a:visited {
38
+ color: #336699;
39
+ background: inherit;
40
+ text-decoration: underline;
41
+ }
42
+
43
+ #top .logo {
44
+ padding: 0;
45
+ margin: 0 0 2em 0;
46
+ }
47
+
48
+ #footer {
49
+ margin-top: 4em;
50
+ }
51
+
52
+ acronym {
53
+ border: 0;
54
+ }