---
title: Fast EDA for large datasets
description: Overview of Fast Exploratory Data Analysis (EDA) for large datasets, and how to apply early target selection.

---

#  Early target selection {: #early-target-selection }

The data ingestion process for large datasets can, optionally, be different than that used for smaller sets. (You can also use the <em>same</em> process by letting the project complete [EDA1](eda-explained#eda1).) When DataRobot optimizes for larger sets, it launches "[Fast (or preliminary) EDA](#fast-eda-application)," a subset of the full EDA1 process, which looks more like:

1. Dataset import begins.
2. DataRobot detects the need for, and launches, Fast EDA.
3. When Fast EDA completes, there is a window of time in which you can choose to participate in [early target selection](#fast-eda-and-early-target-selection). This window is only valid between the time when Fast EDA completes and when EDA1 completes. As a result, for smaller datasets (less than 200MB) the window may be too small to take advantage of it.
4. If early target selection was enabled, DataRobot completes EDA1, partitions the data, and launches EDA2 using project criteria for early target selection. If it was not enabled, the standard ingest process resumes (select a target and options and press **Start**).

!!! tip
    When working with large datasets, you cannot create GLM, ENET, or PLS [blender models](creating-addl-models#create-a-blended-model). Median and average blenders <i>are</i> available. Also, Fast EDA is disabled in some cases, such as when the dataset has too many columns or uses too much RAM during ingest.

## Fast EDA application {: #fast-eda-application }

A dataset qualifies for Fast EDA if it is larger than 5MB, has fewer than 10,000 columns, and if when you begin to load data, 10 seconds elapse and the ingestion process is less than 75% complete. Note that the ingestion process is internal to DataRobot and may appear differently to you in the status bar. Fast EDA allows you to see preliminary EDA1 results and explore your data shortly after upload begins and while ingestion continues. Once Fast EDA completes, DataRobot continues calculating until full EDA1 completes.

Fast EDA is particularly helpful with large datasets because it allows you to:

* explore your data while ingestion continues. This is particularly helpful with large datasets. For example, it may take 15 minutes to ingest a 10GB file, but with Fast EDA you can see data information much more quickly.
* use [early target selection](#fast-eda-and-early-target-selection), described below, to set the target variable and advanced option settings earlier on in the upload process.

!!! note
    Fast EDA is calculated on the first <i>X</i> rows of the dataset, not a random sample.

## Fast EDA and early target selection {: #fast-eda-and-early-target-selection }

Fast EDA paves the way for early target selection. Once you have chosen the target, DataRobot populates the project options (partitioning, downsampling, number of workers, etc.) with default values based on your Fast EDA data. You can change and save the options, then set the project to auto-start at the completion of full EDA1. In this way, you do not have to check repeatedly for ingestion completion, which can be time consuming with quite large datasets. If there is any kind of error in the settings or ingest, DataRobot notifies you by email with an informative error message (if configured to do so). Once you set the target and any advanced options, even if you close your browser, DataRobot saves your project selections.

You can set the following at the completion of Fast EDA:

* [Target](model-data#set-the-target-feature)
* [Metric](additional#change-the-optimization-metric)
* [Initial number of workers](worker-queue)
* [Modeling mode](model-data#set-the-modeling-mode)
* [Advanced options](adv-opt/index)
	* [Smart Downsampling](smart-ds)
	* [Partitioning Method](partitioning)
	* [Additional Parameters](additional)

Until full EDA1 completes, you cannot:

* View [feature importance](model-ref#data-summary-information)
* Create [feature lists](feature-lists#create-feature-lists)
* Perform [feature transformations](model-data#create-new-features)

## Apply early target selection {: #apply-early-target-selection }

To use early target selection, keep an eye on the **Start** screen and the processing status reported in the right sidebar. Fast EDA is part of the ingestion process, but if your dataset is too small for early target selection to make sense, you won't be able to modify these selections and EDA1 will go on to complete. If early target selection is applicable to your project, you will see a change in the start screen that indicates early target selection is an option:

![](images/early-target-shadow.png)

To use early target selection:

1. [Import your dataset](import-to-dr) to DataRobot.

2. When Fast EDA completes (part-way through the full EDA1 process), you are allowed to enter a target variable. Scroll down to explore your data and you see a yellow information message indicating, approximately, the amount of data used for the preliminary results:

	![](images/early-target-2.png)

	!!! note
	    The informational message disappears after completion of EDA1.

3. Enter a target variable. The **Data** page displays the auto-start toggle:

	![](images/early-target-3.png)

4. Click the [**Show Advanced options**](adv-opt/index) link to set additional parameters.

5. If you choose to auto-start the model build process, toggle the auto-start and [select a modeling mode](model-data#set-the-modeling-mode):

	![](images/early-target-4.png)

When full EDA1 completes, DataRobot launches the model building process using the criteria you set.

## More info... {: #more-info }

When working with large datasets, there are some differences in behaviors that you should note.

### Train into validation and holdout {: #train-into-validation-and-holdout }

If, when training models, you trained into the validation and/or holdout sets, those scores display `N/A` on the Leaderboard:

![](images/early-target-na.png)

With large datasets, DataRobot disables internal cross-validation when you train models into validation/holdout. For anything over 800MB, DataRobot uses [TVH](data-partitioning#training-validation-and-holdout-tvh) as the default validation method. This is because the validation/holdout rows are used for training the model, the scores are not likely to be an accurate representation of the model performance on unseen data (and thus, `N/A`).

Some additional considerations for models displaying `N/A`:

* They are not represented in the **Learning Curves** or **Speed vs Accuracy** tabs.
* The **Lift Chart** and **Feature Effects** tabs are unavailable.
* You cannot compute predictions using the **Make Predictions** tab.
* You cannot run DataRobot Prime.

### Change model sample size {: #change-model-sample-size }

You can change model sample size either from the [Leaderboard](creating-addl-models#use-add-new-model) or the [**Repository**](repository#create-a-new-model). Additionally, you cannot change the sample size for blender models. If you do wish to change a blender sample size, you can:

1. Retrain each constituent model at the new sample size.
2. Blend the constituent models to [make a new blender](creating-addl-models#create-a-blended-model).

### Understand the messages {: #understand-the-messages }

DataRobot provides some notifications to help you interpret the preliminary data displayed and used for early target selection. For example:

The [Smart Downsampling](smart-ds) setting is available (for binary classification or zero-boosted regression problems) after you set your target. The notification about the feature indicates the subset of data, in number of rows, that DataRobot will use in modeling. You can change the value in **Advanced options**:

![](images/early-target-6.png)

The dataset notification tells you the number of rows in your dataset that are missing the target variable (and are therefore excluded from model building/predictions):

![](images/early-target-7.png)

Additionally, auto-start returns a partitioning error when DataRobot bases preliminary calculations for partitioning settings on a subset of your dataset. If the cardinality of your partitioning column is outside the given range, auto-start returns an error.
