基於JavaScript的機器學習算法和工具庫

Github: github.com/laoqiren/ml…git

剛興趣的同窗歡迎加QQ羣:485305514交流github

mlhelper

npm
npm

Algorithms and utils for Machine Learning in JavaScript based on Node.js. while implementing commonly used machine learning algorithms, This library attempts to provide more abundant ecology, such as matrix and vector operations, file parsing, feature engineering, data visualization, and so on.npm

QQ Group: 485305514bash

Installation

$ npm install mlhelper
複製代碼

Docoumention

Example

Algorithm

const AdaBoost = require('mlhelper').algorithm.AdaBoost;

const dataSet = [
    [1.0,2.1],
    [2.0,1.1],
    [1.3,1.0],
    [1.0,1.0],
    [2.0,1.0]
]
const labels = [1.0,1.0,-1.0,-1.0,1.0];
let ada = new AdaBoost(dataSet,labels,40);
let result = ada.classify([[1.0,2.1],
    [2.0,1.1],
    [1.3,1.0],
    [1.0,1.0],
    [2.0,1.0]]);
console.log(result); // [ 1, 1, -1, -1, -1 ]
複製代碼

Utils

Matrix:ide

const Matrix = require('mlhelper').utils.Matrix;

let m1 = new Matrix([
    [1,2,3],
    [3,4,5]
]);

let m2 = new Matrix([
    [2,2,6],
    [3,1,5]
]);

console.log(m2.sub(m1)) // Matrix { arr: [ [ 1, 0, 3 ], [ 0, -3, 0 ] ] }
console.log(m1.mult(m2)) // Matrix { arr: [ [ 2, 4, 18 ], [ 9, 4, 25 ] ] }
複製代碼

Vector:svg

const Vector = require('mlhelper').utils.Vector;

let v = new Vector([5,10,7,1]);
console.log(v.argSort()) // [ 3, 0, 2, 1 ]
複製代碼

fileParser:ui

const parser = require('mlhelper').utils.fileParser;

let dt = parser.read_csv(path.join(__dirname,'./train.csv'),{
    index_col: 0,
    delimiter: ',',
    header: 0,
    dataType: 'number'
});
let labels = dt.getClasses();
let dataSet =dt.drop('quality').values;
複製代碼

Feature Engineeringthis

// preprocessing features
const preprocessing = require('mlhelper').utils.features.preprocessing;

// make the features obey the standard normal distribution(Standardization)
let testStandardScaler = preprocessing.standardScaler(dataSet);

let testNormalize = preprocessing.normalize(dataSet);

let testBinarizer = preprocessing.binarizer(dataSet);

// ...
複製代碼

graph tools:spa

Decision Tree:code

charts.drawDT(dt.getTree(),{
    width:600,
    height:400
});
複製代碼

https://user-gold-cdn.xitu.io/2017/11/30/1600ba24cd238f76?w=560&h=360&f=png&s=26946

logistic regression

charts.drawLogistic(dataSet,labels,weights);
複製代碼

Contribute

The original purpose of this project is to learn, and now I need more people to participate in this project, and any issue and good advice is welcome.

git clone

git clone https://github.com/laoqiren/mlhelper.git
複製代碼

install dependencies&&devdependecies

npm install
複製代碼

development

npm run dev
複製代碼

test

npm run test
複製代碼

build

npm run build
複製代碼

LICENSE

MIT.

You can use the project for any purpose, except for illegal activities.

相關文章
相關標籤/搜索