Giter VIP home page Giter VIP logo

tsne-lib's Introduction

t-SNE Interactive

This program allows the users to perform the t-Distributed Stochastic Neighbour Embedding algorithm. It allows for the creation of animation showcasing the progress of the application and also allows users to zoom-in to a region of graph produced in order to perform t-SNE on the zoomed-in region (the utility of this is described in the following section).

Introduction

t-SNE is based on the following publication by Laurens van der Maaten et al.

Visualizing Data using t-SNE

Animation

This library allows you to create animations as t-SNE is going through its iterations using the animate() method of the Tsne object. This is an example of what it looks like running on the MNIST dataset.

a relative link

Zooming-in

t-SNE is a stochastic method which means that if we are performing dimensionality reduction on a large number of points into a 2-D region, there might be scenarios wherein points look close by virtue of being far away from other points. But it might so happen that these points are far away n-dimensional space and t-SNE might be able to display this distance between the points by applying the algorithm on just these points without having a lot of other noise that pushes these points together during dimensionality reduction.

The difficulty in doing this is that when we use a library like sklearn it is easy to n-dimenional points to 2-dimensions and plot the 2-D points on a graph. But when we want to apply t-SNE to a subsection of the graph an inverse function that maps from the points in 2-dimensions to n-dimensions is not readily available. This program allows you to do this by simply zooming into a region of the graph that you want to re-perform t-SNE on and selecting the desired perplexity of the t-SNE being applied.

Usage

Firstly, it is recommended that you install all the dependencies of this project in a virtual environment using requirements.txt.

python3 app.py --input <input-csv-file>

The input file here denotes the original CSV file where t-SNE is to be applied. Note that data_generator.py has the appropriate methods to deal with data preprocessing.

tsne-lib's People

Contributors

0xshreyash avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.