Skip to content

🤖 TensorFlow.js CSV loading on steroids. Clean up, normalise, transform, shuffle, and split your data all in a handful of lines and dive right into the fun parts of ML.

Notifications You must be signed in to change notification settings

isair/tensorflow-load-csv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tensorflow-load-csv

License: MIT TypeScript code style: prettier

workflows

A library that aims to remove the overhead of creating tensors from CSV files completely; allowing you to dive right into the fun parts of your ML project.

  • Lightweight.
  • Fast.
  • Flexible.
  • TypeScript compatible.
  • 100% test coverage.

Documentation

You can find the docs here.

Installation

NPM:

npm install tensorflow-load-csv

Yarn:

yarn add tensorflow-load-csv

Usage

Simple usage:

import loadCsv from 'tensorflow-load-csv';

const { features, labels } = loadCsv('./data.csv', {
  featureColumns: ['lat', 'lng', 'height'],
  labelColumns: ['temperature'],
});

features.print();
labels.print();

Advanced usage:

import loadCsv from 'tensorflow-load-csv';

const { features, labels, testFeatures, testLabels } = loadCsv('./data.csv', {
  featureColumns: ['lat', 'lng', 'height'],
  labelColumns: ['temperature'],
  mappings: {
    height: (ft) => ft * 0.3048, // feet to meters
    temperature: (f) => (f < 50 ? [1, 0] : [0, 1]), // cold or hot classification
  }, // Map values based on which column they are in before they are loaded into tensors.
  flatten: ['temperature'], // Flattens the array result of a mapping so that each member is a new column.
  shuffle: true, // Pass true to shuffle with a fixed seed, or a string to use as a seed for the shuffling.
  splitTest: true, // Splits your data in half. You can also provide a certain row count for the test data, or a percentage string (e.g. '10%').
  standardise: ['height'], // Calculates mean and variance for each feature column using data only in features, then standardises the values in features and testFeatures. Does not touch labels.
  prependOnes: true, // Prepends a column of 1s to your features and testFeatures tensors, useful for regression problems.
});

features.print();
labels.print();

testFeatures.print();
testLabels.print();

About

🤖 TensorFlow.js CSV loading on steroids. Clean up, normalise, transform, shuffle, and split your data all in a handful of lines and dive right into the fun parts of ML.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published