A simple text classification library for Starlight using TF-IDF and Naive Bayes.
npm install starlight-classifierstarlight-vec and starlight-ml. It uses TF-IDF vectorization and a simple Naive Bayes approach for classifying documents quickly and efficiently.
starlight-vec)
bash
npm install starlight-classifier starlight-vec starlight-ml
`
---
Usage
$3
`javascript
import { NaiveBayesClassifier, classify } from "starlight-classifier";
import * as ml from "starlight-ml";
`
---
$3
`javascript
// Sample documents
const docs = [
"I love machine learning",
"Starlight ML is amazing",
"Python is great for AI",
"I enjoy coding in JavaScript"
];
// Corresponding labels
const labels = ["tech", "tech", "tech", "programming"];
// Stopwords (optional)
const stopwords = ["is", "in"];
// Train classifier
const clf = classify(docs, labels, stopwords);
// Predict a new document
const newDoc = "I love AI and machine learning";
const prediction = clf.predict(newDoc);
console.log("Predicted class:", prediction); // e.g., "tech"
// Predict multiple documents
const batch = ["I code every day", "Starlight ML is cool"];
const batchPredictions = clf.predictBatch(batch);
console.log("Batch predictions:", batchPredictions);
`
---
$3
`javascript
import { NaiveBayesClassifier } from "starlight-classifier";
// Create classifier with stopwords
const clf = new NaiveBayesClassifier(["is", "and"]);
// Fit on documents
clf.fit(docs, labels);
// Transform and analyze similarity
const vec1 = clf.vectorizer.transform(docs[0]);
const vec2 = clf.vectorizer.transform(docs[1]);
const similarity = NaiveBayesClassifier.cosine(vec1, vec2);
console.log("Cosine similarity between doc1 and doc2:", similarity);
`
---
API
$3
* Creates a classifier instance.
* stopwords — optional array of words to ignore during vectorization.
$3
* Train classifier on an array of documents with corresponding labels.
$3
* Predict the class of a single document.
$3
* Predict the classes for multiple documents.
$3
* Convenience function: creates a classifier, fits it, and returns it.
---
Dependencies
* starlight-vec — TF-IDF vectorization for Starlight
* starlight-ml` — Text preprocessing utilities