fastout 0.0.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/.gitignore +4 -0
- data/.rspec +2 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +38 -0
- data/MIT-LICENSE +20 -0
- data/README.md +8 -0
- data/Rakefile +2 -0
- data/doc/classes/Fastout.html +105 -0
- data/doc/classes/Ranker.html +468 -0
- data/doc/classes/Ranker.src/M000001.html +18 -0
- data/doc/classes/Ranker.src/M000002.html +22 -0
- data/doc/classes/Ranker.src/M000003.html +42 -0
- data/doc/classes/Ranker.src/M000004.html +21 -0
- data/doc/classes/Ranker.src/M000005.html +28 -0
- data/doc/classes/Ranker.src/M000006.html +35 -0
- data/doc/classes/Ranker.src/M000007.html +18 -0
- data/doc/classes/Ranker.src/M000008.html +18 -0
- data/doc/classes/Ranker.src/M000009.html +33 -0
- data/doc/classes/Ranker.src/M000010.html +18 -0
- data/doc/classes/Ranker.src/M000011.html +22 -0
- data/doc/classes/Ranker.src/M000012.html +24 -0
- data/doc/classes/Ranker.src/M000013.html +28 -0
- data/doc/classes/Ranker.src/M000014.html +20 -0
- data/doc/classes/Ranker.src/M000015.html +19 -0
- data/doc/classes/Ranker/Point.html +262 -0
- data/doc/classes/Ranker/Point.src/M000016.html +18 -0
- data/doc/classes/Ranker/Point.src/M000017.html +24 -0
- data/doc/classes/Ranker/Point.src/M000018.html +18 -0
- data/doc/classes/Ranker/Point.src/M000019.html +18 -0
- data/doc/classes/Ranker/Point.src/M000020.html +18 -0
- data/doc/classes/Ranker/Point.src/M000021.html +26 -0
- data/doc/classes/Ranker/Point.src/M000022.html +18 -0
- data/doc/created.rid +1 -0
- data/doc/files/lib/fastout/ranker_rb.html +121 -0
- data/doc/files/lib/fastout/version_rb.html +101 -0
- data/doc/files/lib/fastout_rb.html +108 -0
- data/doc/files/spec/fastout/ranker_spec_rb.html +109 -0
- data/doc/files/spec/spec_helper_rb.html +110 -0
- data/doc/fr_class_index.html +29 -0
- data/doc/fr_file_index.html +28 -0
- data/doc/fr_method_index.html +48 -0
- data/doc/index.html +24 -0
- data/doc/rdoc-style.css +208 -0
- data/fastout.gemspec +29 -0
- data/lib/fastout.rb +1 -0
- data/lib/fastout/ranker.rb +243 -0
- data/lib/fastout/version.rb +3 -0
- data/spec/fastout/ranker_spec.rb +252 -0
- data/spec/parkinsons.csv +1 -0
- data/spec/spec_helper.rb +9 -0
- metadata +217 -0
data/.gitignore
ADDED
data/.rspec
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
fastout (0.0.1)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: http://rubygems.org/
|
8
|
+
specs:
|
9
|
+
autotest (4.4.5)
|
10
|
+
autotest-fsevent (0.2.3)
|
11
|
+
sys-uname
|
12
|
+
autotest-growl (0.2.6)
|
13
|
+
diff-lcs (1.1.2)
|
14
|
+
fastercsv (1.5.3)
|
15
|
+
redgreen (1.2.2)
|
16
|
+
rr (1.0.2)
|
17
|
+
rspec (2.1.0)
|
18
|
+
rspec-core (~> 2.1.0)
|
19
|
+
rspec-expectations (~> 2.1.0)
|
20
|
+
rspec-mocks (~> 2.1.0)
|
21
|
+
rspec-core (2.1.0)
|
22
|
+
rspec-expectations (2.1.0)
|
23
|
+
diff-lcs (~> 1.1.2)
|
24
|
+
rspec-mocks (2.1.0)
|
25
|
+
sys-uname (0.8.4)
|
26
|
+
|
27
|
+
PLATFORMS
|
28
|
+
ruby
|
29
|
+
|
30
|
+
DEPENDENCIES
|
31
|
+
autotest
|
32
|
+
autotest-fsevent
|
33
|
+
autotest-growl
|
34
|
+
fastercsv
|
35
|
+
fastout!
|
36
|
+
redgreen
|
37
|
+
rr
|
38
|
+
rspec (~> 2.0)
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2004-2010 David Heinemeier Hansson
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
FastOut
|
2
|
+
=======
|
3
|
+
|
4
|
+
Outlier detection using the FASTOUT algorithm by Foss et al. [FZ10] in Ruby!
|
5
|
+
|
6
|
+
References
|
7
|
+
==========
|
8
|
+
[FZ10] Andrew Foss and Osmar R. Zaıäne. Class separation through variance: a new application of outlier detection. Knowledge and Information Systems, 2010.
|
data/Rakefile
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>Module: Fastout</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="classHeader">
|
50
|
+
<table class="header-table">
|
51
|
+
<tr class="top-aligned-row">
|
52
|
+
<td><strong>Module</strong></td>
|
53
|
+
<td class="class-name-in-header">Fastout</td>
|
54
|
+
</tr>
|
55
|
+
<tr class="top-aligned-row">
|
56
|
+
<td><strong>In:</strong></td>
|
57
|
+
<td>
|
58
|
+
<a href="../files/spec/fastout/ranker_spec_rb.html">
|
59
|
+
spec/fastout/ranker_spec.rb
|
60
|
+
</a>
|
61
|
+
<br />
|
62
|
+
</td>
|
63
|
+
</tr>
|
64
|
+
|
65
|
+
</table>
|
66
|
+
</div>
|
67
|
+
<!-- banner header -->
|
68
|
+
|
69
|
+
<div id="bodyContent">
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
<div id="contextContent">
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
</div>
|
78
|
+
|
79
|
+
|
80
|
+
</div>
|
81
|
+
|
82
|
+
|
83
|
+
<!-- if includes -->
|
84
|
+
|
85
|
+
<div id="section">
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
<!-- if method_list -->
|
95
|
+
|
96
|
+
|
97
|
+
</div>
|
98
|
+
|
99
|
+
|
100
|
+
<div id="validator-badges">
|
101
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
102
|
+
</div>
|
103
|
+
|
104
|
+
</body>
|
105
|
+
</html>
|
@@ -0,0 +1,468 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>Class: Ranker</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="classHeader">
|
50
|
+
<table class="header-table">
|
51
|
+
<tr class="top-aligned-row">
|
52
|
+
<td><strong>Class</strong></td>
|
53
|
+
<td class="class-name-in-header">Ranker</td>
|
54
|
+
</tr>
|
55
|
+
<tr class="top-aligned-row">
|
56
|
+
<td><strong>In:</strong></td>
|
57
|
+
<td>
|
58
|
+
<a href="../files/lib/fastout/ranker_rb.html">
|
59
|
+
lib/fastout/ranker.rb
|
60
|
+
</a>
|
61
|
+
<br />
|
62
|
+
</td>
|
63
|
+
</tr>
|
64
|
+
|
65
|
+
<tr class="top-aligned-row">
|
66
|
+
<td><strong>Parent:</strong></td>
|
67
|
+
<td>
|
68
|
+
Object
|
69
|
+
</td>
|
70
|
+
</tr>
|
71
|
+
</table>
|
72
|
+
</div>
|
73
|
+
<!-- banner header -->
|
74
|
+
|
75
|
+
<div id="bodyContent">
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
<div id="contextContent">
|
80
|
+
|
81
|
+
<div id="description">
|
82
|
+
<p>
|
83
|
+
Takes a data set and determines the outliers using the FASTOUT algorithm
|
84
|
+
from Foss et al., "Class Separation through Variance: a <a
|
85
|
+
href="Ranker.html#M000002">new</a> application of outlier detection",
|
86
|
+
Knowledge and Information Systems, 2010.
|
87
|
+
</p>
|
88
|
+
<table>
|
89
|
+
<tr><td valign="top">Author:</td><td>Jason Dew (<a href="mailto:jason.dew@gmail.com">jason.dew@gmail.com</a>)
|
90
|
+
|
91
|
+
</td></tr>
|
92
|
+
<tr><td valign="top">Copyright:</td><td>Copyright (c) 2010 Jason Dew
|
93
|
+
|
94
|
+
</td></tr>
|
95
|
+
<tr><td valign="top">License:</td><td>MIT
|
96
|
+
|
97
|
+
</td></tr>
|
98
|
+
</table>
|
99
|
+
|
100
|
+
</div>
|
101
|
+
|
102
|
+
|
103
|
+
</div>
|
104
|
+
|
105
|
+
<div id="method-list">
|
106
|
+
<h3 class="section-bar">Methods</h3>
|
107
|
+
|
108
|
+
<div class="name-list">
|
109
|
+
<a href="#M000011">assign_points_to_bins!</a>
|
110
|
+
<a href="#M000012">bin_index</a>
|
111
|
+
<a href="#M000004">calculate_theta</a>
|
112
|
+
<a href="#M000008">cluster_neighbors</a>
|
113
|
+
<a href="#M000015">compute_bin_count</a>
|
114
|
+
<a href="#M000014">compute_bin_widths</a>
|
115
|
+
<a href="#M000013">compute_minimums_and_maximums</a>
|
116
|
+
<a href="#M000002">new</a>
|
117
|
+
<a href="#M000003">optimized_ranking</a>
|
118
|
+
<a href="#M000001">pointify</a>
|
119
|
+
<a href="#M000007">random_attribute_indexes</a>
|
120
|
+
<a href="#M000005">ranked_outliers</a>
|
121
|
+
<a href="#M000009">recursively_cluster_neighbors</a>
|
122
|
+
<a href="#M000006">score_points_from_a_random_set_of_attributes!</a>
|
123
|
+
<a href="#M000010">unclustered_points</a>
|
124
|
+
</div>
|
125
|
+
</div>
|
126
|
+
|
127
|
+
</div>
|
128
|
+
|
129
|
+
|
130
|
+
<!-- if includes -->
|
131
|
+
|
132
|
+
<div id="section">
|
133
|
+
|
134
|
+
<div id="class-list">
|
135
|
+
<h3 class="section-bar">Classes and Modules</h3>
|
136
|
+
|
137
|
+
Class <a href="Ranker/Point.html" class="link">Ranker::Point</a><br />
|
138
|
+
|
139
|
+
</div>
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
<div id="attribute-list">
|
145
|
+
<h3 class="section-bar">Attributes</h3>
|
146
|
+
|
147
|
+
<div class="name-list">
|
148
|
+
<table>
|
149
|
+
<tr class="top-aligned-row context-row">
|
150
|
+
<td class="context-item-name">data</td>
|
151
|
+
<td class="context-item-value"> [R] </td>
|
152
|
+
<td class="context-item-desc"></td>
|
153
|
+
</tr>
|
154
|
+
<tr class="top-aligned-row context-row">
|
155
|
+
<td class="context-item-name">maximums</td>
|
156
|
+
<td class="context-item-value"> [R] </td>
|
157
|
+
<td class="context-item-desc"></td>
|
158
|
+
</tr>
|
159
|
+
<tr class="top-aligned-row context-row">
|
160
|
+
<td class="context-item-name">minimums</td>
|
161
|
+
<td class="context-item-value"> [R] </td>
|
162
|
+
<td class="context-item-desc"></td>
|
163
|
+
</tr>
|
164
|
+
<tr class="top-aligned-row context-row">
|
165
|
+
<td class="context-item-name">points</td>
|
166
|
+
<td class="context-item-value"> [R] </td>
|
167
|
+
<td class="context-item-desc"></td>
|
168
|
+
</tr>
|
169
|
+
</table>
|
170
|
+
</div>
|
171
|
+
</div>
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
<!-- if method_list -->
|
176
|
+
<div id="methods">
|
177
|
+
<h3 class="section-bar">Public Class methods</h3>
|
178
|
+
|
179
|
+
<div id="method-M000002" class="method-detail">
|
180
|
+
<a name="M000002"></a>
|
181
|
+
|
182
|
+
<div class="method-heading">
|
183
|
+
<a href="Ranker.src/M000002.html" target="Code" class="method-signature"
|
184
|
+
onclick="popupCode('Ranker.src/M000002.html');return false;">
|
185
|
+
<span class="method-name">new</span><span class="method-args">(data)</span>
|
186
|
+
</a>
|
187
|
+
</div>
|
188
|
+
|
189
|
+
<div class="method-description">
|
190
|
+
<p>
|
191
|
+
takes a 2-d array, <tt>data</tt>, where the rows are data points and the
|
192
|
+
columns are the attributes, values should all be numerical
|
193
|
+
</p>
|
194
|
+
<ul>
|
195
|
+
<li><tt>data</tt> should not be empty or nil will be returned
|
196
|
+
|
197
|
+
</li>
|
198
|
+
<li>also generates minimum and maximum values for each attribute for later use
|
199
|
+
|
200
|
+
</li>
|
201
|
+
</ul>
|
202
|
+
</div>
|
203
|
+
</div>
|
204
|
+
|
205
|
+
<div id="method-M000001" class="method-detail">
|
206
|
+
<a name="M000001"></a>
|
207
|
+
|
208
|
+
<div class="method-heading">
|
209
|
+
<a href="Ranker.src/M000001.html" target="Code" class="method-signature"
|
210
|
+
onclick="popupCode('Ranker.src/M000001.html');return false;">
|
211
|
+
<span class="method-name">pointify</span><span class="method-args">(data)</span>
|
212
|
+
</a>
|
213
|
+
</div>
|
214
|
+
|
215
|
+
<div class="method-description">
|
216
|
+
</div>
|
217
|
+
</div>
|
218
|
+
|
219
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
220
|
+
|
221
|
+
<div id="method-M000011" class="method-detail">
|
222
|
+
<a name="M000011"></a>
|
223
|
+
|
224
|
+
<div class="method-heading">
|
225
|
+
<a href="Ranker.src/M000011.html" target="Code" class="method-signature"
|
226
|
+
onclick="popupCode('Ranker.src/M000011.html');return false;">
|
227
|
+
<span class="method-name">assign_points_to_bins!</span><span class="method-args">(bin_widths, bin_count)</span>
|
228
|
+
</a>
|
229
|
+
</div>
|
230
|
+
|
231
|
+
<div class="method-description">
|
232
|
+
<p>
|
233
|
+
assign each of the data points to a bin based on the given
|
234
|
+
<tt>bin_widths</tt>, returns a 2-d array in attribute-major order
|
235
|
+
</p>
|
236
|
+
</div>
|
237
|
+
</div>
|
238
|
+
|
239
|
+
<div id="method-M000012" class="method-detail">
|
240
|
+
<a name="M000012"></a>
|
241
|
+
|
242
|
+
<div class="method-heading">
|
243
|
+
<a href="Ranker.src/M000012.html" target="Code" class="method-signature"
|
244
|
+
onclick="popupCode('Ranker.src/M000012.html');return false;">
|
245
|
+
<span class="method-name">bin_index</span><span class="method-args">(point, attribute_index, bin_width)</span>
|
246
|
+
</a>
|
247
|
+
</div>
|
248
|
+
|
249
|
+
<div class="method-description">
|
250
|
+
</div>
|
251
|
+
</div>
|
252
|
+
|
253
|
+
<div id="method-M000004" class="method-detail">
|
254
|
+
<a name="M000004"></a>
|
255
|
+
|
256
|
+
<div class="method-heading">
|
257
|
+
<a href="Ranker.src/M000004.html" target="Code" class="method-signature"
|
258
|
+
onclick="popupCode('Ranker.src/M000004.html');return false;">
|
259
|
+
<span class="method-name">calculate_theta</span><span class="method-args">(sample, k, n, q)</span>
|
260
|
+
</a>
|
261
|
+
</div>
|
262
|
+
|
263
|
+
<div class="method-description">
|
264
|
+
<p>
|
265
|
+
find and rank the points by their outlier score and determine theta (the
|
266
|
+
number of points with an outlier score of <tt>n</tt>)
|
267
|
+
</p>
|
268
|
+
</div>
|
269
|
+
</div>
|
270
|
+
|
271
|
+
<div id="method-M000008" class="method-detail">
|
272
|
+
<a name="M000008"></a>
|
273
|
+
|
274
|
+
<div class="method-heading">
|
275
|
+
<a href="Ranker.src/M000008.html" target="Code" class="method-signature"
|
276
|
+
onclick="popupCode('Ranker.src/M000008.html');return false;">
|
277
|
+
<span class="method-name">cluster_neighbors</span><span class="method-args">(point, cluster, attribute_indexes, bin_widths)</span>
|
278
|
+
</a>
|
279
|
+
</div>
|
280
|
+
|
281
|
+
<div class="method-description">
|
282
|
+
<p>
|
283
|
+
find all unclustered points that are neighbors of <tt>point</tt> on
|
284
|
+
<b>all</b> selected attributes or neighbors in the neighborhood of
|
285
|
+
<tt>point</tt>; find recursively until no additions can be made
|
286
|
+
</p>
|
287
|
+
</div>
|
288
|
+
</div>
|
289
|
+
|
290
|
+
<div id="method-M000015" class="method-detail">
|
291
|
+
<a name="M000015"></a>
|
292
|
+
|
293
|
+
<div class="method-heading">
|
294
|
+
<a href="Ranker.src/M000015.html" target="Code" class="method-signature"
|
295
|
+
onclick="popupCode('Ranker.src/M000015.html');return false;">
|
296
|
+
<span class="method-name">compute_bin_count</span><span class="method-args">(q)</span>
|
297
|
+
</a>
|
298
|
+
</div>
|
299
|
+
|
300
|
+
<div class="method-description">
|
301
|
+
<p>
|
302
|
+
compute the number of bins for a given <tt>q</tt>
|
303
|
+
</p>
|
304
|
+
</div>
|
305
|
+
</div>
|
306
|
+
|
307
|
+
<div id="method-M000014" class="method-detail">
|
308
|
+
<a name="M000014"></a>
|
309
|
+
|
310
|
+
<div class="method-heading">
|
311
|
+
<a href="Ranker.src/M000014.html" target="Code" class="method-signature"
|
312
|
+
onclick="popupCode('Ranker.src/M000014.html');return false;">
|
313
|
+
<span class="method-name">compute_bin_widths</span><span class="method-args">(q, bin_count)</span>
|
314
|
+
</a>
|
315
|
+
</div>
|
316
|
+
|
317
|
+
<div class="method-description">
|
318
|
+
<p>
|
319
|
+
determine the widths of the bins based on <tt>q</tt>
|
320
|
+
</p>
|
321
|
+
</div>
|
322
|
+
</div>
|
323
|
+
|
324
|
+
<div id="method-M000013" class="method-detail">
|
325
|
+
<a name="M000013"></a>
|
326
|
+
|
327
|
+
<div class="method-heading">
|
328
|
+
<a href="Ranker.src/M000013.html" target="Code" class="method-signature"
|
329
|
+
onclick="popupCode('Ranker.src/M000013.html');return false;">
|
330
|
+
<span class="method-name">compute_minimums_and_maximums</span><span class="method-args">()</span>
|
331
|
+
</a>
|
332
|
+
</div>
|
333
|
+
|
334
|
+
<div class="method-description">
|
335
|
+
</div>
|
336
|
+
</div>
|
337
|
+
|
338
|
+
<div id="method-M000003" class="method-detail">
|
339
|
+
<a name="M000003"></a>
|
340
|
+
|
341
|
+
<div class="method-heading">
|
342
|
+
<a href="Ranker.src/M000003.html" target="Code" class="method-signature"
|
343
|
+
onclick="popupCode('Ranker.src/M000003.html');return false;">
|
344
|
+
<span class="method-name">optimized_ranking</span><span class="method-args">(sample, n, theta_target=1)</span>
|
345
|
+
</a>
|
346
|
+
</div>
|
347
|
+
|
348
|
+
<div class="method-description">
|
349
|
+
<p>
|
350
|
+
searches the parameter space to find the optimized values of <tt>k</tt> and
|
351
|
+
<tt>q</tt>
|
352
|
+
</p>
|
353
|
+
<ul>
|
354
|
+
<li><tt>theta_target</tt> is the maximum acceptable value of theta, default is
|
355
|
+
1
|
356
|
+
|
357
|
+
</li>
|
358
|
+
<li><tt>sample</tt> is the number of iterations to perform in estimating the
|
359
|
+
parameters
|
360
|
+
|
361
|
+
</li>
|
362
|
+
<li><tt>n</tt> is the number of points to rank
|
363
|
+
|
364
|
+
</li>
|
365
|
+
</ul>
|
366
|
+
</div>
|
367
|
+
</div>
|
368
|
+
|
369
|
+
<div id="method-M000007" class="method-detail">
|
370
|
+
<a name="M000007"></a>
|
371
|
+
|
372
|
+
<div class="method-heading">
|
373
|
+
<a href="Ranker.src/M000007.html" target="Code" class="method-signature"
|
374
|
+
onclick="popupCode('Ranker.src/M000007.html');return false;">
|
375
|
+
<span class="method-name">random_attribute_indexes</span><span class="method-args">(number)</span>
|
376
|
+
</a>
|
377
|
+
</div>
|
378
|
+
|
379
|
+
<div class="method-description">
|
380
|
+
<p>
|
381
|
+
randomly choose <tt>number</tt> of attribute indexes
|
382
|
+
</p>
|
383
|
+
</div>
|
384
|
+
</div>
|
385
|
+
|
386
|
+
<div id="method-M000005" class="method-detail">
|
387
|
+
<a name="M000005"></a>
|
388
|
+
|
389
|
+
<div class="method-heading">
|
390
|
+
<a href="Ranker.src/M000005.html" target="Code" class="method-signature"
|
391
|
+
onclick="popupCode('Ranker.src/M000005.html');return false;">
|
392
|
+
<span class="method-name">ranked_outliers</span><span class="method-args">(sample_size, k, q)</span>
|
393
|
+
</a>
|
394
|
+
</div>
|
395
|
+
|
396
|
+
<div class="method-description">
|
397
|
+
<p>
|
398
|
+
chooses <tt>k</tt> random attributes with an average of <tt>q</tt> data
|
399
|
+
points in each bin <tt>sample</tt> times to determine outliers
|
400
|
+
</p>
|
401
|
+
</div>
|
402
|
+
</div>
|
403
|
+
|
404
|
+
<div id="method-M000009" class="method-detail">
|
405
|
+
<a name="M000009"></a>
|
406
|
+
|
407
|
+
<div class="method-heading">
|
408
|
+
<a href="Ranker.src/M000009.html" target="Code" class="method-signature"
|
409
|
+
onclick="popupCode('Ranker.src/M000009.html');return false;">
|
410
|
+
<span class="method-name">recursively_cluster_neighbors</span><span class="method-args">(point, cluster, attribute_indexes, bin_widths, neighbors)</span>
|
411
|
+
</a>
|
412
|
+
</div>
|
413
|
+
|
414
|
+
<div class="method-description">
|
415
|
+
<p>
|
416
|
+
recursive step of <a href="Ranker.html#M000008">cluster_neighbors</a>
|
417
|
+
</p>
|
418
|
+
</div>
|
419
|
+
</div>
|
420
|
+
|
421
|
+
<div id="method-M000006" class="method-detail">
|
422
|
+
<a name="M000006"></a>
|
423
|
+
|
424
|
+
<div class="method-heading">
|
425
|
+
<a href="Ranker.src/M000006.html" target="Code" class="method-signature"
|
426
|
+
onclick="popupCode('Ranker.src/M000006.html');return false;">
|
427
|
+
<span class="method-name">score_points_from_a_random_set_of_attributes!</span><span class="method-args">(number_of_attributes_to_choose, all_bin_widths)</span>
|
428
|
+
</a>
|
429
|
+
</div>
|
430
|
+
|
431
|
+
<div class="method-description">
|
432
|
+
<p>
|
433
|
+
pick a random set of attributes and compute the outlier score for each of
|
434
|
+
the points
|
435
|
+
</p>
|
436
|
+
</div>
|
437
|
+
</div>
|
438
|
+
|
439
|
+
<div id="method-M000010" class="method-detail">
|
440
|
+
<a name="M000010"></a>
|
441
|
+
|
442
|
+
<div class="method-heading">
|
443
|
+
<a href="Ranker.src/M000010.html" target="Code" class="method-signature"
|
444
|
+
onclick="popupCode('Ranker.src/M000010.html');return false;">
|
445
|
+
<span class="method-name">unclustered_points</span><span class="method-args">()</span>
|
446
|
+
</a>
|
447
|
+
</div>
|
448
|
+
|
449
|
+
<div class="method-description">
|
450
|
+
<p>
|
451
|
+
find all of the points that don‘t already belong to a cluster
|
452
|
+
</p>
|
453
|
+
</div>
|
454
|
+
</div>
|
455
|
+
|
456
|
+
|
457
|
+
</div>
|
458
|
+
|
459
|
+
|
460
|
+
</div>
|
461
|
+
|
462
|
+
|
463
|
+
<div id="validator-badges">
|
464
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
465
|
+
</div>
|
466
|
+
|
467
|
+
</body>
|
468
|
+
</html>
|