All Projects → ClimbsRocks → learningmachines

ClimbsRocks / learningmachines

Licence: other
Teaching machine learning!

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to learningmachines

Cli Boot.camp
💻 command-line bootcamp adventure in your browser
Stars: ✭ 88 (+91.3%)
Mutual labels:  teaching
Public
Public documents for the Master of Data Science program at the University of British Columbia
Stars: ✭ 133 (+189.13%)
Mutual labels:  teaching
Py Rse
Research Software Engineering with Python course material
Stars: ✭ 145 (+215.22%)
Mutual labels:  teaching
Research And Coding
研究资源列表 A curated list of research resources
Stars: ✭ 100 (+117.39%)
Mutual labels:  teaching
Stats337
Readings in applied data science
Stars: ✭ 1,625 (+3432.61%)
Mutual labels:  teaching
Journalism Syllabi
Computer-Assisted Reporting and Data Journalism Syllabuses, compiled by Dan Nguyen
Stars: ✭ 136 (+195.65%)
Mutual labels:  teaching
Lms
LMS allows teachers and educators to easily provide feedback on student programming work - both manually and automatically.
Stars: ✭ 74 (+60.87%)
Mutual labels:  teaching
Jupyterhub Deploy Teaching
Reference deployment of JupyterHub and nbgrader on a single server
Stars: ✭ 194 (+321.74%)
Mutual labels:  teaching
Simple Java Calculator
🔢 Simple calculator written in Java with Eclipse. This calculator is simple with an easy code to help novices learn how to operate a calculator.
Stars: ✭ 130 (+182.61%)
Mutual labels:  teaching
Rtutor
Creating interactive R Problem Sets. Automatic hints and solution checks. (Shiny or RStudio)
Stars: ✭ 141 (+206.52%)
Mutual labels:  teaching
Wswp
Code for the second edition Web Scraping with Python book by Packt Publications
Stars: ✭ 112 (+143.48%)
Mutual labels:  teaching
Simple Java Text Editor
📝 PHNotepad is a simple Java text/code editor (notepad) written in Java. It has also nice features such as Search tool, Find/Replace text/code, Auto completion, Nice Image Buttons for better UX, etc.
Stars: ✭ 128 (+178.26%)
Mutual labels:  teaching
Learnquery
Learn JavaScript fundamentals by building your own jQuery equivalent library
Stars: ✭ 136 (+195.65%)
Mutual labels:  teaching
Selfie
An educational software system of a tiny self-compiling C compiler, a tiny self-executing RISC-V emulator, and a tiny self-hosting RISC-V hypervisor.
Stars: ✭ 1,318 (+2765.22%)
Mutual labels:  teaching
Duet
A tiny language, a subset of Haskell aimed at aiding teachers teach Haskell
Stars: ✭ 155 (+236.96%)
Mutual labels:  teaching
Instantwp
InstantWP is a complete standalone, portable WordPress development environment.
Stars: ✭ 83 (+80.43%)
Mutual labels:  teaching
Openolat
Learning Management System OpenOlat
Stars: ✭ 135 (+193.48%)
Mutual labels:  teaching
Data Cleaning 101
Data Cleaning Libraries with Python
Stars: ✭ 243 (+428.26%)
Mutual labels:  teaching
P4 Learning
Compilation of P4 exercises, examples, documentation, slides for learning or teaching
Stars: ✭ 190 (+313.04%)
Mutual labels:  teaching
Yrssf
一个分布式(p2p)云教学/云课堂/直播平台系统CMS,睿易派的开源替代品
Stars: ✭ 141 (+206.52%)
Mutual labels:  teaching

A Conjurer's Introduction to Machine Learning in JavaScript

Getting machine learning up and running is similar to picking up other external libraries. Take on these projects and you'll have solved problems using neural networks, random forests, and Support Vector Machines!

PreCourse Steps:

  • Fork and clone this repo (and I'm never opposed to some appreciation in the form of a star!)
  • Download the kaggle data and move it to the right folder
  • Use npm to install all dependencies
  • Start the server!
    • nodemon server.js

You can now make api calls to this server, either through your browser (http://localhost:5000/neuralNet/startNet), or through curl on your command line (curl localhost:5000/neuralNet/startNet)

The key files in our node server are in the neuralNet folder.

neuralNetLogic.js is where we have all the actual JS logic built out.

Your turn!

Here are the things I expect you to do

  1. Create a new net
  2. Train that net
  3. Get predicted outcomes from that net in testing
  4. Add in new data to train the net. Rewrite what's currently in formatData with new data points, or 'features' as they're called in data science, that are combinations of the raw data we already have. Examples would include exact ratios that the net currently can't access because we've already transformed the data into a number between 0 and 1.

Extra Credit

  • Handle cases that have missing data ("NA") differently than cases that have full data
  • Perform any other feature engineering you can think of

Fantasy Mode

  • Parallelize the training of multiple nets at the same time. Training each net is synchronous, so parallelizing won't help you train a single net any faster. But you could try creating multiple versions that have different parameters (number of nodes, hidden layers, learning rate, etc.) and train those in parallel with each other.

  • Build out grid search to try different combinations of number of hidden layers and number of nodes. Trying different combinations of hyperparameters (the parameters that determine the shape or conditions of the algorithm, such as number of nodes, or number of hidden layers) to find the optimal set is called grid search. scikit-learn has a good module explaining and implementing grid search. We can't use their implementation direction, but it's a good explanation of the high-level concept.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].