Skip to content

To help python programmers experiment and learn. All algorithms implemented from scratch in jupyter notebook.

License

Notifications You must be signed in to change notification settings

jti107/Machine-Learning-by-Andrew-Ng-Implementation-in-Python

 
 

Repository files navigation

Machine Learning by Andrew Ng - Implementation in Python

To help python programmers experiment and learn. All Machine Learning algorithms are implemented from scratch in jupyter notebook.

Prerequisites

  1. Knowledge of Numpy, pandas and matplotlib libraries of python.

    You can learn about them from their respective docs -

    Numpy docs - https://docs.scipy.org/doc/numpy-1.13.0/user/quickstart.html

    Pandas docs - https://pandas.pydata.org/pandas-docs/stable/getting_started/tutorials.html

    Matplotlib docs - https://matplotlib.org/tutorials/index.html

  2. You can use any editor of your choice. But I recommend using Jupyter notebook as it allows you to edit your code snippets and run them again and again, easily shareable and helps in data visualisation.

    You can install jupyter notebook along with Anaconda Distribution(https://www.anaconda.com/distribution/).

Folders :

1. Algorithms & Best Practices:

The algorithms folder contains all the basic algorithms of Machine Learning implemented from scratch in python. It also has few notebooks explaining the best practices as mentioned by Andrew Ng in the course.

2. Neural Networks from Scratch:

This folder contains neural network written from scratch using numpy and pandas. The visualizations are using Matplotlib.

3. Programming Assignments :

  • The programming assignments folder contains the solutions of the programming assignments given during the course.

  • I recommend to solve them yourself first(u can take help from the algorithms folder).

  • Then you can compare your solution with mine. People with better solutions are welcome to send a pull request.

Submission of Programming Assignments for Grading :

Contributing :

  • You can add new Algorithms, Best Practices and Neural Networks written from scratch in the respective folders. Follow the "fork-and-pull" Git workflow.

    1. Fork the repo on GitHub
    2. Clone the project to your own machine
    3. Commit changes to your own branch
    4. Push your work back up to your fork
    5. Submit a Pull request so that I can review your changes

One Friendly Advice

  • Play with the code, change values, enjoy the math, experiment and learn along.

Acknowledgements

  • I would like to thank professor Andrew Ng and the crew of the Stanford Machine Learning class on Coursera for such an awesome class.

  • I would also like to thank Gerges Dib for making such a helpful repository, enabling us to submit our programming assignments.

About

To help python programmers experiment and learn. All algorithms implemented from scratch in jupyter notebook.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 98.8%
  • Python 1.2%