Module: Ai4r::Experiment::Split
- Defined in:
- lib/ai4r/experiment/split.rb
Overview
Utility methods for experiment workflows.
Class Method Summary collapse
-
.split(data_set, k:) ⇒ Array<Ai4r::Data::DataSet>
Split a dataset into
kfolds.
Class Method Details
.split(data_set, k:) ⇒ Array<Ai4r::Data::DataSet>
Split a dataset into k folds.
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/ai4r/experiment/split.rb', line 24 def split(data_set, k:) raise ArgumentError, 'k must be greater than 0' unless k.positive? items = data_set.data_items.dup labels = data_set.data_labels fold_size = (items.length.to_f / k).ceil folds = [] k.times do |i| part = items.slice(i * fold_size, fold_size) || [] folds << Ai4r::Data::DataSet.new(data_items: part, data_labels: labels) end folds end |