Alternatives to 'datasample'

Hi!
I'm looking for an alternative to the datasample function. It's a part of the Statistics & Machine Learning toolbox. Any ideas? I want to be able to sample rows of data from tables and matrices and would like to have the choice of sampling with/without replacement.
Thanks for your ideas!

5 Commenti

Adam Danz
Adam Danz il 22 Ago 2020
Are you sampling with replacement or without replacement?
Veena Chatti
Veena Chatti il 22 Ago 2020
Hi Adam,
I am sampling with replacement. My dataset (of personally curated "ground truths") contains hundreds of samples, and I am using it to train a pattern recognition perceptron that needs 200,000 epochs at a reasonable learning rate.
Thanks,
Veena
Veena Chatti
Veena Chatti il 22 Ago 2020
Modificato: Veena Chatti il 22 Ago 2020
I think I've found a way to do it by converting the dataset to an array, combining a loop with randperm, and choosing one row at a time, but ideally, if someone knows about a function that does it in a more straightforward way that I just haven't come across yet, that would be fabulous. I eventually want to share my perceptron with others who may not have the toolbox, and it would be nice not to require that they have to buy it just for this one function!
Adam Danz
Adam Danz il 22 Ago 2020
randperm samples without replacement.
To sample with replacement, use randi.
Veena Chatti
Veena Chatti il 26 Ago 2020
Thanks. I think I have it now.

Accedi per commentare.

 Risposta accettata

Hi Veena,
Yes, randomperm (without replacement) and randi (with replacement) can be used as an alternative.
Furthermore, if the dataset has been converted to either a matrix or an array format, the rows can be sampled without using a loop as shown in the example as follows,
X = rand(50,10); % Assume X is the dataset
SampledRows = X(randi(50,[200,1]),:); % 200 Sample rows (with replacement)
Kiran Felix Robert

Più risposte (0)

Categorie

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by