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
A Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming.

Master status: Development status: Package information: TPOT stands for Tree-based Pipeline Optimization Tool. Consider TPOT your Data Science Assista

Epistasis Lab at UPenn 8.9k Jan 9, 2023
Python Extreme Learning Machine (ELM) is a machine learning technique used for classification/regression tasks.

Python Extreme Learning Machine (ELM) Python Extreme Learning Machine (ELM) is a machine learning technique used for classification/regression tasks.

Augusto Almeida 84 Nov 25, 2022
Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques

Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.

Vowpal Wabbit 8.1k Dec 30, 2022
CD) in machine learning projectsImplementing continuous integration & delivery (CI/CD) in machine learning projects

CML with cloud compute This repository contains a sample project using CML with Terraform (via the cml-runner function) to launch an AWS EC2 instance

Iterative 19 Oct 3, 2022
MIT-Machine Learning with Python–From Linear Models to Deep Learning

MIT-Machine Learning with Python–From Linear Models to Deep Learning | One of the 5 courses in MIT MicroMasters in Statistics & Data Science Welcome t

null 2 Aug 23, 2022
Microsoft contributing libraries, tools, recipes, sample codes and workshop contents for machine learning & deep learning.

Microsoft contributing libraries, tools, recipes, sample codes and workshop contents for machine learning & deep learning.

Microsoft 366 Jan 3, 2023
A data preprocessing package for time series data. Design for machine learning and deep learning.

A data preprocessing package for time series data. Design for machine learning and deep learning.

Allen Chiang 152 Jan 7, 2023
A mindmap summarising Machine Learning concepts, from Data Analysis to Deep Learning.

A mindmap summarising Machine Learning concepts, from Data Analysis to Deep Learning.

Daniel Formoso 5.7k Dec 30, 2022
A comprehensive repository containing 30+ notebooks on learning machine learning!

A comprehensive repository containing 30+ notebooks on learning machine learning!

Jean de Dieu Nyandwi 3.8k Jan 9, 2023
Implemented four supervised learning Machine Learning algorithms

Implemented four supervised learning Machine Learning algorithms from an algorithmic family called Classification and Regression Trees (CARTs), details see README_Report.

Teng (Elijah)  Xue 0 Jan 31, 2022
High performance, easy-to-use, and scalable machine learning (ML) package, including linear model (LR), factorization machines (FM), and field-aware factorization machines (FFM) for Python and CLI interface.

What is xLearn? xLearn is a high performance, easy-to-use, and scalable machine learning package that contains linear model (LR), factorization machin

Chao Ma 3k Jan 8, 2023
A library of extension and helper modules for Python's data analysis and machine learning libraries.

Mlxtend (machine learning extensions) is a Python library of useful tools for the day-to-day data science tasks. Sebastian Raschka 2014-2021 Links Doc

Sebastian Raschka 4.2k Dec 29, 2022
MLBox is a powerful Automated Machine Learning python library.

MLBox is a powerful Automated Machine Learning python library. It provides the following features: Fast reading and distributed data preprocessing/cle

Axel 1.4k Jan 6, 2023
Python package for stacking (machine learning technique)

vecstack Python package for stacking (stacked generalization) featuring lightweight functional API and fully compatible scikit-learn API Convenient wa

Igor Ivanov 671 Dec 25, 2022
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

null 6.2k Jan 1, 2023
Extreme Learning Machine implementation in Python

Python-ELM v0.3 ---> ARCHIVED March 2021 <--- This is an implementation of the Extreme Learning Machine [1][2] in Python, based on scikit-learn. From

David C. Lambert 511 Dec 20, 2022
A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.

Website | Documentation | Tutorials | Installation | Release Notes CatBoost is a machine learning method based on gradient boosting over decision tree

CatBoost 6.9k Jan 5, 2023
Python module for machine learning time series:

seglearn Seglearn is a python package for machine learning time series or sequences. It provides an integrated pipeline for segmentation, feature extr

David Burns 536 Dec 29, 2022
Uber Open Source 1.6k Dec 31, 2022