The JavaScript Data Science Survival Kit.
The fields of machine learning and data science can appear intractable and overwhelming, often leaving newcomers at a loss for knowing where to begin. However, once you learn basic principles and workflows, you will see many opportunities where these techniques can help you in your projects. You can better understand your users, embed a recommendation engine into your application, or easily ship dashboards including statistical summaries and stunning visualizations.
The rise of Node.js and Electron are powering a new era where JavaScript continues to expand beyond the browser and becomes a critical component of server and desktop applications. With JavaScript being everywhere, one of the emerging next frontiers for JavaScript world domination is data science.
In this workshop, you will learn how to utilize the JavaScript open-source library stdlib for various data science tasks. Through a series of brief exercises, attendees will get a hands-on introduction, ranging from analytics to machine learning to exploratory data analysis and visualization. For example, you will investigate the accuracy of the native JavaScript Math functions, build a spam classifier, and generate synthetic texts using Markov chains.
After completing this workshop, you will have a solid understanding of what kind of problems they can approach by which techniques. Furthermore, you will have experience in conducting a full analysis from start to end, i.e., exploring, cleaning, transforming, and analyzing data with state-of-the-art techniques.
The workshop will close with an outline of future steps for data science in JavaScript and opportunities for community development of next-generation tools.
Developing and running the workshop requires the following prerequisites:
- Git: version control
- GNU make: development utility and task runner
- Node.js: JavaScript runtime (version
>= 0.10
) - npm: package manager (version
> 2.7.0
; if Node< 1.0.0
, version> 2.7.0
and< 4.0.0
) - bower: front-end package manager (version
>=1.8.0
)
To acquire the source code, first navigate to the parent directory into which you want to place the project git repository.
$ cd /path/to/parent/destination/directory
Next, clone the repository.
$ git clone https://github.com/stdlib-js/workshops-fullstack-london-2017.git
If you are wanting to contribute to the workshop, first fork the repository and amend the previous command.
$ git clone https://github.com/<username>/workshops-fullstack-london-2017.git
where <username>
is your GitHub username (assuming you are using GitHub to manage public repositories). If you are not interested in code archeology, you can reduce the download time by limiting the clone depth.
$ git clone --depth=<depth> https://github.com/<username>/workshops-fullstack-london-2017.git
where <depth>
refers to the number of commits you want to download (as few as 1
and as many as the entire project history).
If you are behind a firewall, you may need to use the https
protocol, rather than the git
protocol.
$ git config --global url."https://".insteadOf git://
Once you have finished cloning the repository into the destination directory, you should see the folder workshops-fullstack-london-2017
. To proceed with configuring your environment, navigate to the project folder.
$ cd workshops-fullstack-london-2017
To install development dependencies,
$ make install-node
To launch a local development server,
$ make dev
which will automatically open the workshop in a local web browser.
If you have previously downloaded the workshop using git clone
, you can update an existing source tree from the base project directory using git pull
.
$ git pull
If you are working with a forked repository and wish to sync your local repository with the upstream project (i.e., incorporate changes from the main project repository into your local repository), assuming you have configured a remote which points to the upstream repository,
$ git fetch upstream
$ git merge upstream/<branch>
where upstream
is the remote name and <branch>
refers to the branch you want to merge into your local copy.
- This repository uses EditorConfig to maintain consistent coding styles between different editors and IDEs, including browsers.
See LICENSE.
Copyright © 2017. The Stdlib Authors.