[PYTHON] Teilen Sie den Datensatz (ndarray) mit NumPy in beliebige Proportionen

Methode

Verwenden Sie numpy.split ().

(Beispiel 1) Teilen Sie den Datensatz in Zug: Test = 7: 3

import numpy as np

ds = np.arange(128)  # array([0, 1, 2, ..., 127])

train, test = np.split(ds, [int(ds.size * 0.7)])

train  # array([[0, 1, ..., 88])
test   # array([[89, 90, ..., 127])

train.size  # 89 ≈ 128 * 0.7 = 89.6
test.size   # 39 ≈ 128 * 0.3 = 38.4

(Beispiel 2) Teilen Sie den Datensatz in Zug: Test: Validierung = 6: 2: 2

import numpy as np

ds = np.arange(128)  # array([0, 1, 2, ..., 127])

indices = [int(ds.size * n) for n in [0.6, 0.6 + 0.2]]  # [76, 102]
train, test, validation = np.split(ds, indices)

train       # array([0, 1, ..., 75])
test        # array([76, 77, ..., 101])
validation  # array([102, 103, ..., 127])

train.size       # 76 ≈ 128 * 0.6 = 76.8
test.size        # 26 ≈ 128 * 0.2 = 25.6
validation.size  # 26 ≈ 128 * 0.2 = 25.6

Referenz

Recommended Posts

Teilen Sie den Datensatz (ndarray) mit NumPy in beliebige Proportionen
Kleine Geschichte: Teilen Sie das Alphabet in beliebige Zahlen und geben Sie es aus (gelöst)
Teilen Sie Daten mit Django (2) in projektähnliche Einheiten.
[GIMP] [Python-Fu] Teilen Sie das Bild in Schwerter
Teilen Sie Daten mit Django (3) in projektähnliche Einheiten.
Finden Sie mit NumPy die Position über dem Schwellenwert
Teilen Sie die Zeichenfolge in die angegebene Anzahl von Zeichen
Teilen Sie Daten mit Django in projektähnliche Einheiten