Machine Learning with Python
Overview
Machine Learning is a subset of Artificial Intelligence where Machine learning algorithms build models based on sample data (training data) and make decisions or predictions.
"Machine learning (ML) is the study of computer algorithms that improve automatically through experience. Applications range from datamining programs that discover general rules in large data sets, to information filtering systems that automatically learn users' interests." Mitchell, Tom
There are 3 mains categories of Machine Learning that are divided based on "signal" or "feedback" used on the learning system:
Supervised Machine Learning
Supervised learning uses an algorithm to learn the mapping function from an input to an output where both, input and output variables, are provided.
-
Groups: regression (output variable as a real value) and classification (output variable as a category).
-
Popular Algorithms: Linear Regression, Logistic Regression, Random Forest (classification and regression), Decision Tree (classification and regression), Support Vector Machines (classification) and Naive Bayes (classification).
Unsupervised Machine Learning
In unsupervised learning only input data is provided.
-
Groups: Clustering (to discover the inherent groupings in the data) and Association (to identify rules that describe large sets of data).
-
Popular Algorithms: k-means (clustering) and Apriori (association).
Reinforcement Machine Learning
In reinforcement learning the data is used to train an agent to learn to make decisions (take actions) in an interactive environment by trial and error using feedback from its own actions and experiences.
-
Groups: Model-based RL (uses experience to construct an internal model of the transitions and immediate outcomes in the environment) and Model-free RL (uses experience to learn directly one or both of two simpler quantities (state/ action values or policies) which can achieve the same optimal behavior but without estimation or use of a world model).
-
Popular Algorithms: Q-learning and SARSA (State-Action-Reward-State-Action).
This Repo
In this repo I added multiple examples of machine learning algorithms:
data
data sets used in the modelssupervised-learning
sample notebooks with supervised-learning modelsunsupervised-learning
sample notebooks with unsupervised-learning modelsreinforcement-learning
sample notebooks with reinforcement-learning models
This collection of Jupyter Notebooks came from my own studies and trainings I have done during the past years. They are all updated to be used with Python 3.7
.
References
- Machine Learning: http://www.cs.cmu.edu/~tom/mlbook.html
- Machine Learning: https://en.wikipedia.org/wiki/Machine_learning
Thank you!