Maschinelles Lernen mit JavaScript: Bibliotheken für Node.js — Überblick und Beispiele

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Maschinelles Lernen mit JavaScript (Node.js): Bibliotheken und Werkzeuge



Obwohl Python die dominierende Sprache im Bereich Data Science bleibt, entwickelt sich das JavaScript-Ökosystem (insbesondere Node.js) aktiv weiter und bietet leistungsstarke Werkzeuge für maschinelles Lernen. Dies ermöglicht es Frontend- und Backend-Entwicklern, ML-Modelle direkt in Webanwendungen, Serverlösungen, Chatbots und sogar IoT-Geräte zu integrieren. In diesem Artikel betrachten wir die wichtigsten Bibliotheken für Node.js, mit denen Sie neuronale Netze trainieren, vortrainierte Modelle ausführen und klassische ML-Aufgaben erledigen können.



1. TensorFlow.js — leistungsstarkes Framework von Google

TensorFlow.js ist ein vollständiger Port des berühmten TensorFlow nach JavaScript. Es funktioniert sowohl im Browser als auch in Node.js und nutzt WebGL oder CUDA (über @tensorflow/tfjs-node-gpu) zur Beschleunigung von Berechnungen. Die Bibliothek ermöglicht das Laden vortrainierter Modelle (z. B. MobileNet, PoseNet) und das Trainieren eigener Modelle.



Installation:

npm install @tensorflow/tfjs @tensorflow/tfjs-node


Beispiel: Einfaches neuronales Netz für Regression

const tf = require('@tensorflow/tfjs');require('@tensorflow/tfjs-node');

// Erstellen eines einfachen Modells: y = 2x - 1const model = tf.sequential();model.add(tf.layers.dense({units: 1, inputShape: [1]}));

model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});

// Trainingsdatenconst xs = tf.tensor2d([-1, 0, 1, 2, 3, 4], [6, 1]);const ys = tf.tensor2d([-3, -1, 1, 3, 5, 7], [6, 1]);

async function train() { await model.fit(xs, ys, {epochs: 250}); model.predict(tf.tensor2d([10], [1, 1])).print(); // Sollte ~19 sein}train();

TensorFlow.js ist ideal für Aufgaben des maschinellen Sehens, NLP und die Arbeit mit Zeitreihen direkt auf dem Server.



2. Brain.js — neuronale Netze für einfache Aufgaben

Brain.js ist eine leichtgewichtige Bibliothek zum Erstellen und Trainieren neuronaler Netze. Sie ist einfach zu erlernen, erfordert keine tiefgehenden Mathematikkenntnisse und eignet sich hervorragend für das Prototyping. Unterstützt werden mehrschichtige Perzeptronen, LSTM und rekurrente Netze.



Installation:

npm install brain.js


Beispiel: XOR (exklusives ODER)

const brain = require('brain.js');const net = new brain.NeuralNetwork();

net.train([ { input: [0, 0], output: [0] }, { input: [0, 1], output: [1] }, { input: [1, 0], output: [1] }, { input: [1, 1], output: [0] }], { iterations: 2000 });

const output = net.run([1, 0]); // ~0.97 (nahe 1)console.log(output);

Brain.js eignet sich für Klassifikation, Prognosen und Textanalyse (z. B. Stimmungsanalyse).



3. ML.js — Sammlung klassischer Algorithmen

ML.js ist eine Sammlung von Modulen für traditionelles maschinelles Lernen (ohne tiefe neuronale Netze). Es enthält Implementierungen von KNN, Naivem Bayes, SVM, K-Means-Clustering, PCA, Entscheidungsbäumen und vielem mehr. Jeder Algorithmus ist ein separates npm-Paket.



Installation (Beispiel mit KNN):

npm install ml-knn


Beispiel: Klassifikation der Iris-Blüten

const KNN = require('ml-knn');

// Trainingsdaten: [Kelchblattlänge, -breite, Blütenblattlänge, -breite]const trainingSet = [[5.1, 3.5, 1.4, 0.2], [7.0, 3.2, 4.7, 1.4], [6.3, 3.3, 6.0, 2.5]];const labels = ['setosa', 'versicolor', 'virginica'];

const knn = new KNN(trainingSet, labels, {k: 3});const prediction = knn.predict([5.9, 3.0, 4.2, 1.5]); // 'versicolor'console.log(prediction);

ML.js ist unverzichtbar für die schnelle Implementierung statistischer Methoden, wenn keine neuronalen Netze benötigt werden.



4. Natural — Verarbeitung natürlicher Sprache (NLP)

Natural ist eine Bibliothek für NLP in Node.js. Sie umfasst Tokenisierung, Stemming (Porter, Lancaster), Klassifikation (Naiver Bayes, logistische Regression), TF-IDF, Stimmungsanalyse und phonetischen Vergleich.



Installation:

npm install natural<                    

Empfehlungen