Socket
Socket
Sign inDemoInstall

autoencoder

Package Overview
Dependencies
1
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    autoencoder

Autoencoder


Version published
Maintainers
1
Created

Readme

Source

Autoencoder

A simple autoencoder module for experimentation and dimensionality reduction. Supports automatic scaling

Autoencoder

Install and load

Install from npm:

npm install autoencoder

Then load with require:

const Autoencoder = require('autoencoder')

Create new autoencoder

Autoencoder supports two ways of a model initialization:

  • Provide the number of layers, input size, encoder output size (number of latent variables) and the activation function name
const ae = new Autoencoder({
  'nInputs': 10,
  'nHidden': 2,
  'nLayers': 2, // (default 2) - number of layers in each encoder/decoder
  'activation': 'relu' // (default 'relu') - applied to all, but the last layer
})
  • Define each layer separately for both encoder and decoder
const ae = new Autoencoder({
  'encoder': [
    {'nOut': 10, 'activation': 'tanh'},
    {'nOut': 2, 'activation': 'tanh'}
  ],
  'decoder': [
    {'nOut': 2, 'activation': 'tanh'},
    {'nOut': 10}
  ]
})

Activation functions: relu, tanh, sigmoid

As other neural nets, autoencoder is very sensitive to input scaling. To make it easier the scaling is enabled by default, you can control it with an extra parameter scale that takes true or false

Train autoencoder

ae.fit(X, {
  'batchSize': 100,
  'iterations': 5000,
  'method': 'adagrad', // (default 'adagrad')
  'stepSize': 0.01,
})

Optimization methods: sgd, adagrad, adam

Encode, Decode, Predict

const Y = ae.encode(X)
const Xd = ae.decode(Y)
const Xp = ae.predict(X) // Similar to ae.decode(ae.encode(X))

Web demo (dimensionality reduction)

Try the package in the browser on StatSim Vis. Choose a CSV file, change a dimensionality reduction method to Autoencoder, then click Run.

Keywords

FAQs

Last updated on 31 Jul 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc