## Course Outline

**Course Objectives **

- Identify and formulate machine-learning problems.
- Understand and implement algorithms in Python to solve simple machine-learning problems.
- Analyze the performance of given or implemented machine-learning solutions on practical datasets.

**What You Learn **

- Machine learning and data mining
- Histograms classifiers
- Probability density functions
- Bayesian classifiers
- Class-conditional density, priors and posteriors
- Python packages
- Multidimensional data
- Covariance matrix
- Principal component analysis
- Elements of higher-dimensional visualization
- Linear classifiers
- Perceptron, Fisher's linear discriminant, least-mean-square
- Classifier performance evaluation
- Accuracy, sensitivity, specificity, positive predictive value
- Receiver operating characteristic
- Training, testing and validation
- Multinormal probability density function
- Weighted means and covariance matrix
- Mixture distributions
- Unsupervised learning
- Expectation maximization algorithm
- K-means algorithm, k-nearest neighbor algorithm
- Markov models
- Dynamic programming
- Viterbi algorithm
- Ensemble learning
- Outlier and anomaly detection
- Neural networks
- Activation functions
- Backpropagation algorithm
- Auto-encoder

**How You Learn **

- Lecture and presentation of main topics
- Worked examples that illustrate concepts
- In-class quiz
- Team activities
- Group project
- Online discussion and forum

**Is This Course Right for You? **

This course is geared to professionals, students and job-seekers interested in learning the fundamentals of machine learning and data mining and who want to build, evaluate or showcase machine learning applications in Python. Also, anyone interested in understanding the foundational mathematical concepts underlying modern data science should enroll.