TabularRegressionData¶
- class flash.tabular.regression.data.TabularRegressionData(train_input=None, val_input=None, test_input=None, predict_input=None, data_fetcher=None, val_split=None, batch_size=None, num_workers=0, sampler=None, pin_memory=True, persistent_workers=False)[source]¶
The
TabularRegressionDataclass is aDataModulewith a set of classmethods for loading data for tabular regression.- classmethod from_csv(categorical_fields=None, numerical_fields=None, target_field=None, parameters=None, train_file=None, val_file=None, test_file=None, predict_file=None, train_transform=<class 'flash.core.data.io.input_transform.InputTransform'>, val_transform=<class 'flash.core.data.io.input_transform.InputTransform'>, test_transform=<class 'flash.core.data.io.input_transform.InputTransform'>, predict_transform=<class 'flash.core.data.io.input_transform.InputTransform'>, input_cls=<class 'flash.tabular.regression.input.TabularRegressionCSVInput'>, transform_kwargs=None, **data_module_kwargs)[source]¶
Creates a
TabularRegressionDataobject from the given CSV files.Note
The
categorical_fields,numerical_fields, andtarget_fielddo not need to be provided ifparametersare passed instead. These can be obtained from theparametersattribute of theTabularDataobject that contains your training data.The targets will be extracted from the
target_fieldin the CSV files. To learn how to customize the transforms applied for each stage, read our customizing transforms guide.- Parameters
categorical_fields¶ (
Union[str,List[str],None]) – The fields (column names) in the CSV files containing categorical data.numerical_fields¶ (
Union[str,List[str],None]) – The fields (column names) in the CSV files containing numerical data.target_field¶ (
Optional[str]) – The field (column name) in the CSV files containing the targets.parameters¶ (
Optional[Dict[str,Any]]) – Parameters to use ifcategorical_fields,numerical_fields, andtarget_fieldare not provided (e.g. when loading data for inference or validation).train_file¶ (
Optional[str]) – The path to the CSV file to use when training.val_file¶ (
Optional[str]) – The path to the CSV file to use when validating.test_file¶ (
Optional[str]) – The path to the CSV file to use when testing.predict_file¶ (
Optional[str]) – The path to the CSV file to use when predicting.train_transform¶ (
TypeVar(INPUT_TRANSFORM_TYPE,Type[flash.core.data.io.input_transform.InputTransform],Callable,Tuple[Union[LightningEnum,str],Dict[str,Any]],Union[LightningEnum,str],None)) – TheInputTransformtype to use when training.val_transform¶ (
TypeVar(INPUT_TRANSFORM_TYPE,Type[flash.core.data.io.input_transform.InputTransform],Callable,Tuple[Union[LightningEnum,str],Dict[str,Any]],Union[LightningEnum,str],None)) – TheInputTransformtype to use when validating.test_transform¶ (
TypeVar(INPUT_TRANSFORM_TYPE,Type[flash.core.data.io.input_transform.InputTransform],Callable,Tuple[Union[LightningEnum,str],Dict[str,Any]],Union[LightningEnum,str],None)) – TheInputTransformtype to use when testing.predict_transform¶ (
TypeVar(INPUT_TRANSFORM_TYPE,Type[flash.core.data.io.input_transform.InputTransform],Callable,Tuple[Union[LightningEnum,str],Dict[str,Any]],Union[LightningEnum,str],None)) – TheInputTransformtype to use when predicting.input_cls¶ (
Type[Input]) – TheInputtype to use for loading the data.transform_kwargs¶ (
Optional[Dict]) – Dict of keyword arguments to be provided when instantiating the transforms.data_module_kwargs¶ (
Any) – Additional keyword arguments to provide to theDataModuleconstructor.
- Return type
- Returns
The constructed
TabularRegressionData.
Examples
We have a
train_data.csvwith the following contents:age,animal,weight 2,cat,6 4,dog,10 1,cat,5
and a
predict_data.csvwith the following contents:animal,weight dog,7 dog,12 cat,5
>>> from flash import Trainer >>> from flash.tabular import TabularRegressor, TabularRegressionData >>> datamodule = TabularRegressionData.from_csv( ... "animal", ... "weight", ... "age", ... train_file="train_data.csv", ... predict_file="predict_data.csv", ... batch_size=4, ... ) >>> model = TabularRegressor.from_data(datamodule, backbone="tabnet") >>> trainer = Trainer(fast_dev_run=True) >>> trainer.fit(model, datamodule=datamodule) Training... >>> trainer.predict(model, datamodule=datamodule) Predicting...
- classmethod from_data_frame(categorical_fields=None, numerical_fields=None, target_field=None, parameters=None, train_data_frame=None, val_data_frame=None, test_data_frame=None, predict_data_frame=None, train_transform=<class 'flash.core.data.io.input_transform.InputTransform'>, val_transform=<class 'flash.core.data.io.input_transform.InputTransform'>, test_transform=<class 'flash.core.data.io.input_transform.InputTransform'>, predict_transform=<class 'flash.core.data.io.input_transform.InputTransform'>, input_cls=<class 'flash.tabular.regression.input.TabularRegressionDataFrameInput'>, transform_kwargs=None, **data_module_kwargs)[source]¶
Creates a
TabularRegressionDataobject from the given data frames.Note
The
categorical_fields,numerical_fields, andtarget_fielddo not need to be provided ifparametersare passed instead. These can be obtained from theparametersattribute of theTabularDataobject that contains your training data.The targets will be extracted from the
target_fieldin the data frames. To learn how to customize the transforms applied for each stage, read our customizing transforms guide.- Parameters
categorical_fields¶ (
Union[str,List[str],None]) – The fields (column names) in the data frames containing categorical data.numerical_fields¶ (
Union[str,List[str],None]) – The fields (column names) in the data frames containing numerical data.target_field¶ (
Optional[str]) – The field (column name) in the data frames containing the targets.parameters¶ (
Optional[Dict[str,Any]]) – Parameters to use ifcategorical_fields,numerical_fields, andtarget_fieldare not provided (e.g. when loading data for inference or validation).train_data_frame¶ (
Optional[object]) – The DataFrame to use when training.val_data_frame¶ (
Optional[object]) – The DataFrame to use when validating.test_data_frame¶ (
Optional[object]) – The DataFrame to use when testing.predict_data_frame¶ (
Optional[object]) – The DataFrame to use when predicting.train_transform¶ (
TypeVar(INPUT_TRANSFORM_TYPE,Type[flash.core.data.io.input_transform.InputTransform],Callable,Tuple[Union[LightningEnum,str],Dict[str,Any]],Union[LightningEnum,str],None)) – TheInputTransformtype to use when training.val_transform¶ (
TypeVar(INPUT_TRANSFORM_TYPE,Type[flash.core.data.io.input_transform.InputTransform],Callable,Tuple[Union[LightningEnum,str],Dict[str,Any]],Union[LightningEnum,str],None)) – TheInputTransformtype to use when validating.test_transform¶ (
TypeVar(INPUT_TRANSFORM_TYPE,Type[flash.core.data.io.input_transform.InputTransform],Callable,Tuple[Union[LightningEnum,str],Dict[str,Any]],Union[LightningEnum,str],None)) – TheInputTransformtype to use when testing.predict_transform¶ (
TypeVar(INPUT_TRANSFORM_TYPE,Type[flash.core.data.io.input_transform.InputTransform],Callable,Tuple[Union[LightningEnum,str],Dict[str,Any]],Union[LightningEnum,str],None)) – TheInputTransformtype to use when predicting.input_cls¶ (
Type[Input]) – TheInputtype to use for loading the data.transform_kwargs¶ (
Optional[Dict]) – Dict of keyword arguments to be provided when instantiating the transforms.data_module_kwargs¶ (
Any) – Additional keyword arguments to provide to theDataModuleconstructor.
- Return type
- Returns
The constructed
TabularRegressionData.
Examples
We have a DataFrame
train_datawith the following contents:>>> train_data.head(3) age animal weight 0 2 cat 6 1 4 dog 10 2 1 cat 5
and a DataFrame
predict_datawith the following contents:>>> predict_data.head(3) animal weight 0 dog 7 1 dog 12 2 cat 5
>>> from flash import Trainer >>> from flash.tabular import TabularRegressor, TabularRegressionData >>> datamodule = TabularRegressionData.from_data_frame( ... "animal", ... "weight", ... "age", ... train_data_frame=train_data, ... predict_data_frame=predict_data, ... batch_size=4, ... ) >>> model = TabularRegressor.from_data(datamodule, backbone="tabnet") >>> trainer = Trainer(fast_dev_run=True) >>> trainer.fit(model, datamodule=datamodule) Training... >>> trainer.predict(model, datamodule=datamodule) Predicting...