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
Stats, linear algebra and einops for xarray

xarray-einstats Stats, linear algebra and einops for xarray ⚠️ Caution: This project is still in a very early development stage Installation To instal

ArviZ 30 Dec 28, 2022
List of Data Science Cheatsheets to rule the world

Data Science Cheatsheets List of Data Science Cheatsheets to rule the world. Table of Contents Business Science Business Science Problem Framework Dat

Favio André Vázquez 11.7k Dec 30, 2022
Probabilistic time series modeling in Python

GluonTS - Probabilistic Time Series Modeling in Python GluonTS is a Python toolkit for probabilistic time series modeling, built around Apache MXNet (

Amazon Web Services - Labs 3.3k Jan 03, 2023
ml4ir: Machine Learning for Information Retrieval

ml4ir: Machine Learning for Information Retrieval | changelog Quickstart → ml4ir Read the Docs | ml4ir pypi | python ReadMe ml4ir is an open source li

Salesforce 77 Jan 06, 2023
Adaptive: parallel active learning of mathematical functions

adaptive Adaptive: parallel active learning of mathematical functions. adaptive is an open-source Python library designed to make adaptive parallel fu

741 Dec 27, 2022
Library for machine learning stacking generalization.

stacked_generalization Implemented machine learning *stacking technic[1]* as handy library in Python. Feature weighted linear stacking is also availab

114 Jul 19, 2022
MBTR is a python package for multivariate boosted tree regressors trained in parameter space.

MBTR is a python package for multivariate boosted tree regressors trained in parameter space.

SUPSI-DACD-ISAAC 61 Dec 19, 2022
Machine Learning Algorithms ( Desion Tree, XG Boost, Random Forest )

implementation of machine learning Algorithms such as decision tree and random forest and xgboost on darasets then compare results for each and implement ant colony and genetic algorithms on tsp map,

Mohamadreza Rezaei 1 Jan 19, 2022
A python library for easy manipulation and forecasting of time series.

Time Series Made Easy in Python darts is a python library for easy manipulation and forecasting of time series. It contains a variety of models, from

Unit8 5.2k Jan 04, 2023
ml4h is a toolkit for machine learning on clinical data of all kinds including genetics, labs, imaging, clinical notes, and more

ml4h is a toolkit for machine learning on clinical data of all kinds including genetics, labs, imaging, clinical notes, and more

Broad Institute 65 Dec 20, 2022
A linear equation solver using gaussian elimination. Implemented for fun and learning/teaching.

A linear equation solver using gaussian elimination. Implemented for fun and learning/teaching. The solver will solve equations of the type: A can be

Sanjeet N. Dasharath 3 Feb 15, 2022
A Python toolbox to churn out organic alkalinity calculations with minimal brain engagement.

Organic Alkalinity Sausage Machine A Python toolbox to churn out organic alkalinity calculations with minimal brain engagement. Getting started To mak

Charles Turner 1 Feb 01, 2022
This project has Classification and Clustering done Via kNN and K-Means respectfully

This project has Classification and Clustering done Via kNN and K-Means respectfully. It later tests its efficiency via F1/accuracy/recall/precision for kNN and Davies-Bouldin Index for Clustering. T

Mohammad Ali Mustafa 0 Jan 20, 2022
Scikit-Garden or skgarden is a garden for Scikit-Learn compatible decision trees and forests.

Scikit-Garden or skgarden (pronounced as skarden) is a garden for Scikit-Learn compatible decision trees and forests.

260 Dec 21, 2022
Little Ball of Fur - A graph sampling extension library for NetworKit and NetworkX (CIKM 2020)

Little Ball of Fur is a graph sampling extension library for Python. Please look at the Documentation, relevant Paper, Promo video and External Resour

Benedek Rozemberczki 619 Dec 14, 2022
A scikit-learn based module for multi-label et. al. classification

scikit-multilearn scikit-multilearn is a Python module capable of performing multi-label learning tasks. It is built on-top of various scientific Pyth

802 Jan 01, 2023
TensorFlow Decision Forests (TF-DF) is a collection of state-of-the-art algorithms for the training, serving and interpretation of Decision Forest models.

TensorFlow Decision Forests (TF-DF) is a collection of state-of-the-art algorithms for the training, serving and interpretation of Decision Forest models. The library is a collection of Keras models

538 Jan 01, 2023
An MLOps framework to package, deploy, monitor and manage thousands of production machine learning models

Seldon Core: Blazing Fast, Industry-Ready ML An open source platform to deploy your machine learning models on Kubernetes at massive scale. Overview S

Seldon 3.5k Jan 01, 2023
Exemplary lightweight and ready-to-deploy machine learning project

Exemplary lightweight and ready-to-deploy machine learning project

snapADDY GmbH 6 Dec 20, 2022
A toolkit for making real world machine learning and data analysis applications in C++

dlib C++ library Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real worl

Davis E. King 11.6k Jan 02, 2023