0
import numpy as np 
import matplotlib.pyplot as plt 
import pandas as pd 

dataset = pd.read_csv('Position_Salaries.csv') 
X = dataset.iloc[:, 1:2].values 
y = dataset.iloc[:, 2].values 

from sklearn.preprocessing import StandardScaler 
sc_X = StandardScaler() 
sc_y = StandardScaler() 
X = sc_X.fit_transform(X) 
y = sc_y.fit_transform(y) 

Ok, hier ist das Problem. Sowohl X als auch Y sind ein einzelnes Merkmal und haben eine Spalte. Wie Sie sehen können, ist X eine Matrix. und y ein Vektor X = dataset.iloc [:, 1: 2] .values ​​ y = dataset.iloc [:, 2] .values ​​Fehler bei StandardScalar erhalten Fit_Transform

Nun, wenn ich y = sc_y.fit_transform(y) laufen bekomme ich die Fehlermeldung, dass es ist ein 1D-Array. Und wenn ich y = dataset.iloc[:, 2:3].values ändere, macht es ein 2D-Array. Aber ich möchte, dass es als 1D-Array bleibt, da es die abhängige Variable ist und wollen, dass es so bleibt. Auch habe ich früher verschiedene Beispiele gelöst, wo ich ähnliche Daten neu skalieren musste, und es gab mir nicht diese Art von Fehler. Nicht sicher, warum es mir jetzt gibt. Außerdem schaue ich beim Codieren ein Video an und im Video ist alles gleich, aber er bekommt keinen Fehler.

Antwort

-1

Sie können flatten verwenden, um ein 1D-Array aus dem 2D-Array zu erhalten:

y.flatten() 
1

StandardScaler auf die Merkmale gemeint ist zu arbeiten, die nicht mit Zetteln oder Zieldaten. Daher funktioniert nur auf 2-d Daten. siehe hier bitte für die Dokumentation:

Was Sie tun können, ist, scale function verwenden. StandardScaler ist nur ein Wrapper über diese Funktion.

from sklearn.preprocessing import scale 
y = scale(y) 

Oder wenn Sie StandarScaler verwenden möchten, müssen Sie Ihre y zu einem 2-D-Array wie folgt neu zu gestalten:

erklären
import numpy as np 
y = np.array(y).reshape(-1,1) 
y = sc_y.fit_transform(y) 
0
from sklearn.preprocessing import StandardScaler 
sc_X = StandardScaler() 
X = sc_X.fit_transform(X) 

sc_y = StandardScaler() 
y = np.array(y).reshape(-1,1) 
y = sc_y.fit_transform(y) 
y = y.flatten() 
+0

Sinn, warum dieses Stück Code funktioniert? – DarkCygnus

Verwandte Themen