ET4073 Python Programming for Machine Learning Syllabus:

ET4073 Python Programming for Machine Learning Syllabus – Anna University PG Syllabus Regulation 2021

COURSE OBJECTIVES:

1. Students will understand and be able to use the basic programming principles such as data types, variable, conditionals, loops, recursion and function calls.
2. Students will learn how to use basic data structures such as List, Dictionary and be able to manipulate text files and images.
3. To make the students familiar with machine learning concepts & techniques.
4. Students will understand the process and will acquire skills necessary to effectively attempt a machine learning problem and implement it using Python.
5. To involve Discussions/ Practice/Exercise onto revising & familiarizing the concepts acquired over the 5 Units of the subject for improved research/employability skills

UNIT I INTRODUCTION TO MACHINE LEARNING AND PYTHON

Introduction to Machine Learning: Significance, Advantage and Applications – Categories of Machine Learning – Basic Steps in Machine Learning: Raw Data Collection, Pre-processing, Training a Model, Evaluation of Model, Performance Improvement
Introduction to Python and its significance – Difference between C, C++ and Python Languages; Compiler and Interpreters – Python3 Installation & Running – Basics of Python Programming Syntax: Variable Types, Basic Operators, Reading Input from User – Arrays/List, Dictionary and Set – Conditional Statements – Control Flow and loop control statements

UNIT II PYTHON FUNCTIONS AND PACKAGES

File Handling: Reading and Writing Data – Errors and Exceptions Handling – Functions & Modules – Package Handling in Python – Pip Installation & Exploring Functions in python package – Installing the Numpy Library and exploring various operations on Arrays: Indexing, Slicing, Multi-Dimensional Arrays, Joining Numpy Arrays, Array intersection and Difference, Saving and Loading Numpy Arrays – Introduction to SciPy Package & its functions – Introduction to Object Oriented Programming with Python

UNIT III IMPLEMENTATION OF MACHINE LEARNING USING PYTHON

Description of Standard Datasets: Coco, ImageNet, MNIST (Handwritten Digits) Dataset, Boston Housing Dataset – Introducing the concepts of Regression – Linear, Polynomial & Logistic Regression with analytical understanding – Introduction to SciPy Package & its functions – Python Application of Linear Regression and Polynomial Regression using SciPy – Interpolation, Overfitting and Underfitting concepts & examples using SciPy

UNIT IV CLASSIFICATION AND CLUSTERING CONCEPTS OF ML

Introduction to ML Concepts of Clustering and Classification – Types of Classification Algorithms – Support Vector Machines (SVM) – Decision Tree – Random Forest – Introduction to ML using scikitlearn – Using scikit-learn, Loading a sample dataset, Learning & prediction, interpolation & fitting, Multiclass fitting – Implementation of SVM using Blood Cancer Dataset, Decision Tree using data from csv.
Types of Clustering Algorithms & Techniques – K-means Algorithm, Mean Shift Algorithm & Hierarchical Clustering Algorithm – Introduction to Python Visualization using Matplotlib: Plotting 2-dimensional, 3-dimensional graphs; formatting axis values; plotting multiple rows of data in same graph – Implementation of K-means Algorithm and Mean Shift Algorithm using Python

UNIT V INTRODUCTION TO NEURAL NETWORKS AND EMBEDDED MACHINE LEARNING

Introduction to Neural Networks & Significance – Neural Network Architecture – Single Layer Perceptron & Multi-Layer Perceptron (MLP) – Commonly Used Activation Functions – Forward Propagation, Back Propagation, and Epochs – Gradient Descent – Introduction to Tensorflow and Keras ML Python packages – Implementation of MLP Neural Network on Iris Dataset – Introduction to Convolution Neural Networks – Implementation of Digit Classification using MNIST Dataset ML for Embedded Systems: Comparison with conventional ML – Challenges & Methods for Overcoming – TinyML and Tensorflow Lite for Microcontrollers – on-Board AI – ML Edge Devices: Arduino Nano BLE Sense, Google Edge TPU and Intel Movidius

TOTAL: 45 PERIODS

COURSE OUTCOMES:

At the end of this course, the students will have the ability to
CO1: Develop skill in system administration and network programming by learning Python.
CO2: Demonstrating understanding in concepts of Machine Learning and its implementation using Python
CO3: Relate to use Python’s highly powerful processing capabilities for primitives, modelling etc
CO4: Improved Employability and entrepreneurship capacity due to knowledge up gradation on recent trends in embedded systems design.
CO5: Apply the concepts acquired over the advanced research/employability skills

REFERENCES:

1. Mark Lutz,”LearningPython,Powerful OOPs,O’reilly,2011
2. Zelle, John “M. Python Programming: An Introduction to Computer Science.”, Franklin Beedle& Associates, 2003
3. Andreas C. Müller, Sarah Guido, “Introduction to Machine Learning with Python”, O’Reilly,2016
4. Sebastian Raschka , VahidMirjalili, “Python Machine Learning – Third Edition”, Packt, December 2019