Aprendizado de Máquina em JavaScript: bibliotecas para Node.js — visão geral e exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Aprendizado de Máquina em JavaScript (Node.js): bibliotecas e ferramentas



Embora o Python continue sendo a linguagem dominante na área de Data Science, o ecossistema JavaScript (especialmente Node.js) está se desenvolvendo ativamente e oferece ferramentas poderosas para aprendizado de máquina. Isso permite que desenvolvedores frontend e backend integrem modelos de ML diretamente em aplicações web, soluções de servidor, chatbots e até dispositivos IoT. Neste artigo, veremos as principais bibliotecas para Node.js que permitem treinar redes neurais, executar modelos pré-treinados e realizar tarefas clássicas de ML.



1. TensorFlow.js — framework poderoso do Google

TensorFlow.js é uma porta completa do famoso TensorFlow para JavaScript. Ele funciona tanto no navegador quanto no Node.js, usando WebGL ou CUDA (através de @tensorflow/tfjs-node-gpu) para acelerar os cálculos. A biblioteca permite carregar modelos pré-treinados (por exemplo, MobileNet, PoseNet) e treinar os seus próprios.



Instalação:

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


Exemplo: rede neural simples para regressão

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

// Criando um modelo simples: y = 2x - 1const model = tf.sequential();model.add(tf.layers.dense({units: 1, inputShape: [1]}));

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

// Dados de treinamentoconst 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(); // Deve ser ~19}train();

TensorFlow.js é ideal para tarefas de visão computacional, PLN e trabalho com séries temporais diretamente no servidor.



2. Brain.js — redes neurais para tarefas simples

Brain.js é uma biblioteca leve para criar e treinar redes neurais. É fácil de aprender, não requer conhecimento profundo de matemática e é ótimo para prototipagem. Suporta perceptrons multicamadas, LSTM e redes recorrentes.



Instalação:

npm install brain.js


Exemplo: XOR (ou exclusivo)

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 (próximo de 1)console.log(output);

Brain.js é útil para classificação, previsão e análise de texto (por exemplo, análise de sentimento).



3. ML.js — coleção de algoritmos clássicos

ML.js é um conjunto de módulos para aprendizado de máquina tradicional (sem redes neurais profundas). Inclui implementações de KNN, Naive Bayes, SVM, clusterização K-means, PCA, árvores de decisão e muito mais. Cada algoritmo é um pacote npm separado.



Instalação (exemplo com KNN):

npm install ml-knn


Exemplo: classificação da íris de Fisher

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

// Conjunto de treinamento: [comprimento da sépala, largura, comprimento da pétala, largura]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 é indispensável para implementação rápida de métodos estatísticos quando redes neurais não são necessárias.



4. Natural — processamento de linguagem natural (PLN)

Natural é uma biblioteca para PLN em Node.js. Inclui tokenização, stemming (Porter, Lancaster), classificação (Naive Bayes, regressão logística), TF-IDF, análise de sentimento e comparação fonética.



Instalação:

npm install natural<                    

Recommendations