AI-generated Key Takeaways
-
randomColumn()
adds a new column of pseudorandom numbers to a FeatureCollection, with the default column name being "random". -
The generated random numbers can follow either a uniform distribution ([0, 1)) or a normal distribution (μ=0, σ=1) specified using the
distribution
parameter. -
Users can provide a seed value for reproducibility using the
seed
parameter, ensuring the same sequence of random numbers is generated for a given seed. -
This function is commonly used for tasks like randomly splitting a FeatureCollection into subsets for training and testing machine learning models, as demonstrated in the examples.
Usage | Returns |
---|---|
FeatureCollection.randomColumn(columnName, seed, distribution, rowKeys) | FeatureCollection |
Argument | Type | Details |
---|---|---|
this: collection | FeatureCollection | The input collection to which to add a random column. |
columnName | String, default: "random" | The name of the column to add. |
seed | Long, default: 0 | A seed used when generating the random numbers. |
distribution | String, default: "uniform" | The distribution type of random numbers to produce; one of 'uniform' or 'normal'. |
rowKeys | List, optional | A list of properties that should uniquely and repeatably identify an element of the collection, used to generate the random number. Defaults to [system:index]. |
Examples
Code Editor (JavaScript)
// FeatureCollection of power plants in Belgium. var fc = ee.FeatureCollection('WRI/GPPD/power_plants') .filter('country_lg == "Belgium"'); print('N features in collection', fc.size()); // Add a uniform distribution random value column to the FeatureCollection. fc = fc.randomColumn(); // Randomly split the collection into two sets, 30% and 70% of the total. var randomSample30 = fc.filter('random < 0.3'); print('N features in 30% sample', randomSample30.size()); var randomSample70 = fc.filter('random >= 0.3'); print('N features in 70% sample', randomSample70.size());
import ee import geemap.core as geemap
Colab (Python)
# FeatureCollection of power plants in Belgium. fc = ee.FeatureCollection('WRI/GPPD/power_plants').filter( 'country_lg == "Belgium"') print('N features in collection:', fc.size().getInfo()) # Add a uniform distribution random value column to the FeatureCollection. fc = fc.randomColumn() # Randomly split the collection into two sets, 30% and 70% of the total. random_sample_30 = fc.filter('random < 0.3') print('N features in 30% sample:', random_sample_30.size().getInfo()) random_sample_70 = fc.filter('random >= 0.3') print('N features in 70% sample:', random_sample_70.size().getInfo())