Train Test Split
In machine learning we usually split data into training data and test data. The training set contains a known output and the model learns on this data in order to be generalized to other data later on.
Installation
Add this line to your application's Gemfile:
gem 'train_test_split'
And then execute:
$ bundle
Or install it yourself as:
$ gem install train_test_split
Usage
There are two types of splits
1. train_test_split
This will split your data into traning data and testing data. Default size of test data will be 0.25 To use this function read a csv file into 2d array(data) and pass it to TrainTestSplit::Split.train_test_split like
TrainTestSplit::Split.train_test_split(data)
This will will return the value of training_set_X, training_set_Y, test_set_X, test_set_Y with the training/test ratio of 0.25 So you can customize this ratio
training_set_X, training_set_Y, test_set_X, test_set_Y = TrainTestSplit::Split.train_validation_test_split(data, 0.2)
here 0.20 is ratio of test data and 0.80 will be training data.
2. train_validation_test_split
This will split your data into three different data sets traning, testing and validation data set. Default size of test data will be 0.10 and default size of validation data will be 0.15
To use this function read a csv file into 2d array(data) and pass it to TrainTestSplit::Split.train_validation_test_split like
TrainTestSplit::Split.train_validation_test_split(data)
This will will return the value of training_set_X, training_set_Y, test_set_X, test_set_Y and also validation_set_X and validation_set_Y with the training:validation:test of 0.75 : 0.15 : 0.10 So you can customize this ratio
training_set_X, training_set_Y, validation_set_X, validation_set_Y, test_set_X, test_set_Y = TrainTestSplit::Split.train_validation_test_split(data, 0.2, 0.1)
here 0.20 is ratio of validation data and 0.1 ratio of testing data and remaining 0.70 will be training data.
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/ZulqarnainNazir/train_test_split. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the TrainTestSplit project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.