Excel/CSV → Tensoren
Tabellendaten in Tensoren umwandeln: Input-Features, Output-Labels, Normalisierung.
👋 Hi! HerrKI hier - heute erkläre ich dir Excel & CSV-Daten!
🧭 Einfach gesagt: Deine Excel-Tabelle wird zum Zahlenblock: jede Zeile ein Beispiel, jede Spalte ein Messwert, den die KI verrechnet.
Stell dir vor: Du hast eine Excel-Tabelle mit hunderten Zeilen - Verkaufszahlen, Wetter-Daten, Schülernoten. Wie bringst du diese Tabellen ins neuronale Netz? Genau - als Tensor!
Heute lernst du, wie Tabellendaten in Tensoren umgewandelt werden. Das ist super wichtig, denn die meisten echten Daten kommen als CSV oder Excel: Börsenkurse, Sensordaten, Kundenlisten - alles Tabellen! Und eine Tabelle kennst du schon aus Kapitel „Was sind Tensoren?": das ist eine Matrix (Rank 2) - jetzt mit echten Daten.
- ✅ Wie Zeilen und Spalten zu 2D-Tensoren werden
- ✅ Was sind Features (Eingabe) und Labels (Ausgabe)?
- ✅ Warum man Spalten am Ende auf eine gemeinsame Skala bringt (ausführlich in Kapitel 135)
- ✅ Wie du CSV-Dateien in TensorFlow.js einliest
Praxis-Beispiel: Du hast Daten von Wohnungen (Quadratmeter, Zimmer, Baujahr) und willst den Preis vorhersagen. Wie macht man das? Jede Spalte wird zu einem Feature, jede Zeile zu einem Trainingsbeispiel - fertig ist der Tensor! 🏠📊
💡 HerrKI-Tipp: Excel/CSV = 2D-Tensoren! Zeilen = Beispiele, Spalten = Features. Eine Tabelle mit 100 Zeilen × 5 Spalten = Tensor mit Shape [100, 5]. Einfach, oder? 📈
🎥 Video-Erklärung von HerrKI
Schau dir dieses Video an, um CSV/Excel-Daten als Tensoren noch besser zu verstehen:
📋 Beispiel: Pflanzenwachstums-Daten aus Excel
Stell dir vor, du hast über mehrere Wochen Daten über das Wachstum deiner Pflanzen gesammelt. Du hast drei Faktoren gemessen und möchtest jetzt vorhersagen, wie stark eine Pflanze wächst!
💡 Die Fragestellung:
Gegeben: Wassermenge, Sonnenstunden, Temperatur
Gesucht: Wie viel wächst die Pflanze? (in cm pro Woche)
Deine Excel-Tabelle:
| 💧 Wasser (ml/Tag) | ☀️ Sonne (h/Tag) | 🌡️ Temp (°C) | 📈 Wachstum (cm/Woche) |
|---|---|---|---|
| 100 | 6 | 22 | 5.2 |
| 150 | 8 | 24 | 7.8 |
| 80 | 4 | 20 | 3.5 |
| 200 | 7 | 23 | 8.9 |
| 120 | 5 | 21 | 6.1 |
🔍 Struktur der Daten:
- Input-Features (X): Die ersten 3 Spalten - das sind unsere Messungen
- Output-Label (Y): Die letzte Spalte - das ist, was wir vorhersagen wollen
- Zeilen: Jede Zeile ist ein Trainingsbeispiel (eine Messung)
🔬 Runter zum Tensor: Von Excel zu Tensoren
1️⃣ Input-Features (X) trennen
Wähle alle Spalten aus, die als Eingabe dienen sollen:
// 5 Beispiele (Zeilen), 3 Features (Spalten)
const inputData = [
[100, 6, 22], // Beispiel 1
[150, 8, 24], // Beispiel 2
[80, 4, 20], // Beispiel 3
[200, 7, 23], // Beispiel 4
[120, 5, 21] // Beispiel 5
];
Input-Tensor Shape: [5, 3]
5 Trainingsbeispiele × 3 Features
2️⃣ Output-Labels (Y) trennen
Die Werte, die du vorhersagen möchtest:
// 5 Beispiele (Zeilen), 1 Output
const outputData = [
5.2, // Wachstum für Beispiel 1
7.8, // Wachstum für Beispiel 2
3.5, // Wachstum für Beispiel 3
8.9, // Wachstum für Beispiel 4
6.1 // Wachstum für Beispiel 5
];
Output-Tensor Shape: [5, 1]
5 Trainingsbeispiele × 1 Zielwert
3️⃣ In TensorFlow.js-Tensoren umwandeln
Jetzt erstellen wir die Tensoren für das Training:
// Input-Tensor erstellen
const inputTensor = tf.tensor2d(inputData);
// Shape: [5, 3]
// Output-Tensor erstellen
const outputTensor = tf.tensor2d(outputData, [5, 1]);
// Shape: [5, 1]
// Jetzt kann das neuronale Netz trainiert werden!
await model.fit(inputTensor, outputTensor, {
epochs: 100,
batchSize: 2
});
⚖️ Vorgeschmack: alle Spalten auf eine gemeinsame Skala
Schau dir die Zahlen oben noch einmal an: Wasser 100–200, Sonne 4–8, Temperatur 20–24 — drei völlig
verschiedene Größenordnungen in einem Tensor. Erlaubt ist das: Der Tensor ist nur der Container und
darf jede Zahl enthalten (Kapitel 010). Trotzdem
rechnet man vor dem Training fast immer jede Spalte auf eine gemeinsame Skala um,
damit die Spalte mit den größten Zahlen das Lernen nicht einfach überstimmt — eine Zeile Mathematik
pro Wert, etwa Wasser 150 → (150 − 80) / (200 − 80) = 0,58. Wie das genau geht (Min-Max
und Z-Score), warum es sonst richtig weh tut und was Profis dabei falsch machen, klärt
„Alles auf eine Skala“ — genau dann, wenn du es zum
ersten Mal brauchst: direkt nach
„Multiple Regression“.
🎯 Vollständiges Beispiel: Training mit Pflanzendaten
Zum Mitlesen, nicht zum Verstehen: So sieht der komplette Weg
später aus — von der Tabelle bis zum fertig trainierten Modell. Was relu,
adam, loss und epochs bedeuten, baust du Schritt für Schritt
auf: in „Was ist ein Neuronales Netz?“,
„Wie falsch ist falsch? (Loss)“,
„Gradient Descent zum Anfassen“ und
„Einfache Lineare Regression“. Hier zählt nur die
erste Hälfte: Aus der Tabelle wird ein Tensor.
// 1. Daten vorbereiten (aus CSV/Excel)
const inputData = [
[100, 6, 22],
[150, 8, 24],
[80, 4, 20],
[200, 7, 23],
[120, 5, 21]
];
const outputData = [[5.2], [7.8], [3.5], [8.9], [6.1]];
// 2. Tensoren erstellen
const X = tf.tensor2d(inputData); // Shape: [5, 3]
const Y = tf.tensor2d(outputData); // Shape: [5, 1]
// 3. Normalisieren (die Funktion dazu baust du in Kapitel 135)
const { normalized: X_norm, min: X_min, max: X_max } = normalizeData(X);
const { normalized: Y_norm, min: Y_min, max: Y_max } = normalizeData(Y);
// 4. Modell erstellen
const model = tf.sequential({
layers: [
tf.layers.dense({ inputShape: [3], units: 8, activation: 'relu' }),
tf.layers.dense({ units: 1 })
]
});
// 5. Kompilieren
model.compile({
optimizer: 'adam',
loss: 'meanSquaredError'
});
// 6. Training
await model.fit(X_norm, Y_norm, {
epochs: 100,
batchSize: 2,
callbacks: {
onEpochEnd: async (epoch, logs) => {
console.log(`Epoch ${epoch}: loss = ${logs.loss}`);
}
}
});
// 7. Vorhersage für neue Pflanze
const newPlant = tf.tensor2d([[130, 6, 22]]);
const newPlant_norm = newPlant.sub(X_min).div(X_max.sub(X_min));
const prediction_norm = model.predict(newPlant_norm);
const prediction = prediction_norm.mul(Y_max.sub(Y_min)).add(Y_min);
prediction.print(); // z.B. 6.3 cm/Woche
🔙 Zurück zur Anwendung
Erinnerst du dich an die Excel-Tabelle vom Anfang — hunderte Zeilen mit Verkaufszahlen, Wetterdaten oder Schülernoten? Genau die passt jetzt ins Netz: Zeilen = Beispiele, Spalten = Features, Shape = [Beispiele, Features] — damit liest du ab sofort jede Tabelle wie ein KI-Entwickler. Und zurück zur Anwendung: Genau so sagt eine Versicherung Beiträge voraus und ein Online-Shop deine nächste Bestellung — eine Zeile pro Kunde, eine Spalte pro Merkmal, am Ende eine Zahl. Und DESHALB ist eine saubere Tabelle in der Praxis oft mehr wert als das cleverste Modell: Was in den Spalten steht, entscheidet, was das Netz überhaupt lernen kann.
Jetzt wird es richtig spannend — wie wird aus SPRACHE ein Tensor? Willkommen in der Welt von ChatGPT & Co.
📚 Zum Weiterlesen
- Der nächste Schritt im Code: TensorFlow.js-Guide, Training models —
tensorflow.org/js/guide/train_models
— zeigt
model.fit()mit genau solchen X-/Y-Tensoren, wie du sie hier gebaut hast - Warum normalisiert wird: scikit-learn, Preprocessing data — scikit-learn.org/stable/modules/preprocessing.html — Min-Max und Z-Score im Detail, mit den Fallstricken, die Kapitel 135 vertieft (auf Englisch)
- Dasselbe noch einmal in Python: Kaggle, Intro to Machine Learning — kaggle.com/learn/intro-to-machine-learning — sieben kostenlose Lektionen, die genau hier ansetzen: Tabelle einlesen, Spalten auswählen, erstes Modell trainieren (auf Englisch, kostenlose Anmeldung)
🧠 Kurzer Check — hast du es?
Drei schnelle Fragen, dann bist du durch — klick einfach deine Antwort an:
[50, 3].[50, 1]: eine Antwort pro Zeile.✅ Das nimmst du mit
- Zeilen = Beispiele, Spalten = Features. Tabellendaten sind perfekt für neuronale Netze — jede Zeile ist ein Trainingsbeispiel.
- Erst X und Y trennen. Input-Features (X) auf die eine Seite, Output-Label (Y) auf die andere — vor allem anderen.
- Dann
tf.tensor2d(data). Shape beachten: X wird[n, 3], Y wird[n, 1]— also[Anzahl_Beispiele, Anzahl_Features]. - Normalisierung ist fast immer nötig. Min-Max (0–1) oder Z-Score (μ=0, σ=1), damit alle Spalten gleich wichtig sind.
- Die Min-/Max-Werte hebst du auf. Sonst kannst du die Vorhersage nicht zurückrechnen — wie und warum: Kapitel 135.
📎 So zitierst du dieses Kapitel
HerrKI: Excel/CSV → Tensoren. herrki.de/030_tabellen_als_tensoren, ein privates Hobbyprojekt von Terragon.de, abgerufen am 4. November 2026.
Lizenz: CC BY 4.0 — frei nutzen, teilen, anpassen. Nennung: „HerrKI (herrki.de), ein privates Hobbyprojekt von Terragon.de“.
War dieses Kapitel verständlich?
Danke! Deine Rückmeldung ist angekommen.
Freiwillig und anonym: gespeichert werden nur das Kapitel, deine Wertung und dein Text — sonst nichts. Keine Kennung, kein Cookie, kein Konto.
