JavaScript में मशीन लर्निंग: Node.js के लिए लाइब्रेरीज़ — समीक्षा और उदाहरण

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

JavaScript (Node.js) में मशीन लर्निंग: लाइब्रेरीज़ और टूल्स

हालांकि Python Data Science के क्षेत्र में सबसे लोकप्रिय भाषा है, JavaScript (खासकर Node.js) की इकोसिस्टम तेज़ी से बढ़ रही है और मशीन लर्निंग के लिए शक्तिशाली टूल्स प्रदान करती है। इससे frontend और backend डेवलपर्स अपने वेब ऐप्स, सर्वर सॉल्यूशंस, चैटबॉट्स और यहां तक कि IoT डिवाइसों में ML मॉडल्स को आसानी से शामिल कर सकते हैं। इस लेख में हम Node.js की उन प्रमुख लाइब्रेरीज़ पर नज़र डालेंगे जो न्यूरल नेटवर्क ट्रेनिंग, प्री-ट्रेंड मॉडल्स चलाने और क्लासिक ML टास्क को संभव बनाती हैं।

1. TensorFlow.js — Google का दमदार फ्रेमवर्क

TensorFlow.js, प्रसिद्ध TensorFlow का JavaScript पर पूरा पोर्ट है। यह ब्राउज़र और Node.js दोनों में काम करता है, और कंप्यूटेशन को तेज़ करने के लिए WebGL या CUDA (@tensorflow/tfjs-node-gpu के ज़रिए) का उपयोग करता है। यह लाइब्रेरी प्री-ट्रेंड मॉडल्स (जैसे MobileNet, PoseNet) लोड करने और खुद के मॉडल ट्रेन करने की सुविधा देती है।

इंस्टॉलेशन:

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

उदाहरण: रिग्रेशन के लिए सरल न्यूरल नेटवर्क

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

// एक सरल मॉडल बनाएं: y = 2x - 1
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [1]}));

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

// ट्रेनिंग डेटा
const 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(); // लगभग 19 आना चाहिए
}
train();

TensorFlow.js कंप्यूटर विज़न, NLP और टाइम सीरीज़ एनालिसिस के लिए सर्वर पर सीधे उपयोग करने के लिए बेहतरीन है।

2. Brain.js — आसान कामों के लिए न्यूरल नेटवर्क

Brain.js एक हल्की-फुल्की लाइब्रेरी है जो न्यूरल नेटवर्क बनाने और ट्रेन करने के लिए है। इसे सीखना बहुत आसान है, इसमें गणित की गहरी जानकारी की ज़रूरत नहीं है, और यह प्रोटोटाइपिंग के लिए एकदम सही है। यह मल्टी-लेयर परसेप्ट्रॉन, LSTM और रिकरंट नेटवर्क को सपोर्ट करता है।

इंस्टॉलेशन:

npm install brain.js

उदाहरण: XOR (एक्सक्लूसिव OR)

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 (1 के करीब)
console.log(output);

Brain.js क्लासिफिकेशन, प्रेडिक्शन और टेक्स्ट एनालिसिस (जैसे सेंटीमेंट डिटेक्शन) के लिए उपयोगी है।

3. ML.js — क्लासिकल एल्गोरिदम का संग्रह

ML.js पारंपरिक मशीन लर्निंग (डीप न्यूरल नेटवर्क के बिना) के लिए मॉड्यूल्स का एक सेट है। इसमें KNN, नेव बेज़, SVM, K-means क्लस्टरिंग, PCA, डिसीज़न ट्री और बहुत कुछ शामिल है। हर एल्गोरिदम एक अलग npm पैकेज है।

इंस्टॉलेशन (KNN का उदाहरण):

npm install ml-knn

उदाहरण: फिशर आइरिस का क्लासिफिकेशन

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

// ट्रेनिंग सेट: [सीपल की लंबाई, चौड़ाई, पंखुड़ी की लंबाई, चौड़ाई]
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 उन स्थितियों में बहुत काम आता है जहां न्यूरल नेटवर्क की ज़रूरत नहीं है और स्टैटिस्टिकल मेथड्स को जल्दी लागू करना है।

4. Natural — नेचुरल लैंग्वेज प्रोसेसिंग (NLP)

Natural Node.js के लिए एक NLP लाइब्रेरी है। इसमें टोकनाइज़ेशन, स्टेमिंग (Porter, Lancaster), क्लासिफिकेशन (नेव बेज़, लॉजिस्टिक रिग्रेशन), TF-IDF, सेंटीमेंट एनालिसिस और फोनेटिक तुलना शामिल है।

इंस्टॉलेशन:

npm install natural

उदाहरण: टेक्स्ट क्लासिफिकेशन (स्पैम/नॉट स्पैम)

const natural = require('natural');
const classifier = new natural.BayesClassifier();

classifier.addDocument('क्या आपने हमारा ऑफर देखा?', 'spam');
classifier.addDocument('कल की मीटिंग याद रखना', 'not spam');
classifier.train();

console.log(classifier.classify('मुफ्त में पैसे कमाएं')); // 'spam'
console.log(classifier.classify('प्रोजेक्ट डेडलाइन कल है')); // 'not spam'

Natural टेक्स्ट डेटा को प्रोसेस करने और उससे जानकारी निकालने के लिए एक बेहतरीन टूल है।

अनुशंसाएँ