web-dev-qa-db-fra.com

[sklearn] [standardscaler] puis-je inverser le standardscaler pour la sortie du modèle?

J'ai des données structurées comme ci-dessous, essayant de prédire t à partir des fonctionnalités.

train_df

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

t peut-il être mis à l'échelle avec StandardScaler, donc je prédis à la place t' puis inverser le StandardScaler pour revenir en temps réel?

Par exemple:

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

exécuter un modèle de régression,

vérifier le score,

!! vérifier la prévision t 'avec la valeur en temps réel (StandardScaler inverse) <- possible?

14
hyon

Ouais, et ça s'appelle commodément inverse_transform .

La documentation fournit des exemples de son utilisation.

8
Arya McCarthy

Voici un exemple de code. Vous pouvez remplacer ici data par train_df['colunm_name']. J'espère que ça aide.

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)
0
rohan chikorde