resonance-ml
v1.0.3
Published
A lightweight Resonance Frequency Classifier machine learning algorithm.
Maintainers
Readme
Resonance-ML
A lightweight, simple Machine Learning classifier based on resonance frequency + cosine similarity. This package allows developers to train models using a CSV dataset and predict outcomes based on input features.
Features
- Train your ML model using a CSV file.
- Select columns for training and output class.
- Predict using user input.
- Extremely fast and lightweight.
- Works in React, Node.js, Express, and browser.js apps.
Installation
npm install resonance-mlProject Structure
resonance-ml/
│
├── package.json
├── index.js
├── README.md
├── src/
│ └── ResonanceFrequencyClassifier.jsQuick Example (Node.js)
import { ResonanceFrequencyClassifier } from "resonance-ml";
const classifier = new ResonanceFrequencyClassifier();
// Training data
const trainingData = [
{ height: 170, weight: 65, gender: "male" },
{ height: 160, weight: 55, gender: "female" }
];
classifier.train(trainingData, ["height", "weight"], "gender");
// Prediction
const result = classifier.predict({ height: 168, weight: 62 });
console.log(result);Usage in React + CSV Upload
Example UI flow:
- User uploads CSV file
- User selects training columns
- User selects output column (class)
- User inputs test values
- Prediction displayed
Example React Component
import React, { useState } from "react";
import Papa from "papaparse";
import { ResonanceFrequencyClassifier } from "resonance-ml";
export default function MLTrainer() {
const [csvData, setCsvData] = useState([]);
const [columns, setColumns] = useState([]);
const [features, setFeatures] = useState([]);
const [target, setTarget] = useState("");
const [prediction, setPrediction] = useState(null);
const classifier = new ResonanceFrequencyClassifier();
const handleCSV = (e) => {
Papa.parse(e.target.files[0], {
header: true,
complete: (results) => {
setCsvData(results.data);
setColumns(Object.keys(results.data[0]));
}
});
};
const trainModel = () => {
classifier.train(csvData, features, target);
};
const testPredict = (testInput) => {
const result = classifier.predict(testInput);
setPrediction(result);
};
return (
<div>
<h2>Resonance ML Trainer</h2>
<input type="file" accept=".csv" onChange={handleCSV} />
<h3>Select feature columns</h3>
{columns.map((col) => (
<label key={col}>
<input
type="checkbox"
value={col}
onChange={(e) =>
setFeatures((prev) => [...prev, e.target.value])
}
/>
{col}
</label>
))}
<h3>Select target column</h3>
<select onChange={(e) => setTarget(e.target.value)}>
<option>Select...</option>
{columns.map((col) => (
<option key={col}>{col}</option>
))}
</select>
<button onClick={trainModel}>Train Model</button>
<button
onClick={() => testPredict({ height: 168, weight: 62 })}
>
Predict Test Input
</button>
{prediction && <h3>Prediction: {prediction}</h3>}
</div>
);
}API Reference
train(data, featureColumns, targetColumn)
Trains the model.
data: Array of objects (CSV rows)featureColumns: Columns used for trainingtargetColumn: Column to predict
predict(inputObject)
Returns the predicted class based on similarity.
License
MIT
Author
Elanesan Kumaravel
