Machine learning is the sub-field of Computer Science, that gives Computers the ability to learn without being explicitly programmed.
(Arthur samuel, American pioneer in the field of Computer gaming and AI , coined the term Machine Learning in 1959, while at IBM )
-
Regression / Estimation:
Predicting continous values, E.G the price of a house based on its characteristics -
Classification:
Predicting the item class/category of a case. E.G if an email is spam or not spam -
Clustering:
Finding the structure of Data/Summarisation... Finding hidden or unseen patterns in a Data Set... could be used for customer segmentation. -
Associations:
Association technique is used for finding items or events that often co-occur. for example grocery items bought together by customers. -
-Anomaly Detection:_
Discovering abnormal or unusual cases. For example used for credit card fraud detection. -
Sequence Mining:
Used for predicting Next-Events, for instance the click-stream in websites. -
Dimension reduction:
Used for reducing the size of Data(PCA) -
Recommendation Systems:
This associates peoples preferences with others that have similar tastes and recommends new items to them, such as movies
Artificial Intelligence:
AI tries to make computers intelligent in order to mimic the cognitive functions of humans. So AI is a general field with a broad scope including:-
Computer Vision
Language Processing
Creativity
E.T.C
Machine Learning:
ML is the branch of AI that covers the Statistical part of AI. It teaches computers to solve problems by looking at 100s or 1000s of examples, learning from them and using that experience to solve similar problems in new situations.
Classification
Clustering
Neural Networks
Reinforcement Learning
E.T.C
Deep Learning:
DL is a very special field of ML where computers can actually learn and make intelligent decisions on their own.
DL involves a deeper level of automation in comparison to most ML Algorithms.
Some of the most important libraries and packages for Machine Learning with python include:
-
Numpy:
This is a math library to work with n-dimensional arrays. It aids effective and efficient computation. For working with arrays, dictionaries, functions, datatypes and images, numpy is a great asset. -
Scipy:
Scipy is a collection of numerical algorithms and domain specific tool boxes, including signal processing and optimization, statistics and much more. -
Matplotlib:
Is a very popular plotting package that provides 2D as well as 3D plotting. -
Pandas:
pandas library is a very high-level python library that provides high performance, easy to use data structures. It has many functions for importing data, manipulating and analysing data. In particular, it offers data structures and operations for manipulating numerical tables and time series. -
Scikit learn:
Is a collection of algorithms and tools for machine learning, which is our focus for this course.