[PYTHON] Formatieren Sie DataFrame-Daten mit Pytorch in ein Formular, das mit NN trainiert werden kann

Überblick

Beim Trainieren und Überprüfen von Daten mit einem neuronalen Netzwerk müssen die Daten in die Form (Datengruppe, Bezeichnung) gebracht werden. MNIST und CIFAR10 haben diese Form im Voraus, aber wenn Sie die Daten verwenden, die Sie haben, müssen Sie diese Form selbst erstellen. Das Verständnis hat jedoch einige Zeit gedauert, daher werde ich es hier speichern.

Darüber hinaus gab es Personen, die auf Englisch über die grundlegende Methode geantwortet haben. Wenn Sie also Englisch sprechen können, lesen Sie bitte die folgende Reihe von Austauschen. Convert Pandas dataframe to PyTorch tensor?

Diese Qiita ergänzt den Kontext und erklärt sie etwas ausführlicher. Bitte lesen Sie sie nur, wenn dies erforderlich ist.

Trennen Sie Ihre Daten in Daten und Beschriftungen

Ziehen Sie die Beschriftung aus dem DataFrame (Name der Beschriftungsspalte: Ziel)

train_label = torch.tensor(train['target'].values)

Zitat: Pandas-Datenrahmen in PyTorch-Tensor konvertieren?

Ziehen Sie Datengruppen aus dem beschrifteten DataFrame

train_data = torch.tensor(X.drop('target', axis = 1).values)

Zitat: Pandas-Datenrahmen in PyTorch-Tensor konvertieren?

Dies kann jedoch zu folgendem Fehler führen:

Error


TypeError: can't convert np.ndarray of type numpy.object_. The only supported types are: float64, float32, float16, int64, int32, int16, int8, uint8, and bool.

Wie oben erwähnt, kann der Typ von np.ndarray, wenn er ein Objekt ist, nicht in torch.tensor konvertiert werden. Ein Objekt ist ein Datentyp, der eine Mischung aus mehreren Datentypen ist. Daher müssen die Daten in einen der oben genannten entsprechenden Datentypen des Tensors konvertiert werden. Lassen Sie es uns beispielsweise mit dem Typ float32 vereinheitlichen. Es funktioniert gut, wenn Sie es wie folgt umschreiben.

train_data = torch.tensor(X.drop('target', axis = 1).values.astype(np.float32)) 

Zitat: Pandas-Datenrahmen in PyTorch-Tensor konvertieren?

Verwenden Sie den für Ihre Daten geeigneten Datentyp. Einzelheiten zu Datentypen finden Sie unter Liste der NumPy-Datentypen dtype und Konvertierung nach Astyp (Besetzung).

Konvertieren Sie den Datenrahmen der Datengruppe nur in einen Tensor

Oder wenn es einen DataFrame (X_train) gibt, der von Anfang an keine Beschriftung hat, konvertieren Sie ihn in np.array und dann in Tensor.

train_data = torch.tensor(np.array(X_train.astype('f')))

Daten formatieren in (Datengruppe, Label)

from torch.utils import data
train_tensor = data.TensorDataset(train_data, train_label) 

Die Klasse torch.utils.data.TensorDataset verwendet Tensoren als Argument und setzt die Daten zusammen, indem die Tensoren gemäß der ersten Dimension indiziert werden. Natürlich erhalten Sie eine Fehlermeldung, wenn Sie nicht über die Anzahl der zu trainierenden Daten und Beschriftungen verfügen. Referenz: offizielles Tutorial von pytorch

das ist alles.

Recommended Posts

Formatieren Sie DataFrame-Daten mit Pytorch in ein Formular, das mit NN trainiert werden kann
Konvertieren Sie Bilder aus dem FlyCapture SDK in ein Formular, das mit openCV verwendet werden kann
Formatübersicht der Formate, die mit gensim serialisiert werden können
Lassen Sie uns ein Diagramm erstellen, auf das mit IPython geklickt werden kann
Konvertieren Sie aus SpriteUV2 exportierte Netzdaten in ein Format, das von Spine importiert werden kann
Kann ich Datenwissenschaftler werden?
[Python] Erstellen Sie ein Diagramm, das mit Plotly verschoben werden kann
Erstellen Sie eine Spinbox, die mit Tkinter in Binär angezeigt werden kann
Ich habe ein Shuffle gemacht, das mit Python zurückgesetzt (zurückgesetzt) werden kann
Erstellen Sie ein Währungsdiagramm, das mit Plotly (2) verschoben werden kann.
Erstellen Sie eine Spinbox, die mit Tkinter in HEX angezeigt werden kann
Erstellen Sie ein Währungsdiagramm, das mit Plotly (1) verschoben werden kann.
[Python] Zeichnen Sie mit Plotly Höhendaten auf eine sphärische Oberfläche und zeichnen Sie einen Globus, der rund und rund gedreht werden kann
Über die Sache, dass Fackelzusammenfassung wirklich verwendet werden kann, wenn ein Modell mit Pytorch erstellt wird
Erstellen Sie eine Web-App, die mit Plotly Dash einfach visualisiert werden kann
Hinweise zum Erstellen von Zahlen, die mit matplotlib in Zeitschriften veröffentlicht werden können
Dateitypen, die mit Go verwendet werden können
Listen Sie Pakete auf, die mit pip aktualisiert werden können
Machen Sie Urlaubsdaten mit Pandas zu einem Datenrahmen
Trainieren Sie MNIST-Daten mit PyTorch mithilfe eines neuronalen Netzwerks
Merkmalsmenge, die aus Zeitreihendaten extrahiert werden kann
Liste der Farben, die mit tkinter (Denkmal) eingestellt werden können
Ein Server, der POST-Daten mit flask / python wiedergibt
Grenzwerte, die mit MeCab sofort analysiert werden können
Python-Programm, das ical-Daten in Text konvertiert
Ein Memo, das mit Python & Spark Daten aus dashDB liest
Es scheint, dass Skeleton Tracking mit RealSense durchgeführt werden kann
Konvertieren Sie RGB und HSV mit PyTorch in teilbare Form
Erstellen Sie eine Docker-Umgebung, die PyTorch und JupyterLab verwenden kann
Erstellen Sie eine Web-API, die Bilder mit Django liefern kann
Implementieren Sie einen Thread, der durch Ausnutzen von Yield angehalten werden kann
Ich habe die Vorbehandlung untersucht, die mit PyCaret durchgeführt werden kann
Ich habe ein Plug-In erstellt, das "Daruma-san Fell" mit Minecraft ausführen kann
Konvertieren Sie Wetterdaten im GRIB2-Format, die mit pygrib nicht geöffnet werden können, in netCDF und visualisieren Sie sie
Verstehen Sie die Wahrscheinlichkeiten und Statistiken, die für das Fortschrittsmanagement mit einem Python-Programm verwendet werden können
[Python] Ein Programm, das die maximale Anzahl von Spielzeugen findet, die mit Ihrem Geld gekauft werden können
Eine Geschichte und ihre Implementierung, dass beliebige a1 * a2-Daten durch ein dreischichtiges neuronales ReLU-Netzwerk mit a1- und a2-Zwischenneuronen ohne Fehler dargestellt werden können.