rumale 0.23.1 → 0.23.2

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.
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ostruct'
4
3
  require 'rumale/base/base_estimator'
5
4
  require 'rumale/base/cluster_analyzer'
6
5
  require 'rumale/pairwise_metric'
@@ -108,7 +107,28 @@ module Rumale
108
107
  end
109
108
  end
110
109
 
111
- private_constant :UnionFind
110
+ # @!visibility private
111
+ class Node
112
+ # @!visibility private
113
+ attr_reader :x, :y, :weight, :n_elements
114
+
115
+ # @!visibility private
116
+ def initialize(x:, y:, weight:, n_elements: 0)
117
+ @x = x
118
+ @y = y
119
+ @weight = weight
120
+ @n_elements = n_elements
121
+ end
122
+
123
+ # @!visibility private
124
+ def ==(other)
125
+ # :nocov:
126
+ x == other.x && y == other.y && weight == other.weight && n_elements == other.n_elements
127
+ # :nocov:
128
+ end
129
+ end
130
+
131
+ private_constant :UnionFind, :Node
112
132
 
113
133
  def partial_fit(distance_mat)
114
134
  mr_distance_mat = mutual_reachability_distances(distance_mat, @params[:min_samples])
@@ -161,30 +181,30 @@ module Rumale
161
181
 
162
182
  if n_x_elements >= min_cluster_size && n_y_elements >= min_cluster_size
163
183
  relabel[edge.x] = next_label
164
- res.push(OpenStruct.new(x: relabel[n_id], y: relabel[edge.x], weight: density, n_elements: n_x_elements))
184
+ res.push(Node.new(x: relabel[n_id], y: relabel[edge.x], weight: density, n_elements: n_x_elements))
165
185
  next_label += 1
166
186
  relabel[edge.y] = next_label
167
- res.push(OpenStruct.new(x: relabel[n_id], y: relabel[edge.y], weight: density, n_elements: n_y_elements))
187
+ res.push(Node.new(x: relabel[n_id], y: relabel[edge.y], weight: density, n_elements: n_y_elements))
168
188
  next_label += 1
169
189
  elsif n_x_elements < min_cluster_size && n_y_elements < min_cluster_size
170
190
  breadth_first_search_hierarchy(hierarchy, edge.x).each do |sn_id|
171
- res.push(OpenStruct.new(x: relabel[n_id], y: sn_id, weight: density, n_elements: 1)) if sn_id < n_points
191
+ res.push(Node.new(x: relabel[n_id], y: sn_id, weight: density, n_elements: 1)) if sn_id < n_points
172
192
  visited[sn_id] = true
173
193
  end
174
194
  breadth_first_search_hierarchy(hierarchy, edge.y).each do |sn_id|
175
- res.push(OpenStruct.new(x: relabel[n_id], y: sn_id, weight: density, n_elements: 1)) if sn_id < n_points
195
+ res.push(Node.new(x: relabel[n_id], y: sn_id, weight: density, n_elements: 1)) if sn_id < n_points
176
196
  visited[sn_id] = true
177
197
  end
178
198
  elsif n_x_elements < min_cluster_size
179
199
  relabel[edge.y] = relabel[n_id]
180
200
  breadth_first_search_hierarchy(hierarchy, edge.x).each do |sn_id|
181
- res.push(OpenStruct.new(x: relabel[n_id], y: sn_id, weight: density, n_elements: 1)) if sn_id < n_points
201
+ res.push(Node.new(x: relabel[n_id], y: sn_id, weight: density, n_elements: 1)) if sn_id < n_points
182
202
  visited[sn_id] = true
183
203
  end
184
204
  elsif n_y_elements < min_cluster_size
185
205
  relabel[edge.x] = relabel[n_id]
186
206
  breadth_first_search_hierarchy(hierarchy, edge.y).each do |sn_id|
187
- res.push(OpenStruct.new(x: relabel[n_id], y: sn_id, weight: density, n_elements: 1)) if sn_id < n_points
207
+ res.push(Node.new(x: relabel[n_id], y: sn_id, weight: density, n_elements: 1)) if sn_id < n_points
188
208
  visited[sn_id] = true
189
209
  end
190
210
  end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ostruct'
4
3
  require 'rumale/base/base_estimator'
5
4
  require 'rumale/base/cluster_analyzer'
6
5
  require 'rumale/pairwise_metric'
@@ -25,7 +24,7 @@ module Rumale
25
24
  attr_reader :labels
26
25
 
27
26
  # Return the hierarchical structure.
28
- # @return [Array<OpenStruct>] (shape: [n_samples - 1])
27
+ # @return [Array<SingleLinkage::Node>] (shape: [n_samples - 1])
29
28
  attr_reader :hierarchy
30
29
 
31
30
  # Create a new cluster analyzer with single linkage algorithm.
@@ -104,7 +103,26 @@ module Rumale
104
103
  end
105
104
  end
106
105
 
107
- private_constant :UnionFind
106
+ # @!visibility private
107
+ class Node
108
+ # @!visibility private
109
+ attr_reader :x, :y, :weight, :n_elements
110
+
111
+ # @!visibility private
112
+ def initialize(x:, y:, weight:, n_elements: 0)
113
+ @x = x
114
+ @y = y
115
+ @weight = weight
116
+ @n_elements = n_elements
117
+ end
118
+
119
+ # @!visibility private
120
+ def ==(other)
121
+ x == other.x && y == other.y && weight == other.weight && n_elements == other.n_elements
122
+ end
123
+ end
124
+
125
+ private_constant :UnionFind, :Node
108
126
 
109
127
  def partial_fit(distance_mat)
110
128
  mst = minimum_spanning_tree(distance_mat)
@@ -125,7 +143,7 @@ module Rumale
125
143
  curr_weights = Numo::DFloat.minimum(curr_weights[target], complete_graph[curr_node, curr_labels])
126
144
  next_node = curr_labels[curr_weights.min_index]
127
145
  weight = curr_weights.min
128
- OpenStruct.new(x: curr_node, y: next_node, weight: weight)
146
+ Node.new(x: curr_node, y: next_node, weight: weight)
129
147
  end
130
148
  mst.sort! { |a, b| a.weight <=> b.weight }
131
149
  end
@@ -140,7 +158,7 @@ module Rumale
140
158
  x_root, y_root = [y_root, x_root] unless x_root < y_root
141
159
  weight = mst[n].weight
142
160
  n_samples = uf.union(x_root, y_root)
143
- OpenStruct.new(x: x_root, y: y_root, weight: weight, n_elements: n_samples)
161
+ Node.new(x: x_root, y: y_root, weight: weight, n_elements: n_samples)
144
162
  end
145
163
  end
146
164
 
@@ -118,8 +118,7 @@ module Rumale
118
118
  desc_y_true = Numo::Int32.cast(bin_y_true[desc_pred_ids])
119
119
  desc_y_score = y_score[desc_pred_ids]
120
120
 
121
- dist_value_ids = desc_y_score.diff.ne(0).where
122
- threshold_ids = dist_value_ids.append(desc_y_true.size - 1)
121
+ threshold_ids = Numo::Int32.cast(desc_y_score.diff.ne(0).where.to_a.append(desc_y_true.size - 1))
123
122
 
124
123
  true_pos = desc_y_true.cumsum[threshold_ids]
125
124
  false_pos = 1 + threshold_ids - true_pos
@@ -10,6 +10,8 @@ module Rumale
10
10
  # This implementation, unlike the paper, does not perform random sampling with vantage point selection.
11
11
  # This class is used internally for k-nearest neighbor estimators.
12
12
  #
13
+ # @deprecated This class will be removed in ver. 0.24.0. The author recommends to use the annoy-rb gem instead.
14
+ #
13
15
  # *Reference*
14
16
  # - Yianilos, P N., "Data Structures and Algorithms for Nearest Neighbor Search in General Metric Spaces," Proc. SODA'93, pp. 311--321, 1993.
15
17
  class VPTree
@@ -3,5 +3,5 @@
3
3
  # Rumale is a machine learning library in Ruby.
4
4
  module Rumale
5
5
  # The version of Rumale you are using.
6
- VERSION = '0.23.1'
6
+ VERSION = '0.23.2'
7
7
  end
data/lib/rumale.rb CHANGED
@@ -2,136 +2,135 @@
2
2
 
3
3
  require 'numo/narray'
4
4
 
5
- require 'rumale/rumaleext'
6
-
7
- require 'rumale/version'
8
- require 'rumale/validation'
9
- require 'rumale/values'
10
- require 'rumale/utils'
11
- require 'rumale/pairwise_metric'
12
- require 'rumale/dataset'
13
- require 'rumale/probabilistic_output'
14
- require 'rumale/base/base_estimator'
15
- require 'rumale/base/classifier'
16
- require 'rumale/base/regressor'
17
- require 'rumale/base/cluster_analyzer'
18
- require 'rumale/base/transformer'
19
- require 'rumale/base/splitter'
20
- require 'rumale/base/evaluator'
21
- require 'rumale/pipeline/pipeline'
22
- require 'rumale/pipeline/feature_union'
23
- require 'rumale/kernel_approximation/rbf'
24
- require 'rumale/kernel_approximation/nystroem'
25
- require 'rumale/linear_model/base_sgd'
26
- require 'rumale/linear_model/svc'
27
- require 'rumale/linear_model/svr'
28
- require 'rumale/linear_model/logistic_regression'
29
- require 'rumale/linear_model/linear_regression'
30
- require 'rumale/linear_model/ridge'
31
- require 'rumale/linear_model/lasso'
32
- require 'rumale/linear_model/elastic_net'
33
- require 'rumale/linear_model/nnls'
34
- require 'rumale/kernel_machine/kernel_svc'
35
- require 'rumale/kernel_machine/kernel_pca'
36
- require 'rumale/kernel_machine/kernel_fda'
37
- require 'rumale/kernel_machine/kernel_ridge'
38
- require 'rumale/kernel_machine/kernel_ridge_classifier'
39
- require 'rumale/multiclass/one_vs_rest_classifier'
40
- require 'rumale/nearest_neighbors/vp_tree'
41
- require 'rumale/nearest_neighbors/k_neighbors_classifier'
42
- require 'rumale/nearest_neighbors/k_neighbors_regressor'
43
- require 'rumale/naive_bayes/base_naive_bayes'
44
- require 'rumale/naive_bayes/bernoulli_nb'
45
- require 'rumale/naive_bayes/complement_nb'
46
- require 'rumale/naive_bayes/gaussian_nb'
47
- require 'rumale/naive_bayes/multinomial_nb'
48
- require 'rumale/naive_bayes/negation_nb'
49
- require 'rumale/tree/node'
50
- require 'rumale/tree/base_decision_tree'
51
- require 'rumale/tree/decision_tree_classifier'
52
- require 'rumale/tree/decision_tree_regressor'
53
- require 'rumale/tree/extra_tree_classifier'
54
- require 'rumale/tree/extra_tree_regressor'
55
- require 'rumale/tree/gradient_tree_regressor'
56
- require 'rumale/ensemble/ada_boost_classifier'
57
- require 'rumale/ensemble/ada_boost_regressor'
58
- require 'rumale/ensemble/gradient_boosting_classifier'
59
- require 'rumale/ensemble/gradient_boosting_regressor'
60
- require 'rumale/ensemble/random_forest_classifier'
61
- require 'rumale/ensemble/random_forest_regressor'
62
- require 'rumale/ensemble/extra_trees_classifier'
63
- require 'rumale/ensemble/extra_trees_regressor'
64
- require 'rumale/ensemble/stacking_classifier'
65
- require 'rumale/ensemble/stacking_regressor'
66
- require 'rumale/ensemble/voting_classifier'
67
- require 'rumale/ensemble/voting_regressor'
68
- require 'rumale/clustering/k_means'
69
- require 'rumale/clustering/mini_batch_k_means'
70
- require 'rumale/clustering/k_medoids'
71
- require 'rumale/clustering/gaussian_mixture'
72
- require 'rumale/clustering/dbscan'
73
- require 'rumale/clustering/hdbscan'
74
- require 'rumale/clustering/snn'
75
- require 'rumale/clustering/power_iteration'
76
- require 'rumale/clustering/spectral_clustering'
77
- require 'rumale/clustering/single_linkage'
78
- require 'rumale/decomposition/pca'
79
- require 'rumale/decomposition/nmf'
80
- require 'rumale/decomposition/factor_analysis'
81
- require 'rumale/decomposition/fast_ica'
82
- require 'rumale/manifold/tsne'
83
- require 'rumale/manifold/mds'
84
- require 'rumale/metric_learning/fisher_discriminant_analysis'
85
- require 'rumale/metric_learning/neighbourhood_component_analysis'
86
- require 'rumale/metric_learning/mlkr'
87
- require 'rumale/neural_network/adam'
88
- require 'rumale/neural_network/base_mlp'
89
- require 'rumale/neural_network/mlp_regressor'
90
- require 'rumale/neural_network/mlp_classifier'
91
- require 'rumale/feature_extraction/hash_vectorizer'
92
- require 'rumale/feature_extraction/feature_hasher'
93
- require 'rumale/feature_extraction/tfidf_transformer'
94
- require 'rumale/preprocessing/l2_normalizer'
95
- require 'rumale/preprocessing/l1_normalizer'
96
- require 'rumale/preprocessing/max_normalizer'
97
- require 'rumale/preprocessing/min_max_scaler'
98
- require 'rumale/preprocessing/max_abs_scaler'
99
- require 'rumale/preprocessing/standard_scaler'
100
- require 'rumale/preprocessing/bin_discretizer'
101
- require 'rumale/preprocessing/label_binarizer'
102
- require 'rumale/preprocessing/label_encoder'
103
- require 'rumale/preprocessing/one_hot_encoder'
104
- require 'rumale/preprocessing/ordinal_encoder'
105
- require 'rumale/preprocessing/binarizer'
106
- require 'rumale/preprocessing/polynomial_features'
107
- require 'rumale/preprocessing/kernel_calculator'
108
- require 'rumale/model_selection/k_fold'
109
- require 'rumale/model_selection/group_k_fold'
110
- require 'rumale/model_selection/stratified_k_fold'
111
- require 'rumale/model_selection/shuffle_split'
112
- require 'rumale/model_selection/group_shuffle_split'
113
- require 'rumale/model_selection/stratified_shuffle_split'
114
- require 'rumale/model_selection/time_series_split'
115
- require 'rumale/model_selection/cross_validation'
116
- require 'rumale/model_selection/grid_search_cv'
117
- require 'rumale/model_selection/function'
118
- require 'rumale/evaluation_measure/accuracy'
119
- require 'rumale/evaluation_measure/precision'
120
- require 'rumale/evaluation_measure/recall'
121
- require 'rumale/evaluation_measure/f_score'
122
- require 'rumale/evaluation_measure/roc_auc'
123
- require 'rumale/evaluation_measure/log_loss'
124
- require 'rumale/evaluation_measure/r2_score'
125
- require 'rumale/evaluation_measure/explained_variance_score'
126
- require 'rumale/evaluation_measure/mean_squared_error'
127
- require 'rumale/evaluation_measure/mean_squared_log_error'
128
- require 'rumale/evaluation_measure/mean_absolute_error'
129
- require 'rumale/evaluation_measure/median_absolute_error'
130
- require 'rumale/evaluation_measure/adjusted_rand_score'
131
- require 'rumale/evaluation_measure/purity'
132
- require 'rumale/evaluation_measure/mutual_information'
133
- require 'rumale/evaluation_measure/normalized_mutual_information'
134
- require 'rumale/evaluation_measure/silhouette_score'
135
- require 'rumale/evaluation_measure/davies_bouldin_score'
136
- require 'rumale/evaluation_measure/calinski_harabasz_score'
137
- require 'rumale/evaluation_measure/function'
5
+ require_relative 'rumale/version'
6
+ require_relative 'rumale/rumaleext'
7
+ require_relative 'rumale/validation'
8
+ require_relative 'rumale/values'
9
+ require_relative 'rumale/utils'
10
+ require_relative 'rumale/pairwise_metric'
11
+ require_relative 'rumale/dataset'
12
+ require_relative 'rumale/probabilistic_output'
13
+ require_relative 'rumale/base/base_estimator'
14
+ require_relative 'rumale/base/classifier'
15
+ require_relative 'rumale/base/regressor'
16
+ require_relative 'rumale/base/cluster_analyzer'
17
+ require_relative 'rumale/base/transformer'
18
+ require_relative 'rumale/base/splitter'
19
+ require_relative 'rumale/base/evaluator'
20
+ require_relative 'rumale/pipeline/pipeline'
21
+ require_relative 'rumale/pipeline/feature_union'
22
+ require_relative 'rumale/kernel_approximation/rbf'
23
+ require_relative 'rumale/kernel_approximation/nystroem'
24
+ require_relative 'rumale/linear_model/base_sgd'
25
+ require_relative 'rumale/linear_model/svc'
26
+ require_relative 'rumale/linear_model/svr'
27
+ require_relative 'rumale/linear_model/logistic_regression'
28
+ require_relative 'rumale/linear_model/linear_regression'
29
+ require_relative 'rumale/linear_model/ridge'
30
+ require_relative 'rumale/linear_model/lasso'
31
+ require_relative 'rumale/linear_model/elastic_net'
32
+ require_relative 'rumale/linear_model/nnls'
33
+ require_relative 'rumale/kernel_machine/kernel_svc'
34
+ require_relative 'rumale/kernel_machine/kernel_pca'
35
+ require_relative 'rumale/kernel_machine/kernel_fda'
36
+ require_relative 'rumale/kernel_machine/kernel_ridge'
37
+ require_relative 'rumale/kernel_machine/kernel_ridge_classifier'
38
+ require_relative 'rumale/multiclass/one_vs_rest_classifier'
39
+ require_relative 'rumale/nearest_neighbors/vp_tree'
40
+ require_relative 'rumale/nearest_neighbors/k_neighbors_classifier'
41
+ require_relative 'rumale/nearest_neighbors/k_neighbors_regressor'
42
+ require_relative 'rumale/naive_bayes/base_naive_bayes'
43
+ require_relative 'rumale/naive_bayes/bernoulli_nb'
44
+ require_relative 'rumale/naive_bayes/complement_nb'
45
+ require_relative 'rumale/naive_bayes/gaussian_nb'
46
+ require_relative 'rumale/naive_bayes/multinomial_nb'
47
+ require_relative 'rumale/naive_bayes/negation_nb'
48
+ require_relative 'rumale/tree/node'
49
+ require_relative 'rumale/tree/base_decision_tree'
50
+ require_relative 'rumale/tree/decision_tree_classifier'
51
+ require_relative 'rumale/tree/decision_tree_regressor'
52
+ require_relative 'rumale/tree/extra_tree_classifier'
53
+ require_relative 'rumale/tree/extra_tree_regressor'
54
+ require_relative 'rumale/tree/gradient_tree_regressor'
55
+ require_relative 'rumale/ensemble/ada_boost_classifier'
56
+ require_relative 'rumale/ensemble/ada_boost_regressor'
57
+ require_relative 'rumale/ensemble/gradient_boosting_classifier'
58
+ require_relative 'rumale/ensemble/gradient_boosting_regressor'
59
+ require_relative 'rumale/ensemble/random_forest_classifier'
60
+ require_relative 'rumale/ensemble/random_forest_regressor'
61
+ require_relative 'rumale/ensemble/extra_trees_classifier'
62
+ require_relative 'rumale/ensemble/extra_trees_regressor'
63
+ require_relative 'rumale/ensemble/stacking_classifier'
64
+ require_relative 'rumale/ensemble/stacking_regressor'
65
+ require_relative 'rumale/ensemble/voting_classifier'
66
+ require_relative 'rumale/ensemble/voting_regressor'
67
+ require_relative 'rumale/clustering/k_means'
68
+ require_relative 'rumale/clustering/mini_batch_k_means'
69
+ require_relative 'rumale/clustering/k_medoids'
70
+ require_relative 'rumale/clustering/gaussian_mixture'
71
+ require_relative 'rumale/clustering/dbscan'
72
+ require_relative 'rumale/clustering/hdbscan'
73
+ require_relative 'rumale/clustering/snn'
74
+ require_relative 'rumale/clustering/power_iteration'
75
+ require_relative 'rumale/clustering/spectral_clustering'
76
+ require_relative 'rumale/clustering/single_linkage'
77
+ require_relative 'rumale/decomposition/pca'
78
+ require_relative 'rumale/decomposition/nmf'
79
+ require_relative 'rumale/decomposition/factor_analysis'
80
+ require_relative 'rumale/decomposition/fast_ica'
81
+ require_relative 'rumale/manifold/tsne'
82
+ require_relative 'rumale/manifold/mds'
83
+ require_relative 'rumale/metric_learning/fisher_discriminant_analysis'
84
+ require_relative 'rumale/metric_learning/neighbourhood_component_analysis'
85
+ require_relative 'rumale/metric_learning/mlkr'
86
+ require_relative 'rumale/neural_network/adam'
87
+ require_relative 'rumale/neural_network/base_mlp'
88
+ require_relative 'rumale/neural_network/mlp_regressor'
89
+ require_relative 'rumale/neural_network/mlp_classifier'
90
+ require_relative 'rumale/feature_extraction/hash_vectorizer'
91
+ require_relative 'rumale/feature_extraction/feature_hasher'
92
+ require_relative 'rumale/feature_extraction/tfidf_transformer'
93
+ require_relative 'rumale/preprocessing/l2_normalizer'
94
+ require_relative 'rumale/preprocessing/l1_normalizer'
95
+ require_relative 'rumale/preprocessing/max_normalizer'
96
+ require_relative 'rumale/preprocessing/min_max_scaler'
97
+ require_relative 'rumale/preprocessing/max_abs_scaler'
98
+ require_relative 'rumale/preprocessing/standard_scaler'
99
+ require_relative 'rumale/preprocessing/bin_discretizer'
100
+ require_relative 'rumale/preprocessing/label_binarizer'
101
+ require_relative 'rumale/preprocessing/label_encoder'
102
+ require_relative 'rumale/preprocessing/one_hot_encoder'
103
+ require_relative 'rumale/preprocessing/ordinal_encoder'
104
+ require_relative 'rumale/preprocessing/binarizer'
105
+ require_relative 'rumale/preprocessing/polynomial_features'
106
+ require_relative 'rumale/preprocessing/kernel_calculator'
107
+ require_relative 'rumale/model_selection/k_fold'
108
+ require_relative 'rumale/model_selection/group_k_fold'
109
+ require_relative 'rumale/model_selection/stratified_k_fold'
110
+ require_relative 'rumale/model_selection/shuffle_split'
111
+ require_relative 'rumale/model_selection/group_shuffle_split'
112
+ require_relative 'rumale/model_selection/stratified_shuffle_split'
113
+ require_relative 'rumale/model_selection/time_series_split'
114
+ require_relative 'rumale/model_selection/cross_validation'
115
+ require_relative 'rumale/model_selection/grid_search_cv'
116
+ require_relative 'rumale/model_selection/function'
117
+ require_relative 'rumale/evaluation_measure/accuracy'
118
+ require_relative 'rumale/evaluation_measure/precision'
119
+ require_relative 'rumale/evaluation_measure/recall'
120
+ require_relative 'rumale/evaluation_measure/f_score'
121
+ require_relative 'rumale/evaluation_measure/roc_auc'
122
+ require_relative 'rumale/evaluation_measure/log_loss'
123
+ require_relative 'rumale/evaluation_measure/r2_score'
124
+ require_relative 'rumale/evaluation_measure/explained_variance_score'
125
+ require_relative 'rumale/evaluation_measure/mean_squared_error'
126
+ require_relative 'rumale/evaluation_measure/mean_squared_log_error'
127
+ require_relative 'rumale/evaluation_measure/mean_absolute_error'
128
+ require_relative 'rumale/evaluation_measure/median_absolute_error'
129
+ require_relative 'rumale/evaluation_measure/adjusted_rand_score'
130
+ require_relative 'rumale/evaluation_measure/purity'
131
+ require_relative 'rumale/evaluation_measure/mutual_information'
132
+ require_relative 'rumale/evaluation_measure/normalized_mutual_information'
133
+ require_relative 'rumale/evaluation_measure/silhouette_score'
134
+ require_relative 'rumale/evaluation_measure/davies_bouldin_score'
135
+ require_relative 'rumale/evaluation_measure/calinski_harabasz_score'
136
+ require_relative 'rumale/evaluation_measure/function'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rumale
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.1
4
+ version: 0.23.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - yoshoku
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-27 00:00:00.000000000 Z
11
+ date: 2022-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: numo-narray
@@ -57,24 +57,13 @@ extensions:
57
57
  - ext/rumale/extconf.rb
58
58
  extra_rdoc_files: []
59
59
  files:
60
- - ".clang-format"
61
- - ".coveralls.yml"
62
- - ".github/workflows/build.yml"
63
- - ".github/workflows/coverage.yml"
64
- - ".gitignore"
65
- - ".rspec"
66
- - ".rubocop.yml"
67
60
  - CHANGELOG.md
68
61
  - CODE_OF_CONDUCT.md
69
- - Gemfile
70
62
  - LICENSE.txt
71
63
  - README.md
72
- - Rakefile
73
64
  - ext/rumale/extconf.rb
74
65
  - ext/rumale/rumaleext.c
75
66
  - ext/rumale/rumaleext.h
76
- - ext/rumale/tree.c
77
- - ext/rumale/tree.h
78
67
  - lib/rumale.rb
79
68
  - lib/rumale/base/base_estimator.rb
80
69
  - lib/rumale/base/classifier.rb
@@ -208,7 +197,6 @@ files:
208
197
  - lib/rumale/validation.rb
209
198
  - lib/rumale/values.rb
210
199
  - lib/rumale/version.rb
211
- - rumale.gemspec
212
200
  homepage: https://github.com/yoshoku/rumale
213
201
  licenses:
214
202
  - BSD-2-Clause
@@ -218,7 +206,8 @@ metadata:
218
206
  source_code_uri: https://github.com/yoshoku/rumale
219
207
  documentation_uri: https://yoshoku.github.io/rumale/doc/
220
208
  bug_tracker_uri: https://github.com/yoshoku/rumale/issues
221
- post_install_message:
209
+ rubygems_mfa_required: 'true'
210
+ post_install_message:
222
211
  rdoc_options: []
223
212
  require_paths:
224
213
  - lib
@@ -233,8 +222,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
233
222
  - !ruby/object:Gem::Version
234
223
  version: '0'
235
224
  requirements: []
236
- rubygems_version: 3.1.6
237
- signing_key:
225
+ rubygems_version: 3.2.33
226
+ signing_key:
238
227
  specification_version: 4
239
228
  summary: Rumale is a machine learning library in Ruby. Rumale provides machine learning
240
229
  algorithms with interfaces similar to Scikit-Learn in Python.