# [sklearn][standardscaler] can I inverse the standardscaler for the model output?

## Question:

I have some data structured as below, trying to predict `t`

from the features.

```
train_df
t: time to predict
f1: feature1
f2: feature2
f3:......
```

Can `t`

be scaled with StandardScaler, so I instead predict `t'`

and then inverse the StandardScaler to get back the real time?

For example:

```
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(train_df['t'])
train_df['t']= scaler.transform(train_df['t'])
```

run regression model,

check score,

!! check predicted t’ with real time value(inverse StandardScaler) <- possible?

## Answers:

Yeah, and it’s conveniently called `inverse_transform`

.

The documentation provides examples of its use.

Here is sample code. You can replace here `data`

with `train_df['colunm_name']`

.

Hope it helps.

```
from sklearn.preprocessing import StandardScaler
data = [[1,1], [2,3], [3,2], [1,1]]
scaler = StandardScaler()
scaler.fit(data)
scaled = scaler.transform(data)
print(scaled)
# for inverse transformation
inversed = scaler.inverse_transform(scaled)
print(inversed)
```

While @Rohan’s answer generally worked for me and my DataFrame column, I had to reshape the data according to the below StackOverflow answer.

Sklearn transform error: Expected 2D array, got 1D array instead

```
scaler = StandardScaler()
scaler.fit(df[[col_name]])
scaled = scaler.transform(df[[col_name]])
```