# Accessing raw data

Raw data and wrapped class objects for the `TransformedOutcome` method are stored as class attributes. The wrapped class objects are described in the [Usage: modeling](https://github.com/df-foundation/pylift/tree/1b025a2bc1ee3237642bb19d83d54f854133e247/docs/markdown_archive/usage/README.md) section.

Everything else, from processed data to the transformation functions can be accessed as listed below:

```
up.randomized_search_params # Parameters that are used in `up.randomized_search()`
up.grid_search_params       # Parameters that are used in `up.grid_search()`


up.transform                # Outcome transform function.
up.untransform              # Reverse of outcome transform function.

# Data (`y` in any of these can be replaced with `tc` for treatment or `x`).
up.transformed_y_train_pred  # The predicted uplift.
up.transformed_y_train  # The transformed outcome.
up.y_train
up.y_test
up.y                    # All the `y` data.
up.df
up.df_train
up.df_test

# Once a model has been created...
up.model
up.model_final
up.Q_cgains # 'aqini' or 'qini' can be used in place of 'cgains'
up.q1_cgains
up.q2_cgains
```

## Evaluation curve information

The raw data for all evaluation curves can be accessed within any `UpliftEval` object (`upev` below):

```
upev.PLOTTYPE_x  # percentile
upev.PLOTTYPE_y
```

where the phrase `PLOTTYPE` can be replaced with any of the following: `qini`, `aqini`, `cgains`, `cuplift`, `balance`, `uplift`. Because `up.test_results_` and `up.train_results_` are `UpliftEval` class objects, they can also be similarly accessed as shown above.

The theoretical maximum curves can also be extracted:

```
# Overfitting theoretical maximal qini curve.
upev.qini_max_x  # percentile
upev.qini_max_y

# "Practical" max curve.
upev.qini_pmax_x
upev.qini_pmax_y

# No sleeping dogs curve.
upev.qini_nosdmax_x
upev.qini_nosdmax_y
```

`up.train_results_` can be used to plot the qini performance on the training data, as follows: `up.train_results_.plot_qini()`.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pylift.org/raw-data.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
