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

859f4da · Apr 7, 2021
Mar 3, 2021
Mar 3, 2021
Mar 19, 2021
Mar 25, 2021
Mar 19, 2021
Aug 5, 2020
Aug 5, 2020
Mar 3, 2021
Sep 15, 2020
Feb 22, 2021
Aug 5, 2020
Mar 19, 2021
Aug 5, 2020
Mar 3, 2021
Aug 5, 2020
Mar 8, 2021
Mar 19, 2021
Mar 25, 2021
Apr 7, 2021
Aug 5, 2020
Aug 5, 2020
Mar 3, 2021

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