ML Notes Module 1
ML Notes Module 1
VISION
The Department of Information Science and Engineering strives to be a centre of learning in the field
of Information Technology to produce globally competent engineers catering to the needs of the
industry and society.
MISSION
• Impart technical skills in the field of Information Science & Engineering.
• Train and transform students to become technological thinkers and facilitate a quality venture
which meets the industrial and societal needs.
• Encourage students to become well-rounded in their professional competencies.
PROGRAM EDUCATIONAL OBJECTIVES
1. Graduates will succeed in the field of Information Science and Engineering, professional
career and higher studies.
2. Graduates will analyze the requirements of the software industries and provide novel
engineering designs and efficient solutions with legal and ethical responsibility.
3. Graduates will adapt to emerging technologies, work in multidisciplinary teams with
effective communication skills and leadership qualities.
PROGRAM OUTCOMES
Engineering graduates in Information Science and Engineeringwill be able to:
1. Engineering knowledge: Apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization to the solution of complex engineering
problems.
2. Problem analysis: Identify, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of
mathematics, natural sciences, and engineering sciences.
3. Design/development of solutions: Design solutions for complex engineering problems and
design system components or processes that meet the specified needs with appropriate
consideration for the public health and safety, and the cultural, societal, and environmental
considerations.
COURSE OBJECTIVES:
This course will enable the students to :
1. To introduce the fundamental concepts and techniques of machine learning.
2. To gain understanding of various types of machine learning and the challenges faced in
real-world applications.
3. To familiarize the machine learning algorithms such as regression, decision trees, Bayesian
models, clustering, and neural networks.
4. To explore advanced concepts like reinforcement learning and provide practical insight
into its applications.
5. To enable students to model and evaluate machine learning solutions for different types of
problems.
1 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
MODULE -1 SESSION 1
Introduction to Machine Learning
• Business organizations use huge amount of data for their daily activities.
• Earlier, the full potential of this data was not utilized due to two reasons.
• One reason was data being scattered across different archive systems and organizations not being able to
integrate these sources fully.
• Secondly, the lack of awareness about software tools that c:ould help to unearth the useful information
from data.
• Not anymore!
• Business organizations have now started to use the latest technology, machine learning, for this purpose.
Machine learning has become so popular because of three reasons:
1. High volume of available data to manage: Big companies such as Facebook, Twitter, and YouTube
generate huge amount of data that grows at a phenomenal rate. It is estimated that the data
approximately gets doubled every year.
2. Second reason is that the cost of storage has reduced. The hardware cost has also dropped.
Therefore, it is easier now to capture, process, store, distribute, and transmit the digital information.
3. Third reason for popularity of machine learning is the availability of complex algorithms now.
Especially with the advent of +deep learning, many algorithms are available for machine
learning.
• With the popularity and ready adaptation of machine learning by business organizations, it has become a
dominant technology trend now.
• Before starting the machine learning journey, let us establish these terms - data, information, knowledge,
intelligence, and wisdom.
• A knowledge pyramid is shown in Figure 1.1.
2 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
• What is data?
• All facts are data.
• Data can be numbers or text that can be processed by a computer.
• Today, organizations are accumulating vast and growing amounts of data with data sources such as flat files,
databases, or data warehouses in different storage formats.
• Processed data is called information.
• This includes patterns, associations, or relationships among data.
• For example, sales data can be analyzed to extract information like which is the fast-selling product.
• Condensed information is called knowledge.
• For example, the historical patterns and future trends obtained in the above sales data can be called knowledge.
• Unless knowledge is extracted, data is of no use.
• Similarly, knowledge is not useful unless it is put into action.
• Intelligence is the applied knowledge for actions.
• An actionable form of knowledge is called intelligence.
• Computer systems have been successful till this stage.
• The ultimate objective of knowledge pyramid is wisdom that represents the maturity of mind that is, so far,
exhibited only by humans.
• Here comes the need for machine learning.
• The objective of machine learning is to process these archival data for organizations to take better decisions to
design new products, improve the business processes, and to develop effective decision support systems.
1.2 MACHINE LEARNING EXPLAINED
3 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
Figure 1.2: (a) A Learning System for Humans (b) A Learning System for Machine Learning
• Often, the quality of data determines the quality of experience and, therefore, the quality of the learning system.
• In statistical learning, the relationship between the input x and output y is modeled as a function in the form y =
f(x).
• Here, f is the learning function that maps the input x to output y.
• Learning of function/ is the crucial aspect of forming a model in statistical learning.
• In machine learning, this is simply called mapping of input to output.
• The learning program summarizes the raw data in a model.
• Formally stated, a model is an explicit description of patterns within the data in the form of:
1. Mathematical equation
2. Relational diagrams like trees/graphs
3. Logical if/else rules, or
4. Groupings called clusters
• In summary, a model can be a formula, procedure or representation that can generate data decisions.
• The difference between pattern and model is that the former is local and applicable only to certain attributes but
the latter is global and fits the entire dataset.
• For example, a model can be helpful to examine whether a given email is spam or not.
• The point is that the model is generated automatically from the given data.
• Another pioneer of Al, Tom Mitchell's definition of machine learning states that, "A computer program is said lo
leant from experience E, with respect to task T and some performance measure P, if its performance on T
measured by P improves with experience E."
• The important components of this definition are experience E, task T, and performance measure P.
4 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
SESSION 2
RECAP:
5 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
• Machine learning uses the concepts of Artificial Intelligence, Data Science, and Statistics primarily.
• It is the resultant of combined ideas of diverse fields.
• Statistics is a branch of mathematics that has a solid theoretical foundation regarding statistical learning.
• Like madline learning (ML), it can learn from data.
7 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
• But the difference between statistics and ML is that statistical methods look for regularity in data called patterns.
• Initially, statistics sets a hypothesis and performs experiments to verify and validate the hypothesis in order to
find relationships among data
• Statistics requires knowledge of the statistical procedures and the guidance of a good statistician.
• It is mathematics intensive and models are often complicated equations and involve many assumptions.
• Statistical methods are developed in relation to the data being analyzed.
• In addition, statistical methods are coherent and rigorous.
• It has strong theoretical foundations and interpretations that require a strong statistical knowledge.
• Machine learning, comparatively, has less assumptions and requires less statistical knowledge.
• But it often requires interaction with various tools to automate the process of learning.
• Nevertheless, there is a school of thought that machine learning is just the latest version of 'old Statistics' and
hence this relationship should be recognized.
REVIEW QUESTIONS:
1) How is Machine Learning related to Artificial Intelligence (AI)?
2) What is the main focus of Data Science?
3) How does Data Mining differ from Machine Learning?
4) What is the role of Data Analytics in Machine Learning?
5) What are the three major components of Big Data?
6) What is the primary goal of Pattern Recognition?
7) How does Deep Learning differ from traditional Machine Learning?
8) What is the key difference between traditional statistics and Machine Learning?
8 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
SESSION 3
RECAP:
• The four types of Machine Learning: Supervised, Unsupervised, Semi-supervised, and
Reinforcement Learning.
• The difference between labelled and unlabelled data.
• Supervised Learning: Classification (predicting labels) and Regression (predicting continuous
values).
9 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
(a)
10 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
Classification
• Classification is a supervised learning method.
• The input attributes of the classification algorithms are called independent variables.
• The target attribute is called label or dependent variable.
• The relationship between the input and targe t variable is represented in the form of a structure which is called a
classification model.
• So, the focus of classification is to predict the 'label' that is in a discrete form (a value from the set of finite
values).
• An example is shown in Figure 1.7 where a classification algorithm takes a set of labelled data images such as
dogs and cats to construct a model that can later be used to classify an unknown test image data.
• Random Forest
• Support Vector Machines
• Naïve Bayes
• Artificial Neural Network and Deep Learning networks like CNN
Regression Models
• Regression models, unlike classification algorithms, predict continuous variables like price.
• In other words, it is a number.
• A fitted regression model is shown in Figure 1.8 for a dataset that represent weeks input x and product sales y.
- Regression line (y = 0.6EiX + 0.54)
12 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
Cluster Analysis
• Custer analysis is an example of unsupervised learning.
• It aims to group objects into disjoint clusters or groups.
• Cluster analysis clusters objects based on its attributes.
• All the data objects of the partitions are similar in some aspect and vary from the data objects in the other
partitions significantly.
• Some of the examples of clustering processes are - segmentation of a region of interest in an image, detection of
abnormal growth in a medical image, and determining clusters of signatures in a gene database.
• An example of clustering scheme is shown in Figure 1.9 where the clustering algorithm takes a set of dogs and
cats’ images and groups it as two clusters-dogs and cats.
• It can be observed that the samples belonging to a cluster are similar and samples are different radically across
clusters
13 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
• There are circumstances where the dataset has a huge collection of unlabeled data and some labelled data.
• Labelling is a costly process and difficult to perform by the humans.
• Semi-supervised algorithms use unlabelled data by assigning a pseudo-label.
• Then, the labelled and pseudo-labelled dataset can be combined.
1.4.4 Reinforcement Learning
• In this grid game, the gray tile indicates the danger, black is a block, and the tile with diagonal lines is the goal.
• The aim is to start, say from bottom-left grid, using the actions left, right, top and bottom to reach the goal state.
• To solve this sort of problem, there is no data.
• The agent interacts with the environment to get experience.
• In the above case, the agent tries to create a model by simulating many paths and finding rewarding paths.
• This experience helps in constructing a model.
• It can be said in summary, compared to supervised learning, there is no supervisor or labelled dataset.
• Many sequential decisions need to be taken to reach the final decision.
• Therefore, reinforcement algorithms are reward-based, goal-oriented algorithms.
REVIEW QUESTIONS:
1) What are the four types of Machine Learning?
2) What is the difference between Supervised and Unsupervised Learning?
3) What type of data does Supervised Learning use?
4) What is the difference between Classification and Regression?
5) What is the goal of Clustering in Unsupervised Learning?
6) What is Semi-Supervised Learning?
7) How does Reinforcement Learning work?
14 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
SESSION 4
RECAP:
• Challenges of Machine Learning, such as the need for high-quality data and computational
power.
• The bias/variance tradeoff and its impact on model performance.
• Overfitting (model fits training data too well but fails on test data) and underfitting (model fails to
capture patterns in training data).
•Puzzles and games that do not have sufficient specification may become an ill-posed problem and scientific
computation has many ill-posed problems.
• Huge data - This is a primary requirement of machine learning.
• Availability of a quality data is a challenge.
• A quality data means it should be large and should not have data problems such as missing data or incorrect data.
1. High computation power - With the availability of Big Data, the computational resource
requirement has also increased. Systems with Graphics Processing Unit (GPU) or even Tensor
Processing Unit (TPU) are required to execute machine learning algorithms. Also, machine
learning tasks have become complex ,and hence time complexity has increased, and that can
be solved only with high computing power.
2. Complexity of the algorithms - The selection of algorithms, describing the algorithms,
application of algorithms to solve machine learning task, and comparison of algorithms
have become necessary for machine learning or data scientists now. Algorithms have
become a big topic of discussion and it is a challenge for machine learning professionals to
design, select, and evaluate optimal algorithms.
3. Bias/Variance - Variance is the error of the model. This leads to a problem called bias/
variance tradeoff. A model that fits the training data correctly but fails for test data, in general
lacks generalization, is called overfitting. The reverse problem is called underfitting where the
model fails for training data but has good generalization. Overfitting and underfitting are great
challenges for machine learning algorithms.
REVIEW QUESTIONS:
1) What are the common challenges in Machine Learning?
2) What is the impact of data quality on Machine Learning?
3) What is overfitting in Machine Learning?
4) How does underfitting affect a model's performance?
5) Why is computational power important in Machine Learning?
6) What is the bias-variance tradeoff?
7) What kind of problems are well-posed for Machine Learning?
8) How does missing data affect a model?
SESSION 5
RECAP:
• The Machine Learning process using the CRISP-DM framework (steps: Business
Understanding, Data Understanding, Data Preparation, Modeling, Evaluation, Deployment).
• Applications of Machine Learning in various domains, such as recommendation systems, voice
assistants, and image recognition.
16 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
• The emerging process model for the data mining solutions for business organizations is CRISP-OM.
• Since machine learning is like data mining, except for the aim, this process can be used for machine learning.
• CRlSP-DM stands for Cross Industry Standard Process - Data Mining.
• This process involves six steps.
• The steps are listed below in Figure 1.11.
1) Understanding the business - This step involves understanding the objectives and requirements of the
business organization. Generally, a single data mining algorithm is enough for giving the solution. This
step also involves the formulation of the problem statement for the data mining process.
2) Understanding the data - It involves the steps like data collection, study of the characteristics of the
data, formulation of hypothesis, and matching of patterns to the selected hypothesis.
3) Preparation of data - This step involves producing the final dataset by cleaning the raw data and
preparation of data for the data mining process. The missing values may cause problems during both
training and testing phases. Missing data forces classifiers to produce inaccurate results. This is a perennial
problem for the classification models. Hence, suitable strategies should be adopted to handle the missing
data.
4) Modelling - This step plays a role in the application of data mining algorithm for the data to obtain a
model or pattern.
5) Evaluate - This step involves the evaluation of the data mining results using statistical analysis and
visualization methods. 1rhe performance of the classifier is determined by evaluating the accuracy of the
classifier. The process of classification is a fuzzy issue. For example, classification of emails requires
extensive domain knowledge and requires domain experts. Hence, performance of the classifier is very
crucial.
6) Deployment - This step involves the deployment of results of the data mining algorithm to improve the
existing process or for a new situation.
17 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
18 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
KEY TERMS
• Machine Leeming -A branch of Al that concerns about machines to learn automatically without being explicitly
programmed.
• Data-A raw fact.
• Model -An explicit description of patterns in a data
• Experience-A collection of knowledge and heuristics in humans and historical training data in case of machines.
• Predictive Modelling-A technique of developing models and making a prediction of unseen data.
• Deep Learning -A branch of machine learning that deals with constructing models using neural networks.
• Data Science -A field of study that encompasses capturing of data to its analysis covering all stages of data
management.
• Data Analytics-A field of study that deals with analysis of data.
• Big Data-A study of data that has characteristics of volume, variety, and velocity.
• Pattern Recognition-A field of study that: analyses a pattern using machine learning algorithms.
• Statistics -A branch of mathematics that deals with learning from data using statistical methods.
• Hypothesis -An initial assumption of an Experiment.
• Learning -Adapting to the environment that happens because of interaction of an agent with the environment.
• Label -A target attribute.
• Labelled Data -A data that is associated with a label
• Unlabelled Data -A data without labels.
• Supervised Learning -A type of machine learning that uses labelled data and learns with the help of a supervisor
or teacher component.
• Classification Program - A supervisory learning method that takes an unknown input and assigns a label for it. In
simple words, finds the category of class of the input attributes.
• Regression Analysis - A supervisory method that predicts the continuous variables based on the input variables.
• Unsupervised Learning - A type of machine leaning that uses unlabelled data and groups the attn1mtes to clusters
using a trial-and-error approach.
• Ouster Analysis - A type of unsupervised approach that groups the objects based on attributes so that similar
objects or data points form a cluster.
• Semi-supervised Learning - A type of machine learning that uses limited labelled and large unlabelled data. It
first labels unlabelled data using labelled data and combines it for learning purposes.
• Reinforcement learning-A type of machine learning that uses agents and environment interaction for creating
labelled data for learning.
• Well-posed Problem - A problem that has well-defined specifications. Otherwise, the problem is called ill-posed.
• Bias/Variance - The inability of the machine learning algorithm to predict correctly due to lack of generalization
is called bias. Variance is the error of the model for training data. This leads to problems called overfilling and
underfitting.
• Model Deployment -A method of deploying machine learning algorithms to improve the existing business
processes for a new situation.
REVIEW QUESTIONS:
1) What does CRISP-DM stand for?
2) What are the six steps in the Machine Learning process?
3) Why is data preparation important in Machine Learning?
4) What is the role of model evaluation?
20 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
21 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
SESSION 6
RECAP:
• What is data? The difference between structured, unstructured, and semi-structured data.
• The 6 Vs of Big Data: Volume, Velocity, Variety, Veracity, Validity, and Value.
• Examples of structured data (databases) and unstructured data (images, videos).
Understanding Data
1 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
2 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
information that is extracted from the data and its influence on the decisions that are
taken based on it.
• Thus, these 6 Vs are helpful to characterize the big data.
• The data quality of the numeric attributes is determined by factors like precision, bias,
and accuracy.
• Precision is defined as the closeness of repeated measurements.
• Often, standard deviation is used to measure the precision.
• Bias is a systematic result due to erroneous assumptions of the algorithms or procedures.
• Accuracy is the degree of measurement of errors that refers to the closeness of
measurements to the true value of the quantity.
• Normally, the significant digits used to store and manipulate indicate the accuracy of the
measurement.
2.1.1 Types of Data
• In Big Data, there are three kinds of data.
• They are structured data, unstructured data, and semi-structured data.
Structured Data
• In structured data, data is stored in an organized manner such as a database where it is
available in the form of a table.
• The data can also be retrieved in an organized manner using tools like SQL.
The structured data frequently encountered in machine learning are listed below:
Record Data
• A dataset is a collection of measurements taken from a process.
• We have a collection of objects in a dataset and each object has a set of measurements.
• The measurements can be arranged in the form of a matrix.
• Rows in the matrix represent an object and can be called as entities, cases, or records.
• The columns of the dataset are called attributes, features, or fields.
• The table is filled with observed data.
• Also, it is better to note the general jargons that are associated with the dataset.
• Label is the term that is used to describe the individual observations.
Data Matrix
• It is a variation of the record type because it consists of numeric attributes.
• The standard matrix operations can be applied on these data.
• The data is thought of as points or vectors in the multidimensional space where every
attribute is a dimension describing the object.
3 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
Graph Data
• It involves the relationships among objects.
• For example, a web page can refer to another web page.
• This can be modeled as a graph.
• The modes are web pages and the hyperlink is an edge that connects the nodes.
Ordered Data Ordered data objects involve attributes that have an implicit order among them.
The examples of ordered data are:
1. Temporal data - It is the data whose attributes are associated with time. For
example, the customer purchasing patterns during festival time is sequential data.
Time series data is a special type of sequence data where the data is a series of
measurements over time.
2. Sequence data- It is like sequential data but does not have timestamps. This data
involves the sequence of words or letters. For example, DNA data is a sequence of
four characters -A TGC.
3. Spatial data - It has attributes such as positions or areas. For example, maps are
spatial data where the points are related by location.
Unstructured Data
• Unstructured data includes video, image, and audio.
• It also includes textual documents, programs, and blog data.
• It is estimated that 80% of the data are unstructured data.
Semi-Structured Data
• Semi-structured data are partially structured and partially unstructured.
• These include data like XML/JSON data, RSS feeds, and hierarchical data.
REVIEW QUESTIONS:
1) What are the three types of data?
2) What is the difference between structured and unstructured data?
3) What is the role of Big Data in Machine Learning?
4) What are the 6 Vs of Big Data?
5) What is the difference between operational and non-operational data?
6) Why is processed data called information?
7) What is Veracity in Big Data?
8) How is data storage affected by Volume in Big Data?
4 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
SESSION 7
RECAP:
• Data storage methods: Flat files (CSV, TSV), database systems (relational databases), and
other formats like XML, JSON, and RSS.
• The role of database management systems (DBMS) in organizing and managing data.
2.1.2 Data Storage and Representation
• Once the dataset is assembled, it must be stored in a structure that is suitable for data
analysis.
• The goal of data storage management is to make data available for analysis.
• There are different approaches to organize and manage data in storage files and systems
from flat file to data warehouses.
• Some of them are listed below:
Flat Files
• These are the simplest and most commonly available data source.
• It is also the cheapest way of organizing the data.
• These flat files are the files where data is stored in plain ASCII or EBCDIC format.
• Minor changes of data in flat files affect the results of the data mining algorithms.
• Hence, flat file is suitable only for storing small dataset and not desirable if the dataset
becomes larger.
Some of the popular spreadsheet formats are listed below:
• CSV files- CSV stands for comma-separated value files where the values are
separated by commas. These are used by spreadsheet and database applications.
The fust row may have attributes and the rest of the rows represent the data.
• TSVfiles- TSV stands for Tab separated values files where values are separated by Tab.
• Both CSV and TSV files are generic in nature and can be shared.
• There are many tools like Google Sheets and Microsoft Excel to process these files.
Database System
• It normally consists of database files and a database management system (DBMS).
• Database files contain original data and metadata.
• DBMS aims to manage data and improve operator performance by including various
tools like database administrator, query processing, and transaction manager.
• A relational database consists of sets of tables.
• The tables have rows and columns.
• The columns represent the attributes and rows represent tuples.
• A tuple corresponds to either an object or a relationship between objects.
5 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
• A user can access and manipulate the data in the database using SQL.
Different types of databases are listed below:
1. A transactional database is a collection of transactional records. Each record is a
transaction. A transaction may have a time stamp, identifier and a set of items,
which may have links to other tables. Normally, transactional databases are created
for performing associational analysis that indicates the correlation among the items.
2. Time-series database stores time related information like log files where data is
associated with a time stamp. This data represents the sequences of data, which
represent values or events obtained over a period (for example, hourly, weekly or
yearly) or repeated time span. Observing sales of product continuously may yield a
time-series data.
3. Spatial databases contain spatial information in a raster or vector format. Raster
formats are either bitmaps or pixel maps. For example, images can be stored as a
raster data. On the other hand, the vector format can be used to store maps as maps
use basic geometric primitives like points, lines, polygons and so forth.
6 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
SESSION 8
RECAP:
• The Big Data Analytics Framework (4 layers: Data Connection, Data Management, Data
Analytics, Presentation).
• Types of analytics: Descriptive (what happened?), Diagnostic (why did it happen?), Predictive
(what will happen?), and Prescriptive (what should we do?).
Descriptive Analytics It is about describing the main features of the data. After data
collection is done, descriptive analytics deals with the collected data and quantifies it. It is
often stated that analytics is essentially statistics. There are two aspects of statistics -
7 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
Descriptive and Inference. Descriptive analytics only focuses on the description part of the
data and not the inference part.
Diagnostic Analytics It deals with the question - 'Why?'. This is also known as causal
analysis, as it aims to find out the cause and effect of the events. For example, if a product
is not selling, diagnostic analytics aims to find out the reason. There may be multiple
reasons and associated effects are analyzed as part of it.
Predictive Analytics It deals with the future. It deals with the question - 'What will
happen in future given this data?'. This involves the application of algorithms to identify the
patterns to predict the future. The entire course of machine learning is mostly about
predictive analytics and forms the core of this book.
Prescriptive Analytics It is about the finding the best course of action for the business
organizations. Prescriptive analytics goes beyond prediction and helps in decision making
by giving a set of actions. It helps the organizations to plan better for the future and to
mitigate the risks that are involved.
2.3 BIG DATA ANALYSIS FRAMEWORK
• For performing data analytics, many frameworks are proposed.
• All proposed analytics frameworks have some common factors.
• Big data framework is a layered architecture.
• Such an architecture has many advantages such as genericness.
• A 4-layer architecture has the following layers:
1. Date connection layer
2. Data management layer
3. Data analytics later
4. Presentation layer
Data Connection Layer It has data ingestion mechanisms and data connectors. Data
ingestion means taking raw data and importing it into appropriate data structures. It
performs the tasks of ETL process. By ETL, it means extract, transform and load operations.
Data Management Layer It performs preprocessing of data. The purpose of this layer is to
allow parallel execution of queries, and read, write and data management tasks. There may
be many schemes that can be implemented by this layer such as data-in-place, where the
data is not moved at all, or constructing data repositories such as data warehouses and
pull data on-demand mechanisms.
Data Analytic Layer It has many functionalities such as statistical tests, machine learning
algorithms to understand, and construction of machine learning models. This layer
implements many model validation mechanisms too. The processing is done as shown in
8 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
Box 2.1.
Presentation Layer It has mechanisms such as dashboards, and applications that display
the results of analytical engines and machine learning algorithms.
Thus, the Big Data processing cycle involves data management that consists of the
following steps.
1. Data collection
2. Data preprocessing
3. Applications of machine learning algorithm
4. Interpretation of results and visualization of machine learning algorithm
• This is an iterative process and is carried out on a permanent basis to ensure that data is
suitable for data mining.
• Application and interpretation of machine learning algorithms constitute the basis for the
rest of the book.
• So, primarily, data collection and data preprocessing are covered as part of this chapter.
• The following section covers data collection in detail.
2.3.1 Data Collection
• The first task of gathering datasets are the collection of data.
• It is often estimated that most of the time is spent for collection of good quality data.
• A good quality data yields a better result.
• It is often difficult to characterize a 'Good data'.
• 'Good data' is one that has the following properties:
1. Timeliness - The data should be relevant and not stale or obsolete data.
2. Relevancy- The data should be relevant and ready for the machine learning or data
mining algorithms. All the necessary information should be available and there
should be no bias in the data.
3. Knowledge about the data - The data should be understandable and
interpretable, and should be self-sufficient for the required application as desired
by the domain knowledge engineer.
• Broadly, the data source can be classified as open/public data, social media data and
multimodal data.
1. Open or public data source - It is a data source that does not have any stringent
copyright rules or restrictions. Its data can be primarily used for many purposes.
Government census data are good examples of open data:
• Digital libraries that have huge amount of text data as well as document images
• Scientific domains with a huge collection of experimental data like genomic
9 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
SESSION 9
RECAP:
• Data preprocessing: Handling missing data, noisy data, and outliers.
• Techniques for data cleaning, such as binning and normalization.
• Data integration (combining data from multiple sources) and data
transformation (scaling data for better performance).
2.3.2 Data Preprocessing
In real world, the available data is 'dirty'. By this word 'dirty', it means:
• Incomplete data
• Outlier data
• Data with inconsistent values
• Inaccurate data
10 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
• It can be observed that data like Salary = ' ' is incomplete data.
• The DoB of patients, John, Andre, and Raju, is the missing data.
• The age of David is recorded as '5' but his DoB indicates it is 10/10/1980.
• This is called inconsistent data.
• Inconsistent data occurs due to problems in conversions, inconsistent formats, and
difference in units.
• Salary for John is -1500.
• It cannot be less than 'O'.
• It is an instance of noisy data.
• Outliers are data that exhibit the characteristics that are different from other data and
have very unusual values.
• The age of Raju cannot be 136.
• It might be a typographical error.
11 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
12 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
13 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
• Here max-min is the range. Min and max are the minimum and maximum of the given data,
new max and new min are the minimum and maximum of the target range, say O and 1.
Example 2.2: Consider the set: V = (88, 90, 92, 94}. Apply Min-Max procedure and map the marks
to a new range 0-1.
Solution: The minimum of the list V is 88 and maximum is 94. The new min and new max are
0 and 1, respectively. The mapping can be done using Eq. (2.1) as:
14 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
92 − 88 4
min − max = × (1 − 0) + 0 = = 0.66
94 − 88 6
For marks 94,
94 − 88 6
min − max = × (1 − 0) + 0 = = 1
94 − 88 6
So, it can be observed that the marks {88,90,92,94} are mapped to the new range
{0,0.33,0.66,1}. Thus, the Min-Max normalization range is between 0 and 1.
𝒛𝒛-Score Normalization This procedure works by taking the difference between the field value
and mean value, and by scaling this difference by standard deviation of the attribute.
𝑉𝑉 ∗= 𝑉𝑉 − 𝜇𝜇/𝜎𝜎
Here, 𝜎𝜎 is the standard deviation of the list 𝑉𝑉 and 𝜇𝜇 is the mean of the list 𝑉𝑉.
Example 2.3: Consider the mark list 𝑉𝑉 = {10,20,30} , convert the marks to 𝑧𝑧 -score.
Solution: The mean and Sample Standard deviation ( 𝜎𝜎 ) values of the list 𝑉𝑉 are 20 and 10,
respectively. So, the 𝑧𝑧-scores of these marks are calculated using Eq. (2.2) as:
10 − 20 10
𝑧𝑧-score of 10 = =− = −1
10 10
20 − 20 0
𝑧𝑧-score of 20 = = =0
10 10
30 − 20 10
𝑧𝑧-score of 30 = = =1
10 10
Hence, the 𝑧𝑧-score of the marks 10,20,30 are −1,0 and 1 , respectively.
Data Reduction
• Data reduction reduces data size but produces the same results.
• There are different ways in which data reduction can be carried out such as data aggregation, feature
selection, and dimensionality reduction.
REVIEW QUESTIONS:
1) Why is data preprocessing necessary?
2) What are common types of dirty data?
3) What is missing data analysis?
4) What is the impact of noise in data?
5) How can outlier data affect a Machine Learning model?
6) What are the different methods to handle missing data?
7) What is data integration?
8) How does normalization improve machine learning models?
15 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
SESSION 10
RECAP:
• Descriptive statistics: Measures of central tendency (mean, median, mode) and dispersion
(range, variance, standard deviation).
• Data visualization techniques: Bar charts, pie charts, histograms, and dot plots.
• The importance of understanding data shape (skewness and kurtosis) for Machine Learning.
16 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
17 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
• A third way of classifying the data is based on the number of variables used in the dataset.
• Based on that, the data can be classified as univariate data, bivariate data, and multivariate data.
• This is shown in Figure 2.2.
18 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
Pie Chart
• These are equally helpful in illustrating univariate data.
• The percentage frequency distribution of students' marks [22,22,40,40,70,70,70,85,90,90] is below in
Figure 2.4.
19 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
20 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
• Mass data have tendency to concentrate at certain values, normally in the central location.
• It is called measure of central tendency (or averages).
• This represents the first order of measures.
• Popular measures are mean, median and mode.
1. Mean - Arithmetic average (or mean) is a measure of central tendency that represents the
'center' of the dataset. This is the commonest measure used in our daily conversation such as
average income or average traffic. It can be found by adding all the data and dividing the sum
by the number of observations. Mathematically, the average of all the values in the sample
(population) is denoted as 𝑥𝑥‾. Let 𝑥𝑥1 , 𝑥𝑥2 , ⋯ , 𝑥𝑥𝑁𝑁 be a set of ' 𝑁𝑁 ' values or observations, then the
arithmetic mean is given as:
𝑁𝑁
𝑥𝑥1 + 𝑥𝑥2 + ⋯ + 𝑥𝑥𝑁𝑁 1
𝑥𝑥‾ = = � 𝑥𝑥𝑖𝑖
𝑁𝑁 𝑁𝑁
𝑖𝑖=1
10+20+30 60
For example, the mean of the three numbers 10,20 , and 30 is = = 20
3 3
Weighted mean - Unlike arithmetic mean that gives the weightage of all items equally, weighted
mean gives different importance to all items as the item importance varies. Hence, different weightage
can be given to items.
• In case of frequency distributor, mid values of the range are taken for computation.
• This is illustrated in the following computation.
• In weighted mean, the mean is computed by adding the product of proportion and group mean.
• It is mostly used when the sample sizes are unequal.
Geometric mean-Let 𝑥𝑥1 , 𝑥𝑥𝑦𝑦 … , 𝑛𝑛𝑦𝑦 be aset of ' 𝑁𝑁 ' values or observations. Geometric mean is the 𝑁𝑁 15
root of the product of 𝑁𝑁 itams. The lormula for compating geometric mean is given as follows
1
𝑛𝑛 𝑛𝑛
𝑛𝑛
Geometric mean = �� 𝑥𝑥1 � = 1�𝑥𝑥1 × 𝑟𝑟2 × ⋯ × 𝑥𝑥𝑛𝑛
𝑛𝑛=1
Hens, 𝑥𝑥 is the number of items and 𝑥𝑥𝑗𝑗 are valkss. For wample if the valuos are 6 and 8, the georaetric
2
mean is given as √5 × 8 = √48. In lerger cases compuling geometric mean is difficult. Hence, it is
usually calcalated as
log (𝑥𝑥1 ) + log (𝑥𝑥1 ) + ⋯ + log (𝑥𝑥k )
Anti-log of
𝑁𝑁
∑s𝑖𝑖=1 log �𝑥𝑥𝑓𝑓 �
= anti-log
𝑁𝑁
• The problem of mean is its extreme sensitiveness to noise.
• Even small changes in the input effect the mean drastically.
• Hence, often the top 2% is chopped off and then the meen is calculated for a larger dataset.
21 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
2. Median : The middle value in the distribution is called median If the total number of items in
the distribution is odd, then the middle value is called median. If the numbers are even, then the
average value of two items in the centre is the median. It can be observed that the median is the
value where 𝑥𝑥𝑖𝑖 is divided into two equal halves, with half of the volues being lower than the
medinn end half highoe than the modian. A median closs is that class where (N/2)th item is
present.
• In the continuous case the median is given by the formula:
𝑁𝑁
− 𝑐𝑐𝑐𝑐
Median = 𝐿𝐿1 + 2 𝑥𝑥𝑥𝑥
𝑓𝑓
• Median class is that class where N/2 𝑡𝑡ℎ item is present.
• Here, 𝑖𝑖 is the class interval of the median class and 𝐿𝐿2
• is the lower limit of median class, 𝑓𝑓 is the frequency of the median class, and of is the cumalative
frequency of all classes preceding median.
3. Mode - Mode is the value that occurs more frequently in the dataset. In other words, the value
that has the highest frequency is called mode. Mode is only for discrete data and is not
applicable for continuous data as there are no repeated values in continuous data.
• The procedure for finding the mode is to calculate the frequencies for all the values in the dets,
and mode is the value (or values) with the highest frequency.
• Normally, the dataset is classified as unimodal, bimodal and trimodal with modes 1, 2 and 3 ,
respectively.
2.5.3 Dispersion
• The spread out of a set of data around the central tendency (mean, median or mode) is called
dispersion.
• Dispersion is represented by various ways such as range, variance, standard deviation, and
standard error.
• These are second order measures.
• The most common measures of the dispersion data are listed below:
• Range: Range is the difference between the maximum and minimum of values of the given list of
data.
• Standard Deviation The mean does not convey much more than a middle point.
• For example, the following datasets {10,20,30} and {10,50,0} both have a mean of 20 .
• The difference between these two sels is the spread of data.
• Standard deviation is the average distance from the mean of the dataset to each point.
• The formula for sample standard deviation is given by:
22 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
𝐿𝐿
∑ 𝑛𝑛 (𝑥𝑥𝑑𝑑 − 𝑥𝑥‾)2
� 𝐿𝐿
2
𝜎𝜎 =
𝑀𝑀 − 1
• Here N is the size of the population, 𝑥𝑥1 is observation or value from the population and 𝜇𝜇 is the
population mear.
• Often, 𝑁𝑁 − 1 is used instead of 𝑁𝑁 in the denominator of Eq. (28).
• The reason is that for larger real-world, the division by 𝑁𝑁 − 1 gives an answer closer to the actual
value.
• Quartiles and Inter Quartile Range It is sometimes convenient to subdivide the dataset using
coordinates.
• Percentiles are about data that are less than the coordinates by some percentage of the total value.
• 𝐊𝐊 𝑡𝑡ℎ percentile is the property that the 𝑘𝑘% of the data lies at or below 𝑋𝑋𝑖𝑖
• For example, median is 50𝑡𝑡ℎ percentile and can be denoted as 𝑄𝑄0.5
• The 25th percentile is called first quartile (𝑄𝑄1 ) and the 75th percentile is celled third quartile
(Q3,).
• Another measure that is useful to measure dispersion is Inter Quartile Range (IQR), The IQR is
the difference between 𝑄𝑄3 and 𝑄𝑄1
Interquartile percentile = 𝑄𝑄3 − 𝑄𝑄1
Outliers are normally the values falling apart at least by the amount 1. 5 × IQR above the third
quartile or below the first quartile.
Interquartile is defined by 𝑄𝑄0.75 − 𝑄𝑄0.25 .
Example 2.4: For patients' age list {12,14,19,22,24,26,28,31,34} , find the IQR.
Solutions: The median is in the fifth portion. In this case, 24 is the median. The first quartile is
median of the scores below the mean i.e., [12,14,19,22]. Hence, it's the misdian of the list below 24.
In this case, the median is the average of the second and third values, that is, 𝑄𝑄123 = 16.5. Similarly,
the third quartile is the median of the values above the median, that is {26,28,31,34}. So, 𝑄𝑄0.75 is the
average of the seventh and eighth score. In this case, it is 28 + 31/2 = 59/2 = 29.5.
Hence, the IQR Eq (2.10) is:
= 𝑄𝑄0.75 − 𝑄𝑄0.25
= 29.5 − 16.5 = 13
The half of IQR is called semi-quartile range. The Semi Inter Quartile Range (SIQR) is given as:
1
SIQR = × 𝐼𝐼𝐼𝐼𝐼𝐼
2
1
= × 13 = 6.5
2
Five-point Summary and Box Plots The median, quartiles 𝑄𝑄1 and 𝑄𝑄𝑦𝑦 and minimum and maximum
written in the order < Minimum, 𝑄𝑄1 , Median, 𝑄𝑄3 , Maximum > is known as five-point summary.
23 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
Box plots are suitable for continuous variables and a nominal variable. Box plots can be used to
illustrate data distributions and summary of data. It is the popular way for plotting five number
summaries. A Box plot is also known as a Box and whisker plot.
The box contains bulk of the data. These data are between first and third quartiles. The line inside the
box indicates location - mostly median of the data. If the median is not equidistant, then the data is
skewed. The whiskers that project from the ends of the box indicate the spread of the tails and the
maximum and minimum of the data value.
Example 2.5: Find the 5 -point summary of the list {13,11,2,3,4,8,9} .
Solution: The minimum is 2 and the maximum is 13 . The 𝑄𝑄1 , 𝑄𝑄2 and 𝑄𝑄3 are 3,8 and 11,
respectively. Hence, 5-point summary is {2,3,8,11,13}, that is, (minimum, 𝑄𝑄1 , median, 𝑄𝑄3 , maximum
}.
Box plots are useful for describing 5-point summary. The Box plot for the set is given in Figure 2.7.
Figure 2.8: (a) Positive Skewed and (b) Negative Skewed Data
• The dataset may also either have very high values or extremely low values.
• If the dataset has far higher values, then it is said to be skewed to the right.
24 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
• On the other hand, if the dataset has far more low values then it is said to be skewed towards left.
• If the tail is longer on the left-hand side and hump on the right-hand side, it is called positive
skew.
• Otherwise, it is called negative skew.
• The given dataset may have an equal distribution of data.
• The implication of this is that if the data is skewed, then there is a greater chance of outliers in the
dataset.
• This affects the mean and median.
• Hence, this may affect the performance of the data mining algorithm.
• A perfect symmetry means the skewness is zero.
• In the case of skew, the median is greater than the mean.
• In positive skew, the mean is greater than the median.
• Generally, for negatively skewed distribution, the median is more than the mean.
• The relationship between skew and the relative size of the mean and median can be summarized
by a convenient numerical skew index known as Pearson 2 skewness coefficient.
3 × (𝜇𝜇 − median )
𝜎𝜎
• Also, the following measure is more commonly used to measure skewness. Let 𝑋𝑋1 , 𝑋𝑋2 , ⋯ , 𝑋𝑋𝑁𝑁 be a
set of ' 𝑁𝑁 ' values or observations then the skewness can be given as:
𝑁𝑁
1 (𝑥𝑥𝑖𝑖 − 𝜇𝜇)3
�
𝑁𝑁 𝜎𝜎 3
𝑖𝑖=1
Here, 𝜇𝜇 is the population mean and 𝜎𝜎 is the population standard deviation of the univariate data.
Sometimes, for bias correction instead of 𝑁𝑁, 𝑁𝑁 − 1 is used.
Kurtosis
Kurtosis also indicates the peaks of data. If the data is high peak, then it indicates higher kurtosis and
vice versa.
Kurtosis is the measure of whether the data is heavy tailed or light tailed relative to normal
distribution. It can be observed that normal distribution has bell-shaped curve with no long tails. Low
kurtosis tends to have light tails. The implication is that there is no outlier data. Let 𝑥𝑥1 , 𝑥𝑥2 , ⋯ , 𝑥𝑥𝑁𝑁 be a
set of ' 𝑁𝑁 ' values or observations. Then, kurtosis is measured using the formula given below:
∑𝑁𝑁 ‾)4 /𝑁𝑁
𝑖𝑖=1 (𝑥𝑥𝑖𝑖 − 𝑥𝑥
𝜎𝜎 4
It can be observed that 𝑁𝑁 − 1 is used instead of 𝑁𝑁 in the numerator of Eq. (2.14) for bias correction.
Here, 𝑥𝑥‾ and 𝜎𝜎 are the mean and standard deviation of the univariate data, respectively.
Some of the other useful measures for finding the shape of the univariate dataset are mean absolute
deviation (MAD) and coefficient of variation (CV).
25 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
Mean Absolute Deviation (MAD) MAD is another dispersion measure and is robust to outliers.
Normally, the outlier point is detected by computing the deviation from median and by dividing it by
MAD. Here, the absolute deviation between the data and mean is taken. Thus, the absolute deviation
is given as:
|𝑥𝑥 − 𝜇𝜇|
The sum of the absolute deviations is given as Σ|𝑥𝑥 − 𝜇𝜇|
Σ|𝑥𝑥−𝜇𝜇|
Therefore, the mean absolute deviation is given as:
𝑁𝑁
Coefficient of Variation (CV) Coefficient of variation is used to compare datasets with different
units. CV is the ratio of standard deviation and mean, and %CV is the percentage of coefficient of
variations.
2.5.5 Special Univariate Plots
• The ideal way to check the shape of the dataset is a stem and leaf plot.
• A stem and leaf plot are a display that help us to know the shape and distribution of the data.
• In this method, each value is split into a 'stem' and a leaf'.
• The last digit is usually the leaf and digits to the left of the leaf mostly form the stem.
• For example, marks 45 are divided into stem 4 and leaf 5 in Figure 2.9.
• The stem and leaf plot for the English subject marks, say, {45, 60, 60, 80, 85) is given in Figure
2.9.
26 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
3) Explain the need for Machine Learning with suitable examples. (6)
27 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru
Machine Learning BCS602
5) Discuss the relationship between Machine Learning and Data Science. (6)
7) Explain the role of Machine Learning in Data Mining and Data Analytics. (7)
10) What are the different challenges in training a Machine Learning model? Explain with examples. (8)
11) Describe the Machine Learning process with a suitable diagram. (8)
12) Explain the steps involved in training and deploying a Machine Learning model. (7)
13) What are the main applications of Machine Learning? Provide real-world examples. (7)
14) Explain the CRISP-DM process and its relevance to Machine Learning. (8)
15) What is Big Data Analytics? Explain the different types of data analytics. (6)
16) Discuss the 6 Vs of Big Data and their relevance to Machine Learning. (7)
17) What are structured, unstructured, and semi-structured data? Explain with examples. (6)
18) What are the different types of data used in Machine Learning? (6)
19) Describe the importance of data storage and representation in Machine Learning. (7)
20) Explain different data storage methods and their significance in Machine Learning. (6)
21) Describe the Big Data Analytics framework with a neat diagram. (8)
22) What are the major steps involved in the data preprocessing stage of Machine Learning? (6)
23) Explain different types of errors in data and their impact on Machine Learning models. (7)
24) What is data preprocessing? Explain different methods to handle missing and noisy data. (8)
25) Discuss the importance of Exploratory Data Analysis (EDA) in Machine Learning. (6)
26) Explain different types of data visualization techniques used in Machine Learning. (7)
27) Describe the concept of Univariate Data Analysis. What are its applications? (6)
28) Explain the measures of central tendency (Mean, Median, Mode) with examples. (7)
29) What are dispersion measures? Explain their significance in Machine Learning. (6)
30) Discuss the importance of shape characteristics (skewness, kurtosis) in data analysis. (6)
31) Explain different types of special univariate plots used in data visualization. (7)
28 Ramesh Nayak, Asst. Prof., Dept. of IS&E, Canara Engineering College, Mangaluru