Learn R Programming

ganGenerativeData (version 2.1.6)

ganGenerativeData-package: Generate generative data for a data source

Description

Generative Adversarial Networks are applied to generate generative data for a data source. A generative model consisting of a generator and a discriminator network is trained. During iterative training the distribution of generated data is converging to that of the data source.

Generated data can be written to a file in training and after finished training in a separate generation step. First method accumulates generative data using a dynamic model, second method generates generative data using a static model.

Inserted images show two-dimensional projections of generative data for the iris dataset:

Arguments

Author

Werner Mueller

Maintainer: Werner Mueller <werner.mueller5@chello.at>

Details

The API includes functions for topics "definition of data source" and "generation of generative data". Main function of first topic is dsCreateWithDataFrame() which creates a data source with passed data frame. Main functions of second topic are gdTrain() which trains a generative model for a data source and gdGenerate() which uses a trained generative model to generate generative data. Additionally a software service for accelerated training of generative models is available.

1. Definition of data source

dsCreateWithDataFrame() Create a data source with passed data frame.

dsActivateColumns() Activate columns in a data source in order to include them in training of generative models. By default columns are active.

dsDeactivateColumns() Deactivate columns in a data source in order to exclude them from training of generative models. Note that the training function in the package supports only columns of type R-class numeric, R-type double. All columns of other type have to be deactivated. The training function in the software service for accelerated training of generative models supports columns of any type.

dsGetActiveColumnNames() Get names of active columns of a data source.

dsGetInactiveColumnNames() Get names of inactive columns of a data source.

dsWrite() Write created data source including settings of active columns to a file in binary format. This file will be used as input in functions of topic "generation of generative data".

dsRead() Read a data source from a file that was written with dsWrite().

dsGetNumberOfRows() Get number of rows in a data source.

dsGetRow() Get a row in a data source.

dsCalculateDensityValues() Read a data souce from a file, calculate density values and write the data source with density values to original file.

dsDensityValueInverseQuantile() Calculate inverse density value quantile for a density value.

2. Training of generative model and generation of generative data

gdTrainParameters() Specify parameters for training of generative model.

gdTrain() Read a data source from a file, train a generative model that generates generative data for the data source in iterative training steps, write trained generative model and generated data in training steps to a file in binary format..

gdGenerateParameters() Specify parameters for generation of generative data.

gdGenerate() Read a generative model and a data source from a file, generate generative data for the data source and write generated data to a file in binary format.

gdCalculateDensityValues() Read generative data from a file, calculate density values and write generative data with density values to original file.

gdRead() Read generative data and data source from specified files.

gdPlotParameters() Specify plot parameters for generative data.

gdPlotDataSourceParameters() Specify plot parameters for data source.

gdPlotProjection() Create an image file containing two-dimensional projections of generative data and data source.

gdGetNumberOfRows() Get number of rows in generative data.

gdGetRow() Get a row in generative data.

gdCalculateDensityValue() Calculate density value for a data record.

gdDensityValueQuantile() Calculate density value quantile for a percent value.

gdDensityValueInverseQuantile() Calculate inverse density value quantile for a density value.

gdKNearestNeighbors() Search for k nearest neighbors in generative data.

gdComplete() Complete incomplete data record.

gdWriteSubset() Write subset of generative data.

3. Software service for accelerated training of generative models

gdServiceTrain() Send a request to software service to train a generative model.

gdServiceGetGenerativeData() Get generated generative data from software service.

gdServiceGetGenerativeModel() Get trained generative model from software service.

gdServiveGetStatus() Get status of generated job from software service.

gdServiceDelete() Delete generated job from software service.

References

Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio (2014), "Generative Adversarial Nets", <arXiv:1406.2661v1>