JavaScript für maschinelles Lernen: praktische Werkzeuge und Codebeispiele
Im ersten Teil haben wir besprochen, warum JavaScript im maschinellen Lernen nützlich sein kann. Jetzt gehen wir zur Praxis über. Wenn Sie Programmierung lernen und ML ohne Umstieg auf Python ausprobieren möchten, ist dieser Artikel für Sie. Wir betrachten reale Bibliotheken, schreiben Code in Node.js und besprechen, wo JS wirklich praktisch ist. Das Material eignet sich sogar für JavaScript für Anfänger.
Bibliotheken für ML in JavaScript
Das JavaScript-Ökosystem entwickelt sich aktiv weiter. Hier sind die wichtigsten Werkzeuge für die Arbeit mit Daten und Modellen:
- TensorFlow.js — Port des bekannten Frameworks von Google. Ermöglicht das Trainieren von Modellen direkt im Browser oder auf Node.js.
- Brain.js — einfache Bibliothek für neuronale Netze. Ideal zum Lernen grundlegender Konzepte.
- ml.js — Sammlung von Hilfsprogrammen für Regression, Clustering und Klassifikation.
- Natural — Bibliothek für die Verarbeitung natürlicher Sprache (NLP).
Betrachten wir ein Beispiel mit TensorFlow.js. Installation über npm:
npm install @tensorflow/tfjsJetzt schreiben wir eine einfache lineare Regression:
const tf = require('@tensorflow/tfjs');
// Modell erstellenconst model = tf.sequential();model.add(tf.layers.dense({units: 1, inputShape: [1]}));
// Kompilierenmodel.compile({loss: 'meanSquaredError', optimizer: 'sgd'});
// Daten: y = 2x - 1const xs = tf.tensor2d([-1, 0, 1, 2, 3, 4], [6, 1]);const ys = tf.tensor2d([-3, -1, 1, 3, 5, 7], [6, 1]);
// Trainingmodel.fit(xs, ys, {epochs: 250}).then(() => { // Vorhersage model.predict(tf.tensor2d([5], [1, 1])).print();});Das Ergebnis wird nahe 9 liegen (da 2*5 - 1 = 9). Dieses Beispiel zeigt, wie einfach es ist, mit dem Training eines Modells in JavaScript zu beginnen.
Einschränkungen von JavaScript im ML
Trotz der Benutzerfreundlichkeit gibt es wichtige Einschränkungen:
- Leistung: JS ist Python bei numerischen Berechnungen unterlegen. TensorFlow.js nutzt WebGL, aber komplexe Modelle arbeiten langsamer.
- Ökosystem: Es gibt weniger ML-Bibliotheken als in Python. Es gibt keine Entsprechungen zu PyTorch oder scikit-learn.
- Community: Die meisten Beispiele und Lösungen sind in Python. Für JS ist es schwieriger, fertige Pipelines zu finden.
- Ressourcen: Node.js ist nicht für die Arbeit mit GPUs optimiert (obwohl es experimentelle Lösungen gibt).
Für kleine Projekte, Prototyping und Webanwendungen ist JS jedoch durchaus geeignet. Besonders wenn Sie bereits JavaScript kennen und keine neue Sprache lernen möchten.
Praktisches Beispiel: Textklassifikation mit Node.js
Wir verwenden die Bibliothek Natural, um die Stimmung einer Bewertung zu bestimmen. Dies ist nützlich für Chatbots oder die Analyse von Kommentaren.
Installation:
npm install naturalCode des Klassifikators:
const natural = require('natural');const classifier = new natural.BayesClassifier();
// Mit Beispielen trainierenclassifier.addDocument('ausgezeichnetes Produkt', 'positiv');classifier.addDocument('schreckliche Qualität', 'negativ');classifier.addDocument('okay, aber teuer', 'neutral');
classifier.train();
// Testenconsole.log(classifier.classify('sehr schlecht')); // negativconsole.log(classifier.getClassifications('super Sache'));Dieses Beispiel zeigt, wie JavaScript NLP-Aufgaben bewältigt. Für die Programmierung solcher Lösungen sind keine tiefen Mathematikkenntnisse erforderlich – die Bibliothek erledigt alles selbst.
Wann sollte man JavaScript für ML wählen?
Hier sind Szenarien, in denen JS gerechtfertigt ist:
- Webanwendungen: Das Modell arbeit