Wie bekomme ich die ursprünglichen Indizes der Daten bei der Verwendung von train_test_split()?Scikit-lernen train_test_split mit Indizes
Was ich habe, ist die folgende
from sklearn.cross_validation import train_test_split
import numpy as np
data = np.reshape(np.randn(20),(10,2)) # 10 training examples
labels = np.random.randint(2, size=10) # 10 labels
x1, x2, y1, y2 = train_test_split(data, labels, size=0.2)
Aber dies gibt nicht die Indizes der ursprünglichen Daten. Eine Problemumgehung besteht darin, Indizes zu Daten hinzuzufügen (z. B. data = [(i, d) for i, d in enumerate(data)]
) und sie dann innerhalb von train_test_split
zu übergeben und dann erneut zu erweitern. Gibt es eine sauberere Lösung?
Beachten Sie auch [sklearn.model_selection.ShuffleSplit] (http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.ShuffleSplit. html) und [sklearn.model_selection.StratiifiedShuffleSplit] (http: // scikit-lear n.org/stable/modules/generated/sklearn.model_selection.StratiifiedShuffleSplit.html). – Jost