naivebayes 0.0.2 → 0.0.3

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6bbec8539369ff2f707fd59440b444cbd2a71e9f
4
+ data.tar.gz: 8b0fa15a8dec7d4e314c60cff086074f48f37115
5
+ SHA512:
6
+ metadata.gz: a3210aff3d52771134877dd65b4a9cf524dfd6a754f523eb708b85da4e651e00435b97be6fcca66e63fb2aa37313706012eab99405e940f2d20cd316e8ec43cc
7
+ data.tar.gz: d25b10280650406e9e33566641d9c5c9846a59a2fd81f8da9d38d147774174d348e2a43624946154b962c6b6aa98bade8aaebd2c35fcafb3cc54f4f6c075139f
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
data/demo.rb CHANGED
@@ -1,7 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
- require 'naivebayes'
4
+ $:.unshift File.join(File.dirname(__FILE__))
5
+
6
+ require 'lib/naivebayes'
5
7
 
6
8
  puts "--- The Bernoulli model ---"
7
9
  classifier = NaiveBayes::Classifier.new(:model => "berounoulli")
@@ -1,3 +1,10 @@
1
+ === 0.0.3 / 2013-12-13
2
+
3
+ * Accessable instance variable.
4
+
5
+ * Improvement specs.
6
+
7
+
1
8
  === 0.0.2 / 2013-07-09
2
9
 
3
10
  * Append tutorial, demo script.
@@ -2,6 +2,6 @@
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
4
  module NaiveBayes
5
- VERSION = "0.0.1"
6
5
  require File.dirname(__FILE__) + "/naivebayes/classifier"
6
+ require File.dirname(__FILE__) + "/naivebayes/version"
7
7
  end
@@ -3,6 +3,8 @@
3
3
 
4
4
  module NaiveBayes
5
5
  class Classifier
6
+ attr_accessor :frequency_table, :word_table, :instance_count_of, :total_count, :model
7
+
6
8
  def initialize(params = {})
7
9
  @frequency_table = Hash.new
8
10
  @word_table = Hash.new
@@ -0,0 +1,10 @@
1
+ # Name:: NaiveBayes::Version
2
+ # Author:: 774 <http://id774.net>
3
+ # Created:: Nov 24, 2013
4
+ # Updated:: Dec 13, 2013
5
+ # Copyright:: 774 Copyright (c) 2013
6
+ # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
7
+
8
+ module NaiveBayes
9
+ VERSION = "0.0.3"
10
+ end
@@ -2,14 +2,15 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: naivebayes 0.0.3 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "naivebayes"
8
- s.version = "0.0.2"
9
+ s.version = "0.0.3"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
12
  s.authors = ["id774"]
12
- s.date = "2013-07-09"
13
+ s.date = "2013-12-13"
13
14
  s.description = "Naive Bayes classifier"
14
15
  s.email = "idnanashi@gmail.com"
15
16
  s.extra_rdoc_files = [
@@ -29,6 +30,7 @@ Gem::Specification.new do |s|
29
30
  "doc/README",
30
31
  "lib/naivebayes.rb",
31
32
  "lib/naivebayes/classifier.rb",
33
+ "lib/naivebayes/version.rb",
32
34
  "naivebayes.gemspec",
33
35
  "script/build",
34
36
  "spec/lib/naivebayes/classifier_spec.rb",
@@ -39,11 +41,11 @@ Gem::Specification.new do |s|
39
41
  s.homepage = "http://github.com/id774/naivebayes"
40
42
  s.licenses = ["GPL"]
41
43
  s.require_paths = ["lib"]
42
- s.rubygems_version = "1.8.24"
44
+ s.rubygems_version = "2.1.11"
43
45
  s.summary = "naivebayes"
44
46
 
45
47
  if s.respond_to? :specification_version then
46
- s.specification_version = 3
48
+ s.specification_version = 4
47
49
 
48
50
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
49
51
  s.add_development_dependency(%q<cucumber>, [">= 0"])
@@ -3,158 +3,399 @@
3
3
 
4
4
  require File.dirname(__FILE__) + '/../../spec_helper'
5
5
 
6
- def train_by_2
7
- @classifier.train("positive", {"aaa" => 0, "bbb" => 1})
8
- @classifier.train("negative", {"ccc" => 2, "ddd" => 3})
9
- end
6
+ describe NaiveBayes::Classifier do
7
+ describe '#initialize' do
8
+ context '@frequency_table with berounoulli model' do
9
+ subject { classifier.frequency_table }
10
+
11
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "berounoulli") }
12
+
13
+ it 'should return frequency table' do
14
+ classifier.train("positive", {"aaa" => 0, "bbb" => 1})
15
+ classifier.train("negative", {"ccc" => 2, "ddd" => 3})
16
+ classifier.train("positive", {"aaa" => 1, "bbb" => 2})
17
+ classifier.train("negative", {"ccc" => 3, "ddd" => 4})
18
+
19
+ expected = {
20
+ "positive" => {"aaa" => 2, "bbb" => 2},
21
+ "negative" => {"ccc" => 2, "ddd" => 2}
22
+ }
23
+
24
+ expect(subject).to eq expected
25
+ end
26
+ end
27
+
28
+ context '@frequency_table with multinomial model' do
29
+ subject { classifier.frequency_table }
30
+
31
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "multinomial") }
32
+
33
+ it 'should return frequency table' do
34
+ classifier.train("positive", {"aaa" => 0, "bbb" => 1})
35
+ classifier.train("negative", {"ccc" => 2, "ddd" => 3})
36
+ classifier.train("positive", {"aaa" => 1, "bbb" => 2})
37
+ classifier.train("negative", {"ccc" => 3, "ddd" => 4})
38
+
39
+ expected = {
40
+ "positive" => {"aaa" => 1, "bbb" => 3},
41
+ "negative" => {"ccc" => 5, "ddd" => 7}
42
+ }
43
+
44
+ expect(subject).to eq expected
45
+ end
46
+ end
47
+
48
+ context '@word_table with berounoulli model' do
49
+ subject { classifier.word_table }
50
+
51
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "berounoulli") }
52
+
53
+ it 'should return word table' do
54
+ classifier.train("positive", {"aaa" => 0, "bbb" => 1})
55
+ classifier.train("negative", {"ccc" => 2, "ddd" => 3})
56
+ classifier.train("positive", {"aaa" => 1, "bbb" => 2})
57
+ classifier.train("negative", {"ccc" => 3, "ddd" => 4})
58
+
59
+ expected = {
60
+ "aaa" => 1, "bbb" => 1,
61
+ "ccc" => 1, "ddd" => 1
62
+ }
63
+
64
+ expect(subject).to eq expected
65
+ end
66
+ end
67
+
68
+ context '@word_table with multinomial model' do
69
+ subject { classifier.word_table }
70
+
71
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "multinomial") }
72
+
73
+ it 'should return word table' do
74
+ classifier.train("positive", {"aaa" => 0, "bbb" => 1})
75
+ classifier.train("negative", {"ccc" => 2, "ddd" => 3})
76
+ classifier.train("positive", {"aaa" => 1, "bbb" => 2})
77
+ classifier.train("negative", {"ccc" => 3, "ddd" => 4})
78
+
79
+ expected = {
80
+ "aaa" => 1, "bbb" => 1,
81
+ "ccc" => 1, "ddd" => 1
82
+ }
83
+
84
+ expect(subject).to eq expected
85
+ end
86
+ end
87
+
88
+ context '@instance_count_of with berounoulli model' do
89
+ subject { classifier.instance_count_of }
90
+
91
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "berounoulli") }
92
+
93
+ it 'should return instance_count_of' do
94
+ classifier.train("positive", {"aaa" => 0, "bbb" => 1})
95
+ classifier.train("negative", {"ccc" => 2, "ddd" => 3})
96
+ classifier.train("positive", {"aaa" => 1, "bbb" => 2})
97
+ classifier.train("negative", {"ccc" => 3, "ddd" => 4})
98
+
99
+ expected = {
100
+ "positive" => 2,
101
+ "negative" => 2
102
+ }
103
+
104
+ expect(subject).to eq expected
105
+ end
106
+ end
107
+
108
+ context '@instance_count_of with multinomial model' do
109
+ subject { classifier.instance_count_of }
110
+
111
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "multinomial") }
112
+
113
+ it 'should return instance_count_of' do
114
+ classifier.train("positive", {"aaa" => 0, "bbb" => 1})
115
+ classifier.train("negative", {"ccc" => 2, "ddd" => 3})
116
+ classifier.train("positive", {"aaa" => 1, "bbb" => 2})
117
+ classifier.train("negative", {"ccc" => 3, "ddd" => 4})
118
+
119
+ expected = {
120
+ "positive" => 2,
121
+ "negative" => 2
122
+ }
123
+
124
+ expect(subject).to eq expected
125
+ end
126
+ end
127
+
128
+ context '@total_count with berounoulli model' do
129
+ subject { classifier.total_count }
130
+
131
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "berounoulli") }
132
+
133
+ it 'should return total count' do
134
+ classifier.train("positive", {"aaa" => 0, "bbb" => 1})
135
+ classifier.train("negative", {"ccc" => 2, "ddd" => 3})
136
+ classifier.train("positive", {"aaa" => 1, "bbb" => 2})
137
+ classifier.train("negative", {"ccc" => 3, "ddd" => 4})
138
+
139
+ expected = 4
140
+
141
+ expect(subject).to eq expected
142
+ end
143
+ end
144
+
145
+ context '@total_count with multinomial model' do
146
+ subject { classifier.total_count }
147
+
148
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "multinomial") }
149
+
150
+ it 'should return total count' do
151
+ classifier.train("positive", {"aaa" => 0, "bbb" => 1})
152
+ classifier.train("negative", {"ccc" => 2, "ddd" => 3})
153
+ classifier.train("positive", {"aaa" => 1, "bbb" => 2})
154
+ classifier.train("negative", {"ccc" => 3, "ddd" => 4})
155
+
156
+ expected = 4
157
+
158
+ expect(subject).to eq expected
159
+ end
160
+ end
161
+
162
+ context '@model with berounoulli model' do
163
+ subject { classifier.model }
164
+
165
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "berounoulli") }
10
166
 
11
- def train_by_3
12
- @classifier.train("positive", {"aaa" => 2, "bbb" => 1})
13
- @classifier.train("negative", {"ccc" => 2, "ddd" => 2})
14
- @classifier.train("neutral", {"eee" => 3, "fff" => 3})
167
+ it 'should return model name' do
168
+ expected = "berounoulli"
169
+ expect(subject).to eq expected
170
+ end
171
+ end
172
+
173
+ context '@model with multinomial model' do
174
+ subject { classifier.model }
175
+
176
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "multinomial") }
177
+
178
+ it 'should return model name' do
179
+ expected = "multinomial"
180
+ expect(subject).to eq expected
181
+ end
182
+ end
183
+ end
15
184
  end
16
185
 
17
- describe NaiveBayes::Classifier, 'ナイーブベイズ' do
18
- context '多変数ベルヌーイモデルにおいて' do
19
- describe '2 つの教師データで positive が期待される値を与えると' do
20
- it 'positive が返る' do
21
- @classifier = NaiveBayes::Classifier.new(:model => "berounoulli")
22
- train_by_2
23
- expect = {
186
+ describe NaiveBayes::Classifier do
187
+ describe 'The berounoulli model' do
188
+ context 'with train data of two expecting positive' do
189
+
190
+ subject { classifier.classify({"aaa" => 1, "bbb" => 1}) }
191
+
192
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "berounoulli") }
193
+
194
+ it 'should return positive' do
195
+ classifier.train("positive", {"aaa" => 0, "bbb" => 1})
196
+ classifier.train("negative", {"ccc" => 2, "ddd" => 3})
197
+
198
+ expected = {
24
199
  "positive" => 0.8767123287671234,
25
200
  "negative" => 0.12328767123287669
26
201
  }
27
- result = @classifier.classify({"aaa" => 1, "bbb" => 1})
28
- result.should == expect
202
+
203
+ expect(subject).to eq expected
29
204
  end
30
205
  end
31
- describe '2 つの教師データで negative が期待される値を与えると' do
32
- it 'negative が返る' do
33
- @classifier = NaiveBayes::Classifier.new(:model => "berounoulli")
34
- train_by_2
35
- expect = {
206
+
207
+ context 'with train data of two expecting negative' do
208
+
209
+ subject { classifier.classify({"ccc" => 3, "ddd" => 3}) }
210
+
211
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "berounoulli") }
212
+
213
+ it 'should return negative' do
214
+ classifier.train("positive", {"aaa" => 0, "bbb" => 1})
215
+ classifier.train("negative", {"ccc" => 2, "ddd" => 3})
216
+
217
+ expected = {
36
218
  "positive" => 0.12328767123287668,
37
219
  "negative" => 0.8767123287671234
38
220
  }
39
- result = @classifier.classify({"ccc" => 3, "ddd" => 3})
40
- result.should == expect
221
+
222
+ expect(subject).to eq expected
41
223
  end
42
224
  end
43
225
  end
44
226
  end
45
227
 
46
- describe NaiveBayes::Classifier, 'ナイーブベイズ' do
47
- context '多項分布モデルにおいて' do
48
- describe '2 つの教師データで positive が期待される値を与えると' do
49
- it 'positive が返る' do
50
- @classifier = NaiveBayes::Classifier.new(:model => "multinomial")
51
- train_by_2
52
- expect = {
228
+ describe NaiveBayes::Classifier do
229
+ describe 'The multinomial model' do
230
+ context 'with train data of two expecting positive' do
231
+
232
+ subject { classifier.classify({"aaa" => 1, "bbb" => 1}) }
233
+
234
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "multinomial") }
235
+
236
+ it 'should return positive' do
237
+ classifier.train("positive", {"aaa" => 0, "bbb" => 1})
238
+ classifier.train("negative", {"ccc" => 2, "ddd" => 3})
239
+
240
+ expected = {
53
241
  "positive" => 0.9411764705882353,
54
242
  "negative" => 0.05882352941176469
55
243
  }
56
- result = @classifier.classify({"aaa" => 1, "bbb" => 1})
57
- result.should == expect
244
+
245
+ expect(subject).to eq expected
58
246
  end
59
247
  end
60
- describe '2 つの教師データで negative が期待される値を与えると' do
61
- it 'negative が返る' do
62
- @classifier = NaiveBayes::Classifier.new(:model => "multinomial")
63
- train_by_2
64
- expect = {
248
+
249
+ context 'with train data of two expecting negative' do
250
+
251
+ subject { classifier.classify({"ccc" => 3, "ddd" => 3}) }
252
+
253
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "multinomial") }
254
+
255
+ it 'should return negative' do
256
+ classifier.train("positive", {"aaa" => 0, "bbb" => 1})
257
+ classifier.train("negative", {"ccc" => 2, "ddd" => 3})
258
+
259
+ expected = {
65
260
  "positive" => 0.0588235294117647,
66
261
  "negative" => 0.9411764705882353
67
262
  }
68
- result = @classifier.classify({"ccc" => 3, "ddd" => 3})
69
- result.should == expect
263
+
264
+ expect(subject).to eq expected
70
265
  end
71
266
  end
72
267
  end
73
268
  end
74
269
 
75
- describe NaiveBayes::Classifier, 'ナイーブベイズ' do
76
- context '多変数ベルヌーイモデルにおいて' do
77
- describe '3 つの教師データで positive が期待される値を与えると' do
78
- it 'positive が返る' do
79
- @classifier = NaiveBayes::Classifier.new(:model => "berounoulli")
80
- train_by_3
81
- expect = {
270
+ describe NaiveBayes::Classifier do
271
+ describe 'The berounoulli model' do
272
+ context 'with train data of three expecting positive' do
273
+
274
+ subject { classifier.classify({"aaa" => 1, "bbb" => 1}) }
275
+
276
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "berounoulli") }
277
+
278
+ it 'should return positive' do
279
+ classifier.train("positive", {"aaa" => 2, "bbb" => 1})
280
+ classifier.train("negative", {"ccc" => 2, "ddd" => 2})
281
+ classifier.train("neutral", {"eee" => 3, "fff" => 3})
282
+
283
+ expected = {
82
284
  "positive" => 0.7422680412371133,
83
285
  "negative" => 0.12886597938144329,
84
286
  "neutral" => 0.12886597938144329
85
287
  }
86
- result = @classifier.classify({"aaa" => 1, "bbb" => 1})
87
- result.should == expect
288
+
289
+ expect(subject).to eq expected
88
290
  end
89
291
  end
90
- describe '3 つの教師データで negative が期待される値を与えると' do
91
- it 'negative が返る' do
92
- @classifier = NaiveBayes::Classifier.new(:model => "berounoulli")
93
- train_by_3
94
- expect = {
292
+
293
+ context 'with train data of three expecting negative' do
294
+
295
+ subject { classifier.classify({"ccc" => 3, "ddd" => 2}) }
296
+
297
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "berounoulli") }
298
+
299
+ it 'should return negative' do
300
+ classifier.train("positive", {"aaa" => 2, "bbb" => 1})
301
+ classifier.train("negative", {"ccc" => 2, "ddd" => 2})
302
+ classifier.train("neutral", {"eee" => 3, "fff" => 3})
303
+
304
+ expected = {
95
305
  "positive" => 0.12886597938144329,
96
306
  "negative" => 0.7422680412371133,
97
307
  "neutral" => 0.12886597938144329
98
308
  }
99
- result = @classifier.classify({"ccc" => 3, "ddd" => 2})
100
- result.should == expect
309
+
310
+ expect(subject).to eq expected
101
311
  end
102
312
  end
103
- describe '3 つの教師データで neutral が期待される値を与えると' do
104
- it 'neutral が返る' do
105
- @classifier = NaiveBayes::Classifier.new(:model => "berounoulli")
106
- train_by_3
107
- expect = {
313
+
314
+ context 'with train data of three expecting neutral' do
315
+
316
+ subject { classifier.classify({"aaa" => 1, "ddd" => 2, "eee" => 3, "fff" => 1}) }
317
+
318
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "berounoulli") }
319
+
320
+ it 'should return neutral' do
321
+ classifier.train("positive", {"aaa" => 2, "bbb" => 1})
322
+ classifier.train("negative", {"ccc" => 2, "ddd" => 2})
323
+ classifier.train("neutral", {"eee" => 3, "fff" => 3})
324
+
325
+ expected = {
108
326
  "positive" => 0.2272727272727273,
109
327
  "negative" => 0.22727272727272724,
110
328
  "neutral" => 0.5454545454545455
111
329
  }
112
- result = @classifier.classify({"aaa" => 1, "ddd" => 2, "eee" => 3, "fff" => 1})
113
- result.should == expect
330
+
331
+ expect(subject).to eq expected
114
332
  end
115
333
  end
116
334
  end
117
335
  end
118
336
 
119
- describe NaiveBayes::Classifier, 'ナイーブベイズ' do
120
- context '多項分布モデルにおいて' do
121
- describe '3 つの教師データで positive が期待される値を与えると' do
122
- it 'positive が返る' do
123
- @classifier = NaiveBayes::Classifier.new(:model => "multinomial")
124
- train_by_3
125
- expect = {
337
+ describe NaiveBayes::Classifier do
338
+ describe 'The multinomial model' do
339
+ context 'with train data of three expecting positive' do
340
+
341
+ subject { classifier.classify({"aaa" => 1, "bbb" => 1}) }
342
+
343
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "multinomial") }
344
+
345
+ it 'should return positive' do
346
+ classifier.train("positive", {"aaa" => 2, "bbb" => 1})
347
+ classifier.train("negative", {"ccc" => 2, "ddd" => 2})
348
+ classifier.train("neutral", {"eee" => 3, "fff" => 3})
349
+
350
+ expected = {
126
351
  "positive" => 0.896265560165975,
127
352
  "negative" => 0.06639004149377592,
128
353
  "neutral" => 0.03734439834024896
129
354
  }
130
- result = @classifier.classify({"aaa" => 1, "bbb" => 1})
131
- result.should == expect
355
+
356
+ expect(subject).to eq expected
132
357
  end
133
358
  end
134
- describe '3 つの教師データで negative が期待される値を与えると' do
135
- it 'negative が返る' do
136
- @classifier = NaiveBayes::Classifier.new(:model => "multinomial")
137
- train_by_3
138
- expect = {
359
+
360
+ context 'with train data of three expecting negative' do
361
+
362
+ subject { classifier.classify({"ccc" => 3, "ddd" => 2}) }
363
+
364
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "multinomial") }
365
+
366
+ it 'should return negative' do
367
+ classifier.train("positive", {"aaa" => 2, "bbb" => 1})
368
+ classifier.train("negative", {"ccc" => 2, "ddd" => 2})
369
+ classifier.train("neutral", {"eee" => 3, "fff" => 3})
370
+
371
+ expected = {
139
372
  "positive" => 0.05665722379603399,
140
373
  "negative" => 0.9178470254957508,
141
374
  "neutral" => 0.0254957507082153
142
375
  }
143
- result = @classifier.classify({"ccc" => 3, "ddd" => 2})
144
- result.should == expect
376
+
377
+ expect(subject).to eq expected
145
378
  end
146
379
  end
147
- describe '3 つの教師データで neutral が期待される値を与えると' do
148
- it 'neutral が返る' do
149
- @classifier = NaiveBayes::Classifier.new(:model => "multinomial")
150
- train_by_3
151
- expect = {
380
+
381
+ context 'with train data of three expecting neutral' do
382
+
383
+ subject { classifier.classify({"aaa" => 1, "ddd" => 2, "eee" => 3, "fff" => 1}) }
384
+
385
+ let(:classifier) { NaiveBayes::Classifier.new(:model => "multinomial") }
386
+
387
+ it 'should return neutral' do
388
+ classifier.train("positive", {"aaa" => 2, "bbb" => 1})
389
+ classifier.train("negative", {"ccc" => 2, "ddd" => 2})
390
+ classifier.train("neutral", {"eee" => 3, "fff" => 3})
391
+
392
+ expected = {
152
393
  "positive" => 0.12195121951219513,
153
394
  "negative" => 0.09756097560975606,
154
395
  "neutral" => 0.7804878048780488
155
396
  }
156
- result = @classifier.classify({"aaa" => 1, "ddd" => 2, "eee" => 3, "fff" => 1})
157
- result.should == expect
397
+
398
+ expect(subject).to eq expected
158
399
  end
159
400
  end
160
401
  end
@@ -3,11 +3,9 @@
3
3
  require File.dirname(__FILE__) + '/../spec_helper'
4
4
 
5
5
  describe NaiveBayes do
6
- context 'のバージョンを参照した場合' do
7
- it "バージョンが正しく表示される" do
8
- expect = '0.0.1'
9
- NaiveBayes.const_get(:VERSION).should be_true
10
- NaiveBayes.const_get(:VERSION).should == expect
11
- end
6
+ context "VERSION" do
7
+ subject { NaiveBayes::VERSION }
8
+
9
+ it { expect(subject).to eq "0.0.3" }
12
10
  end
13
11
  end
metadata CHANGED
@@ -1,62 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: naivebayes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
4
+ version: 0.0.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - id774
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-07-09 00:00:00.000000000 Z
11
+ date: 2013-12-13 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: cucumber
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: bundler
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: jeweler
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  description: Naive Bayes classifier
@@ -79,6 +72,7 @@ files:
79
72
  - doc/README
80
73
  - lib/naivebayes.rb
81
74
  - lib/naivebayes/classifier.rb
75
+ - lib/naivebayes/version.rb
82
76
  - naivebayes.gemspec
83
77
  - script/build
84
78
  - spec/lib/naivebayes/classifier_spec.rb
@@ -88,26 +82,25 @@ files:
88
82
  homepage: http://github.com/id774/naivebayes
89
83
  licenses:
90
84
  - GPL
85
+ metadata: {}
91
86
  post_install_message:
92
87
  rdoc_options: []
93
88
  require_paths:
94
89
  - lib
95
90
  required_ruby_version: !ruby/object:Gem::Requirement
96
- none: false
97
91
  requirements:
98
- - - ! '>='
92
+ - - '>='
99
93
  - !ruby/object:Gem::Version
100
94
  version: '0'
101
95
  required_rubygems_version: !ruby/object:Gem::Requirement
102
- none: false
103
96
  requirements:
104
- - - ! '>='
97
+ - - '>='
105
98
  - !ruby/object:Gem::Version
106
99
  version: '0'
107
100
  requirements: []
108
101
  rubyforge_project:
109
- rubygems_version: 1.8.24
102
+ rubygems_version: 2.1.11
110
103
  signing_key:
111
- specification_version: 3
104
+ specification_version: 4
112
105
  summary: naivebayes
113
106
  test_files: []