Machine Learning Course with Python:

Overview

A Machine Learning Course with Python

https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat https://badges.frapsoft.com/os/v2/open-source.png?v=103 https://img.shields.io/twitter/follow/machinemindset.svg?label=Follow&style=social

Table of Contents

Download Free Deep Learning Resource Guide

Slack Group

Introduction

The purpose of this project is to provide a comprehensive and yet simple course in Machine Learning using Python.

Motivation

Machine Learning, as a tool for Artificial Intelligence, is one of the most widely adopted scientific fields. A considerable amount of literature has been published on Machine Learning. The purpose of this project is to provide the most important aspects of Machine Learning by presenting a series of simple and yet comprehensive tutorials using Python. In this project, we built our tutorials using many different well-known Machine Learning frameworks such as Scikit-learn. In this project you will learn:

  • What is the definition of Machine Learning?
  • When it started and what is the trending evolution?
  • What are the Machine Learning categories and subcategories?
  • What are the mostly used Machine Learning algorithms and how to implement them?

Machine Learning

Title Document
An Introduction to Machine Learning Overview

Machine Learning Basics

_img/intro.png
Title Code Document
Linear Regression Python Tutorial
Overfitting / Underfitting Python Tutorial
Regularization Python Tutorial
Cross-Validation Python Tutorial

Supervised learning

_img/supervised.gif
Title Code Document
Decision Trees Python Tutorial
K-Nearest Neighbors Python Tutorial
Naive Bayes Python Tutorial
Logistic Regression Python Tutorial
Support Vector Machines Python Tutorial

Unsupervised learning

_img/unsupervised.gif
Title Code Document
Clustering Python Tutorial
Principal Components Analysis Python Tutorial

Deep Learning

_img/deeplearning.png
Title Code Document
Neural Networks Overview Python Tutorial
Convolutional Neural Networks Python Tutorial
Autoencoders Python Tutorial
Recurrent Neural Networks Python IPython

Pull Request Process

Please consider the following criterions in order to help us in a better way:

  1. The pull request is mainly expected to be a link suggestion.
  2. Please make sure your suggested resources are not obsolete or broken.
  3. Ensure any install or build dependencies are removed before the end of the layer when doing a build and creating a pull request.
  4. Add comments with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
  5. You may merge the Pull Request in once you have the sign-off of at least one other developer, or if you do not have permission to do that, you may request the owner to merge it for you if you believe all checks are passed.

Final Note

We are looking forward to your kind feedback. Please help us to improve this open source project and make our work better. For contribution, please create a pull request and we will investigate it promptly. Once again, we appreciate your kind feedback and support.

Developers

Creator: Machine Learning Mindset [Blog, GitHub, Twitter]

Supervisor: Amirsina Torfi [GitHub, Personal Website, Linkedin ]

Developers: Brendan Sherman*, James E Hopkins* [Linkedin], Zac Smith [Linkedin]

NOTE: This project has been developed as a capstone project offered by [CS 4624 Multimedia/ Hypertext course at Virginia Tech] and Supervised and supported by [Machine Learning Mindset].

*: equally contributed

Citation

If you found this course useful, please kindly consider citing it as below:

@software{amirsina_torfi_2019_3585763,
  author       = {Amirsina Torfi and
                  Brendan Sherman and
                  Jay Hopkins and
                  Eric Wynn and
                  hokie45 and
                  Frederik De Bleser and
                  李明岳 and
                  Samuel Husso and
                  Alain},
  title        = {{machinelearningmindset/machine-learning-course:
                   Machine Learning with Python}},
  month        = dec,
  year         = 2019,
  publisher    = {Zenodo},
  version      = {1.0},
  doi          = {10.5281/zenodo.3585763},
  url          = {https://doi.org/10.5281/zenodo.3585763}
}
Comments
  • OF and LR updates

    OF and LR updates

    Taking into account review notes. Having trouble setting up my python environment, so I have not been able to test the code yet. I hope to fix that today/tomorrow. Fixed the table in LR.

    opened by BroccoliHijinx 11
  • Multilayer Perceptron write-up

    Multilayer Perceptron write-up

    Submitting a PR now to allow for comments on what is done. There are placeholders for what is left to be done, and I should be able to do that tomorrow.

    Left to do;

    images and associated text

    More on backprop

    Defining and explaining actual MLPs (most right now is on NN basics)

    opened by BroccoliHijinx 3
  • Addressed comments brought up in peer review

    Addressed comments brought up in peer review

    I decided to remove the multiple linear regression section because it seems beyond the scope of this module. Those images, MLR.png and MLR_POBF.png, can safely be removed from our image folder. I left a mention to it for completeness. I also added captions for all figures and equations to explain what they are.

    opened by b-sherman 3
  • Logistic Regression Files, some overfitting changes

    Logistic Regression Files, some overfitting changes

    Within Logistic Regression, I have a table that I cannot get working. I want to keep messing around with it, but I'm not sure what is wrong. I am using the rst basic table, but I think the spacing is off somehow.

    opened by BroccoliHijinx 3
  • Naive bayes question

    Naive bayes question

    Hi @astorfi , Thanks for your great work ! I'm a beginner of ML. Tonight when I learn Naive Bayes Classification in your tutorial, I found the Equation 1 in the tutorial is different from that in Wiki. I wonder which one is correct or both of them are right?

    image


    image

    Look forward to your reply.

    opened by suedroplet 2
  • Chinese Translation

    Chinese Translation

    Hi @astorfi , Thanks for your great work ! My friends and I have learned a lot here. China has a platform called KESCI (https://www.kesci.com). They provide algorithm competition opportunities for developers, which is similar to Kaggle, and self - training online environment to enhance their algorithmic ability. I am going to translate the whole series to Chinese and applied for a column to publish them on KESCI, as a series. Hope to get your permission. thanks.

    opened by Vivian0210 2
  • Overfitting rst file

    Overfitting rst file

    I don't think including code with this module makes much sense, so I just included a write-up. I tried to keep it short and simple, since this is something to keep in mind in the entire course.

    opened by BroccoliHijinx 2
  • Naive bayes

    Naive bayes

    I just created a new branch for the updated naive bayes files since the old one is very far behind now. Included are the images, code, and module text.

    opened by b-sherman 1
  • Linear regression

    Linear regression

    I redid all the linear regression code with a completely new data set to assure originality and because the existing scikit-learn ones are confusing to me so they are bound to be confusing to a new reader. I also changed all the images to reflect the new code. I tried to simplify the code as much as possible and only used the bare minimum number of references to scikit-learn functions. I also revised the rst document to reflect these changes. All generated images now have a link to the code I used to create them as well because it seemed like a good idea.

    opened by b-sherman 1
  • Updated linear_regression.rst

    Updated linear_regression.rst

    +Added a Motivation section that talks about what the problem is +Changed raw URLs into hyperlinks on smaller words +Added a Code section that links to the module code and talks about what it does +Added a Conclusion section to close out the module

    opened by b-sherman 1
  • Reference fixes

    Reference fixes

    Changed the "References" indent level in several modules to be consistent. Changed header casing in some modules to be consistent. Requesting merge so that the site can be updated for screenshots to include in the final project report.

    opened by b-sherman 0
Releases(1.0)
Owner
Instill AI
A company offering AI-based solutions to real-world applications.
Instill AI
Open-Source CI/CD platform for ML teams. Deliver ML products, better & faster. ⚡️🧑‍🔧

Deliver ML products, better & faster Giskard is an Open-Source CI/CD platform for ML teams. Inspect ML models visually from your Python notebook 📗 Re

Giskard 335 Jan 04, 2023
Simple and flexible ML workflow engine.

This is a simple and flexible ML workflow engine. It helps to orchestrate events across a set of microservices and create executable flow to handle requests. Engine is designed to be configurable wit

Katana ML 295 Jan 06, 2023
A simple python program that draws a tree for incrementing values using the Collatz Conjecture.

Collatz Conjecture A simple python program that draws a tree for incrementing values using the Collatz Conjecture. Values which can be edited: Length

davidgasinski 1 Oct 28, 2021
Intel(R) Extension for Scikit-learn is a seamless way to speed up your Scikit-learn application

Intel(R) Extension for Scikit-learn* Installation | Documentation | Examples | Support | FAQ With Intel(R) Extension for Scikit-learn you can accelera

Intel Corporation 858 Dec 25, 2022
PySpark + Scikit-learn = Sparkit-learn

Sparkit-learn PySpark + Scikit-learn = Sparkit-learn GitHub: https://github.com/lensacom/sparkit-learn About Sparkit-learn aims to provide scikit-lear

Lensa 1.1k Jan 04, 2023
A Python Package to Tackle the Curse of Imbalanced Datasets in Machine Learning

imbalanced-learn imbalanced-learn is a python package offering a number of re-sampling techniques commonly used in datasets showing strong between-cla

6.2k Jan 01, 2023
UpliftML: A Python Package for Scalable Uplift Modeling

UpliftML is a Python package for scalable unconstrained and constrained uplift modeling from experimental data. To accommodate working with big data, the package uses PySpark and H2O models as base l

Booking.com 254 Dec 31, 2022
Uplift modeling and causal inference with machine learning algorithms

Disclaimer This project is stable and being incubated for long-term support. It may contain new experimental code, for which APIs are subject to chang

Uber Open Source 3.7k Jan 07, 2023
Fast Fourier Transform-accelerated Interpolation-based t-SNE (FIt-SNE)

FFT-accelerated Interpolation-based t-SNE (FIt-SNE) Introduction t-Stochastic Neighborhood Embedding (t-SNE) is a highly successful method for dimensi

Kluger Lab 547 Dec 21, 2022
50% faster, 50% less RAM Machine Learning. Numba rewritten Sklearn. SVD, NNMF, PCA, LinearReg, RidgeReg, Randomized, Truncated SVD/PCA, CSR Matrices all 50+% faster

[Due to the time taken @ uni, work + hell breaking loose in my life, since things have calmed down a bit, will continue commiting!!!] [By the way, I'm

Daniel Han-Chen 1.4k Jan 01, 2023
A Python implementation of FastDTW

fastdtw Python implementation of FastDTW [1], which is an approximate Dynamic Time Warping (DTW) algorithm that provides optimal or near-optimal align

tanitter 651 Jan 04, 2023
CinnaMon is a Python library which offers a number of tools to detect, explain, and correct data drift in a machine learning system

CinnaMon is a Python library which offers a number of tools to detect, explain, and correct data drift in a machine learning system

Zelros 67 Dec 28, 2022
Deepchecks is a Python package for comprehensively validating your machine learning models and data with minimal effort

Deepchecks is a Python package for comprehensively validating your machine learning models and data with minimal effort

2.3k Jan 04, 2023
Tutorial for Decision Threshold In Machine Learning.

Decision-Threshold-ML Tutorial for improve skills: 'Decision Threshold In Machine Learning' (from GeeksforGeeks) by Marcus Mariano For more informatio

0 Jan 20, 2022
Meerkat provides fast and flexible data structures for working with complex machine learning datasets.

Meerkat makes it easier for ML practitioners to interact with high-dimensional, multi-modal data. It provides simple abstractions for data inspection, model evaluation and model training supported by

Robustness Gym 115 Dec 12, 2022
A python fast implementation of the famous SVD algorithm popularized by Simon Funk during Netflix Prize

⚡ funk-svd funk-svd is a Python 3 library implementing a fast version of the famous SVD algorithm popularized by Simon Funk during the Neflix Prize co

Geoffrey Bolmier 171 Dec 19, 2022
Turns your machine learning code into microservices with web API, interactive GUI, and more.

Turns your machine learning code into microservices with web API, interactive GUI, and more.

Machine Learning Tooling 2.8k Jan 02, 2023
Machine Learning Algorithms

Machine-Learning-Algorithms In this project, the dataset was created through a survey opened on Google forms. The purpose of the form is to find the p

Göktuğ Ayar 3 Aug 10, 2022
Neighbourhood Retrieval (Nearest Neighbours) with Distance Correlation.

Neighbourhood Retrieval with Distance Correlation Assign Pseudo class labels to datapoints in the latent space. NNDC is a slim wrapper around FAISS. N

The Learning Machines 1 Jan 16, 2022
Implementation of different ML Algorithms from scratch, written in Python 3.x

Implementation of different ML Algorithms from scratch, written in Python 3.x

Gautam J 393 Nov 29, 2022