Ich habe einen relativ kleinen Datensatz, den ich in den Speicher mit einem Pandas DataFrame laden. Ich möchte diese Daten mithilfe der Stapelverarbeitung in ein Tensorflow-Modell einspeisen, wobei die Unterstützung für spärliche (kategorische) Spalten beibehalten wird. Ich möchte auch vermeiden, meine Daten in einem anderen Format auf Datenträger zu serialisieren. Obwohl dies nicht zu kompliziert erscheint, konnte ich kein gutes Beispiel in der Dokumentation finden und hatte eine ziemlich harte Zeit, selbst eine geeignete input_fn
zu entwerfen.Tensorflow - Eingabe von DataFrame mit Stapelverarbeitung und spärlichen/kategorischen Daten
Ein Spielzeug Beispiel-Datensatz wäre:
df = pd.DataFrame(np.random.randint(1, 4, [7, 3]), columns=['c0', 'c1', 'c2'])
df['c1'] = df['c1'].astype(str) + 'g'
df['c2'] = (df['c2'] > 2.5).astype(int)
>>> df
c0 c1 c2
0 3 3g 1
1 1 1g 0
2 1 2g 0
3 2 2g 1
4 2 3g 0
5 1 3g 0
6 3 1g 0
wo c0
eine dichte numerische Spalte ist, c1
ist eine kategorische Spalte und c2
ist eine binäre Label Spalte.
Meine Lösung ist unten, alles schöner und/oder effizienter wäre großartig.