0% found this document useful (0 votes)
31 views40 pages

Aiml Module 3

The document discusses key concepts in machine learning, including feature engineering, the differences between bagging and boosting, and the importance of normalization and standardization. It also covers techniques for handling imbalanced datasets, assessing feature importance, and dealing with categorical variables through various encoding methods. Additionally, it emphasizes the significance of cross-validation in model evaluation and common evaluation metrics for classification tasks.

Uploaded by

rajdevpal14
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views40 pages

Aiml Module 3

The document discusses key concepts in machine learning, including feature engineering, the differences between bagging and boosting, and the importance of normalization and standardization. It also covers techniques for handling imbalanced datasets, assessing feature importance, and dealing with categorical variables through various encoding methods. Additionally, it emphasizes the significance of cross-validation in model evaluation and common evaluation metrics for classification tasks.

Uploaded by

rajdevpal14
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

MODULE 3

What is Feature Engineering? 2

13.

Ans:

A feature is a numeric representation of raw data. Feature engineering is the process of formulating
the most appropriate features given the data, the model, and the task. Feature engineering is about
generating new features from existing features, by applying some transformation or performing
some operation on them.

Differentiate between Bagging and Boosting. 2

14.

Ans:

Bagging and Boosting are ensemble learning methods used to improve the accuracy and stability of
machine learning models. Bagging, also known as Bootstrap Aggregating, trains multiple models in
parallel on different subsets of the data, reducing variance and overfitting. Boosting, on the other
hand, trains models sequentially, with each model focusing on the errors of the previous one,
reducing bias and improving accuracy on complex datasets.

Key Differences:

 Training Process:

Bagging trains models independently in parallel, while Boosting trains models sequentially, with each
model building upon the previous one.

 Focus:

Bagging aims to reduce variance by averaging the predictions of multiple models, while Boosting
aims to reduce bias by focusing on the errors of the previous models.

 Model Weighting:

In Bagging, all models have equal weight, while in Boosting, the weight of each model is determined
by its performance, with more weight given to models that perform better.

 Overfitting:

Bagging is more effective at reducing overfitting, as it averages the predictions of multiple models,
while Boosting is more prone to overfitting if not carefully tuned.
 Bias:

Boosting is more effective at reducing bias, as it focuses on the errors of the previous models, while
Bagging may not reduce bias as effectively.

 Data Sampling:

Both methods use bootstrapping (sampling with replacement) to create different subsets of the
training data for each model.

 Model Complexity:

Bagging tends to work better with high-variance, low-bias models, while Boosting is better suited for
complex datasets and high-bias models.

In Summary:

Bagging is a parallel ensemble method that reduces variance and overfitting, while Boosting is a
sequential ensemble method that reduces bias and improves accuracy. The choice between Bagging
and Boosting depends on the specific problem and the characteristics of the data.

What is Normalization? 2

15.

Ans:
Compare Unscaled, Normalized and 2
Standardized Data.
16.

Ans:

Unscaled Data:

 Original Values: This data is in its raw, untransformed state, maintaining its original scale and
units.

 Pros: Simple and straightforward to interpret. No transformation needed.

 Cons: Can lead to issues in machine learning algorithms that are sensitive to data scale, such
as gradient descent or algorithms that use distance calculations.

Normalized Data:

 Scaling: Values are scaled to a predefined range, typically between 0 and 1 (or sometimes -1
and 1).

 Pros: Useful when data ranges differ significantly, as it can prevent larger values from
dominating smaller ones.

 Cons: Sensitive to outliers, as they can shift the entire range.

Standardized Data:

 Transformation: Values are shifted to have a mean of 0 and a standard deviation of 1 (z-
score transformation).

 Pros: More robust to outliers than normalization. Can be helpful when data is normally
distributed or when algorithms assume a normal distribution.

 Cons: Doesn't provide a specific range for the data.

When to use which:

 Normalization:

Useful when the data's distribution is not normal or when the range of values needs to be
controlled.

 Standardization:

Suitable when the data is assumed to be normally distributed or when algorithms are sensitive to the
scale of the data.
How is Standardization different from Normalization 2
feature scaling?
17.

Ans:

Standardization and normalization are both feature scaling techniques used to transform data, but
they differ in their approach. Normalization rescales values to a fixed range, often between 0 and 1.
Standardization, on the other hand, transforms data to have a mean of 0 and a standard deviation of
1.

Here's a more detailed comparison:

Normalization:

 Goal:

Rescales data values to a predefined range, typically or [-1, 1].

 Method:

Calculates the minimum and maximum values of a feature and then scales all values within that
range.

 Effect:

Doesn't change the distribution of the data, but it does ensure that all features are on the same
scale.

 Use cases:

Suitable when the range of values for a feature varies greatly, or when the data does not follow a
Gaussian distribution.

Standardization (Z-score normalization):

 Goal:

Centers the data around a mean of 0 and scales it to a standard deviation of 1.

 Method:

Subtracts the mean from each data point and then divides by the standard deviation.

 Effect:

Changes the distribution of the data, making it resemble a standard normal distribution (bell curve).

 Use cases:

Useful when the data follows a Gaussian distribution, or when outliers are present, as
standardization reduces their influence.

In essence:
 Normalization focuses on scaling the range of values, while standardization focuses on
transforming the distribution.

 Normalization is useful when the range of values matters, such as in neural networks.

 Standardization is useful when the data follows a Gaussian distribution or when there are
outliers.


What is Standardization? 2
18.

Ans:

Explain the importance of cross-validation in model 2


evaluation.
19.

Ans:

Better Evaluation Using Cross-Validation

One way to evaluate the Decision Tree model would be to use the

train_test_split() function to split the training set into a smaller training set and a

validation set, then train your models against the smaller training set and evaluate

them against the validation set. It’s a bit of work, but nothing too difficult, and it

would work fairly well.


A great alternative is to use Scikit-Learn’s K-fold cross-validation feature. The following

code randomly splits the training set into 10 distinct subsets called folds, then it

trains and evaluates the Decision Tree model 10 times, picking a different fold for

evaluation every time and training on the other 9 folds. The result is an array containing

the 10 evaluation scores:

from sklearn.model_selection import cross_val_score

scores = cross_val_score(tree_reg, housing_prepared, housing_labels,

scoring="neg_mean_squared_error", cv=10)

tree_rmse_scores = [Link](-scores) Scikit-Learn’s cross-validation features expect a utility function

(greater is better) rather than a cost function (lower is better), so

the scoring function is actually the opposite of the MSE (i.e., a negative

value), which is why the preceding code computes -scores

before calculating the square root.

Let’s look at the results:

>>> def display_scores(scores):

... print("Scores:", scores)

... print("Mean:", [Link]())

... print("Standard deviation:", [Link]())

...

>>> display_scores(tree_rmse_scores)

Scores: [70194.33680785 66855.16363941 72432.58244769 70758.73896782

71115.88230639 75585.14172901 70262.86139133 70273.6325285

75366.87952553 71231.65726027]

Mean: 71407.68766037929

Standard deviation: 2439.4345041191004

Now the Decision Tree doesn’t look as good as it did earlier. In fact, it seems to perform

worse than the Linear Regression model! Notice that cross-validation allows

you to get not only an estimate of the performance of your model, but also a measure

of how precise this estimate is (i.e., its standard deviation). The Decision Tree has a

score of approximately 71,407, generally }2,439. You would not have this information

if you just used one validation set. But cross-validation comes at the cost of training
the model several times, so it is not always possible.

Let’s compute the same scores for the Linear Regression model just to be sure:

>>> lin_scores = cross_val_score(lin_reg, housing_prepared, housing_labels,

... scoring="neg_mean_squared_error", cv=10)

...

>>> lin_rmse_scores = [Link](-lin_scores)

>>> display_scores(lin_rmse_scores)

Scores: [66782.73843989 66960.118071 70347.95244419 74739.57052552

68031.13388938 71193.84183426 64969.63056405 68281.61137997

71552.91566558 67665.10082067]

Mean: 69052.46136345083

Standard deviation: 2731.674001798348

That’s right: the Decision Tree model is overfitting so badly that it performs worse

than the Linear Regression model.

What are evaluation metrics commonly used for classification 2


tasks?
20.

Ans:

Commonly used evaluation metrics for classification tasks include accuracy, precision, recall, F1-
score, and area under the receiver operating characteristic curve (AUC-ROC). These metrics help
assess the performance of a classification model by measuring its ability to correctly predict classes,
especially when dealing with imbalanced datasets.

How do you handle imbalanced datasets in machine 2


learning?
21.

Ans:

Imbalanced datasets, where one class significantly outnumbers others, can be addressed in machine
learning by using resampling techniques, adjusting class weights, or using specialized
algorithms. Resampling involves either oversampling the minority class (e.g., using SMOTE or
ADASYN) or undersampling the majority class. Class weights can be adjusted to penalize
misclassifications of the minority class more heavily. Specialized algorithms like
BalancedRandomForestClassifier or EasyEnsembleClassifier are designed to handle imbalanced data
more effectively.

Elaboration:

Imbalanced datasets can lead to biased models that perform poorly on the minority class. Here's a
more detailed look at how to address this:

1. Resampling:

 Oversampling:

Techniques like SMOTE (Synthetic Minority Over-sampling Technique) generate synthetic samples of
the minority class to balance the dataset. ADASYN (Adaptive Synthetic Sampling) adapts the amount
of synthetic data generated for each minority class instance.

 Undersampling:

Methods like random undersampling remove samples from the majority class to create a more
balanced dataset.

2. Adjusting Class Weights:

 In machine learning algorithms, class weights can be adjusted to assign different weights to
different classes. This allows the model to give more importance to misclassifications of the
minority class during training, potentially improving its performance on the minority class.

3. Using Specialized Algorithms:

 Some algorithms, such as Random Forests and XGBoost, can be used in conjunction with
techniques like BalancedRandomForestClassifier or EasyEnsembleClassifier to better handle
imbalanced data. These algorithms often incorporate sampling techniques or class weights
to address imbalance.

4. Other Considerations:

 Data Preprocessing:

Cleaning and preparing the data is crucial before applying any resampling or other techniques.

 Model Evaluation:

It's important to use appropriate evaluation metrics for imbalanced datasets, such as F1-score,
precision, recall, or AUC (Area Under the Curve).

 Experimentation:

The best approach for handling imbalanced data often depends on the specific dataset and
problem. Experimenting with different techniques and evaluating their performance is crucial.
How do you assess the importance of features in a machine- 2
learning model?
22.

Ans:

Feature importance in machine learning is assessed by evaluating how much a feature contributes to
a model's predictive power or accuracy. This can be done through various methods, including
permutation importance, correlation analysis, or by examining the reduction in impurity or splitting
gain in decision trees. The goal is to identify the features that, when removed or altered, significantly
impact the model's performance, indicating their importance.

Here's a more detailed breakdown of how feature importance is assessed:

1. Permutation Importance:

 This method involves randomly shuffling the values of a feature and measuring the decrease
in model performance. If shuffling the values significantly reduces the model's performance,
the feature is considered important.

 A common implementation is to calculate the performance metric (e.g., accuracy, F1-score)


before and after shuffling the values of each feature. The difference in performance is used
to rank the features by their importance.

2. Correlation Analysis:

 This method assesses the correlation between features and the target variable. Stronger
correlations suggest a feature is more important for predicting the target.

 This can be done using correlation coefficients like Pearson correlation for continuous
features and Spearman correlation for ordinal features.

3. Tree-Based Models (Decision Trees, Random Forests):

 Decision trees and random forests often provide built-in feature importance scores based on
the reduction in impurity or splitting gain that a feature contributes to when used for
splitting the data.

 The feature that consistently leads to the greatest reduction in impurity (e.g., Gini index,
entropy) is considered more important.

4. Linear Models (Regression):

 In linear models, feature importance can be assessed by examining the magnitude and sign
of the regression coefficients. Larger coefficients indicate features that have a greater impact
on the target variable.

 The coefficients represent the change in the target variable for a unit change in the
corresponding feature.

5. Other Methods:
 Fisher's Score:

This method calculates the ratio of between-class to within-class variance, indicating how well a
feature separates different classes.

 Information Gain:

This method measures the reduction in entropy after a feature is used to split the data.

 Chi-Square Test:

This method assesses the statistical significance of the relationship between a feature and the target
variable.

In Summary:

Feature importance assessment aims to identify the most influential features in a machine-learning
model. Various methods can be used, including permutation importance, correlation analysis, and
methods specific to tree-based or linear models. The chosen method should align with the model
type and the nature of the data.

How do you deal with categorical variables in a machine- 2


learning model?
23.

Ans:

To effectively utilize categorical variables in machine learning, they must be converted into a
numerical format that models can understand. This is typically done through encoding techniques,
with common methods including one-hot encoding, label encoding, and target encoding. One-hot
encoding creates binary columns for each category, while label encoding assigns a unique integer to
each. Target encoding replaces categories with the mean of the target variable.

Here's a more detailed breakdown:

1. Understanding the Data:

 Nominal vs. Ordinal: Nominal categories have no inherent order (e.g., colors, countries),
while ordinal categories have a natural order (e.g., education levels, ratings).

 Missing Values: Determine how to handle missing values (e.g., delete rows, impute with the
most frequent value, or predict using a model).

 Data Quality: Ensure data consistency and correct any inconsistencies or outliers.

2. Encoding Techniques:

 One-Hot Encoding:

Creates a new binary column for each category in a variable. For example, if you have a variable
"city" with values "New York," "Los Angeles," and "Chicago," one-hot encoding would create three
new columns: "city_New York," "city_Los Angeles," and "city_Chicago.".

 Pros: Avoids imposing ordinal relationships between categories.


 Cons: Can significantly increase the number of features, especially with many
categories, potentially leading to the "curse of dimensionality".

 Label Encoding:

Assigns a unique integer to each category. For example, "New York" might be assigned 0, "Los
Angeles" 1, and "Chicago" 2.

 Pros: Simple to implement and can reduce dimensionality compared to one-hot


encoding.

 Cons: Can impose an artificial ordinal relationship between categories, which may
not be appropriate.

 Target Encoding:

Replaces each category with the mean of the target variable for that category. For example, if you
have a variable "product" and a target variable "sales," target encoding might replace "product A"
with the average sales for product A.

 Pros: Can capture the relationship between categories and the target variable.

 Cons: Can lead to overfitting if not used carefully.

 Other Encoding Techniques:

Binary encoding, frequency encoding, and ordinal encoding are also available, each with its own
strengths and weaknesses.

 Feature Hashing:

A technique used to map categorical variables to a fixed number of features, reducing memory usage
and computational cost, especially for large-scale datasets.

3. Choosing the Right Technique:

 Data Characteristics:

Consider the nature of your data (nominal, ordinal), the number of categories, and the potential for
missing values.

 Algorithm:

Some algorithms, like decision trees and random forests, are more robust to high-cardinality
categorical variables than others.

 Model Performance:

Evaluate the performance of different encoding techniques using metrics like accuracy, precision, and
recall.

4. Best Practices:

 Handling Missing Values: Choose an imputation method that aligns with the data and the
model.

 Avoiding Overfitting: Be mindful of potential overfitting, especially with target encoding.


 Feature Scaling: Consider scaling your features after encoding if needed by the model.

 Experimentation: Test different encoding techniques and models to find the best
combination for your specific problem.

Explain the concept of dimensionality reduction. 2

24.

Ans:

Dimensionality reduction is a technique used to transform data from a high-dimensional space into a
lower-dimensional space while retaining as much important information as possible. It's essentially
about simplifying complex data by reducing the number of features or dimensions, making it easier
to analyze and visualize.

Why is it necessary?

 High-dimensional data can be complex and difficult to analyze:

The more features you have, the harder it is to understand the relationships between them and to
build accurate models.

 "Curse of dimensionality":

In high-dimensional spaces, data points become sparse, and algorithms can struggle to learn
meaningful patterns.

 Redundant or irrelevant features can hinder performance:

Dimensionality reduction can help remove these features, leading to more efficient and accurate
models.

 Visualization is often easier in lower dimensions:

Reducing the dimensionality allows for easier data visualization, which can aid in understanding
patterns and relationships.

 Computational efficiency:

Fewer features mean less computation time for training and testing machine learning models.

How does it work?

Dimensionality reduction can be achieved through two main approaches:

 Feature selection:

Selecting a subset of the most relevant features from the original dataset and discarding the rest.

 Feature extraction:

Transforming the original features into a new set of features in a lower-dimensional space, often
using techniques like Principal Component Analysis (PCA).

Examples of techniques:
 PCA:

Identifies the principal components, which are linear combinations of the original features that
capture the most variance in the data.

 t-SNE:

A nonlinear dimensionality reduction technique that is particularly useful for visualizing high-
dimensional data in 2D or 3D.

 Linear Discriminant Analysis (LDA):

Used for supervised learning, where the goal is to find a linear combination of features that best
separates different classes.

In essence, dimensionality reduction helps manage the complexity of high-dimensional data, leading
to more efficient and effective data analysis and machine learning.

What is the purpose of hyperparameter tuning in machine learning 2


algorithms?
25.

Ans:

The primary purpose of hyperparameter tuning in machine learning is to find the optimal settings for
a model's learning process, ultimately leading to better model performance and generalization on
unseen data. This involves selecting the best combination of hyperparameters that minimizes the
loss function and maximizes the model's accuracy and reliability.

Here's a more detailed explanation:

1. Improved Model Performance:

 Hyperparameters are settings that control the model's learning process before training
begins.

 Tuning these parameters allows data scientists to fine-tune the model and achieve higher
accuracy and better generalization on new data.

 A well-tuned model is more likely to perform well on data it hasn't seen during training,
which is the ultimate goal of any machine learning model.

2. Reduced Overfitting and Underfitting:

 Proper tuning helps prevent overfitting (where the model learns the training data too well,
including noise, and performs poorly on new data) and underfitting (where the model is too
simple and fails to capture the underlying patterns in the data).

3. Enhanced Model Reliability:

 Well-tuned models are more robust and perform consistently across different datasets and
environments.
 They are also more adaptable to different datasets and can be retrained to maintain
performance as data changes over time.

Explain what overfitting and underfitting are in Machine Learning. 5

30.

Ans:

Overfitting the Training Data

Say you are visiting a foreign country and the taxi driver rips you off. You might be

tempted to say that all taxi drivers in that country are thieves. Overgeneralizing is

something that we humans do all too often, and unfortunately machines can fall into

the same trap if we are not careful. In Machine Learning this is called overfitting: it

means that the model performs well on the training data, but it does not generalize

well.

Figure 1-22 shows an example of a high-degree polynomial life satisfaction model

that strongly overfits the training data. Even though it performs much better on the

training data than the simple linear model, would you really trust its predictions?

Overfitting happens when the model is too complex relative to the

amount and noisiness of the training data. Here are possible solutions:

• Simplify the model by selecting one with fewer parameters

(e.g., a linear model rather than a high-degree polynomial

model), by reducing the number of attributes in the training

data, or by constraining the model.

• Gather more training data.

• Reduce the noise in the training data (e.g., fix data errors and
remove outliers).

Underfitting the Training Data

As you might guess, underfitting is the opposite of overfitting: it occurs when your

model is too simple to learn the underlying structure of the data. For example, a linear

model of life satisfaction is prone to underfit; reality is just more complex than

the model, so its predictions are bound to be inaccurate, even on the training

examples.

Here are the main options for fixing this problem:

• Select a more powerful model, with more parameters.

• Feed better features to the learning algorithm (feature engineering).

• Reduce the constraints on the model (e.g., reduce the regularization hyperparameter).

Compare the advantages and disadvantages of batch and online learning. 5

31.

Ans:

Batch and Online Learning

Another criterion used to classify Machine Learning systems is whether or not the

system can learn incrementally from a stream of incoming data.

Batch learning

In batch learning, the system is incapable of learning incrementally: it must be trained

using all the available data. This will generally take a lot of time and computing

resources, so it is typically done offline. First the system is trained, and then it is

launched into production and runs without learning anymore; it just applies what it

has learned. This is called offline learning.

Online learning

In online learning, you train the system incrementally by feeding it data instances

sequentially, either individually or in small groups called mini-batches. Each learning

step is fast and cheap, so the system can learn about new data on the fly, as it arrives
(see Figure 1-13).

Online learning is great for systems that receive data as a continuous flow (e.g., stock

prices) and need to adapt to change rapidly or autonomously. It is also a good option

if you have limited computing resources: once an online learning system has learned

about new data instances, it does not need them anymore, so you can discard them

(unless you want to be able to roll back to a previous state and “replay” the data). This

can save a huge amount of space.

Online learning algorithms can also be used to train systems on huge datasets that

cannot fit in one machine’s main memory (this is called out-of-core learning). The

algorithm loads part of the data, runs a training step on that data, and repeats the

process until it has run on all of the data (see Figure 1-14).

Out-of-core learning is usually done offline (i.e., not on the live

system), so online learning can be a confusing name. Think of it as

incremental learning.

One important parameter of online learning systems is how fast they should adapt to

changing data: this is called the learning rate. If you set a high learning rate, then your

system will rapidly adapt to new data, but it will also tend to quickly forget the old

data (you don’t want a spam filter to flag only the latest kinds of spam it was shown).

Conversely, if you set a low learning rate, the system will have more inertia; that is, it

will learn more slowly, but it will also be less sensitive to noise in the new data or to

sequences of nonrepresentative data points (outliers).


What is cross-validation, and how does it improve model evaluation? 5

32.

Ans:

Better Evaluation Using Cross-Validation

One way to evaluate the Decision Tree model would be to use the

train_test_split() function to split the training set into a smaller training set and a

validation set, then train your models against the smaller training set and evaluate

them against the validation set. It’s a bit of work, but nothing too difficult, and it

would work fairly well.

A great alternative is to use Scikit-Learn’s K-fold cross-validation feature. The following

code randomly splits the training set into 10 distinct subsets called folds, then it

trains and evaluates the Decision Tree model 10 times, picking a different fold for

evaluation every time and training on the other 9 folds. The result is an array containing

the 10 evaluation scores:

from sklearn.model_selection import cross_val_score

scores = cross_val_score(tree_reg, housing_prepared, housing_labels,

scoring="neg_mean_squared_error", cv=10)

tree_rmse_scores = [Link](-scores)

Scikit-Learn’s cross-validation features expect a utility function

(greater is better) rather than a cost function (lower is better), so

the scoring function is actually the opposite of the MSE (i.e., a negative

value), which is why the preceding code computes -scores

before calculating the square root.

Let’s look at the results:

>>> def display_scores(scores):

... print("Scores:", scores)

... print("Mean:", [Link]())

... print("Standard deviation:", [Link]())

...

>>> display_scores(tree_rmse_scores)

Scores: [70194.33680785 66855.16363941 72432.58244769 70758.73896782


71115.88230639 75585.14172901 70262.86139133 70273.6325285

75366.87952553 71231.65726027]

Mean: 71407.68766037929

Standard deviation: 2439.4345041191004

Now the Decision Tree doesn’t look as good as it did earlier. In fact, it seems to perform

worse than the Linear Regression model! Notice that cross-validation allows

you to get not only an estimate of the performance of your model, but also a measure

of how precise this estimate is (i.e., its standard deviation). The Decision Tree has a

score of approximately 71,407, generally }2,439. You would not have this information

if you just used one validation set. But cross-validation comes at the cost of training

the model several times, so it is not always possible.

Let’s compute the same scores for the Linear Regression model just to be sure:

>>> lin_scores = cross_val_score(lin_reg, housing_prepared, housing_labels,

... scoring="neg_mean_squared_error", cv=10)

...

>>> lin_rmse_scores = [Link](-lin_scores)

>>> display_scores(lin_rmse_scores)

Scores: [66782.73843989 66960.118071 70347.95244419 74739.57052552

68031.13388938 71193.84183426 64969.63056405 68281.61137997

71552.91566558 67665.10082067]

Mean: 69052.46136345083

Standard deviation: 2731.674001798348

That’s right: the Decision Tree model is overfitting so badly that it performs worse

than the Linear Regression model.

What is feature scaling, and why is it necessary? 5

33.

Ans:

Feature Scaling

One of the most important transformations you need to apply to your data is feature

scaling. With few exceptions, Machine Learning algorithms don’t perform well when
the input numerical attributes have very different scales. This is the case for the housing

data: the total number of rooms ranges from about 6 to 39,320, while the median

incomes only range from 0 to 15. Note that scaling the target values is generally not

required.

There are two common ways to get all attributes to have the same scale: min-max

scaling and standardization.

Min-max scaling (many people call this normalization) is the simplest: values are shifted

and rescaled so that they end up ranging from 0 to 1. We do this by subtracting

the min value and dividing by the max minus the min. Scikit-Learn provides a transformer

called MinMaxScaler for this. It has a feature_range hyperparameter that lets

you change the range if, for some reason, you don’t want 0–1.

Standardization is different: first it subtracts the mean value (so standardized values

always have a zero mean), and then it divides by the standard deviation so that the

resulting distribution has unit variance. Unlike min-max scaling, standardization

does not bound values to a specific range, which may be a problem for some algorithms

(e.g., neural networks often expect an input value ranging from 0 to 1). However,

standardization is much less affected by outliers. For example, suppose a district

had a median income equal to 100 (by mistake). Min-max scaling would then crush

all the other values from 0–15 down to 0–0.15, whereas standardization would not be

much affected. Scikit-Learn provides a transformer called StandardScaler for

standardization.

Explain the role of data cleaning in Machine Learning. 5

34.

Ans:
What is the importance of handling missing values in datasets? 5

35.

Ans:
Consider the problem faced by an infant learning to speak and understand a language. 5

36. Explain how this process fits into the general learning model. Describe the percepts and

actions of the infant, and the types of learning the infant must do.

Ans:

An infant learning language fits within the general learning model as a complex process involving perception,
action, and various forms of learning. The infant's percepts include sounds, gestures, and facial
expressions; their actions encompass babbling, cooing, and early attempts at forming words. The types of
learning involved are pattern recognition, association, generalization, and potentially rule-based learning.

Percepts and Actions:

 Percepts:

Infants primarily perceive language through auditory input (sounds) and visual cues (gestures, facial
expressions). They also experience the physical sensations of their own vocalizations.

 Actions:

Infants' actions start with reflexive sounds like cooing and babbling, gradually progressing to producing words
and phrases. They also engage in non-verbal communication through gestures and facial expressions.

Types of Learning:

1. Pattern Recognition:

Infants learn to recognize patterns in the sounds of language, such as syllables and phonemes. They identify
recurring sequences of sounds and begin to associate these patterns with meaning.

Association:

Infants form associations between sounds (words) and the objects or actions they represent. They learn to
associate the word "ball" with the visual image and physical sensation of a ball.

3. Generalization:

Infants generalize learned patterns to new contexts. For example, once they learn to associate "ball" with a
specific round object, they may start using the word to refer to other round objects, such as a soccer ball or a
globe {1, 5}.

4. Rule-Based Learning:

While initially learning through association and pattern recognition, infants eventually begin to pick up on the
rules of grammar and syntax. They learn how to combine words in a grammatically correct way, such as
forming sentences {1, 5}.
For the case of learning to play tennis (or some other sport with which you are familiar), 5
Describe the percepts and actions, and the types of learning.
37.

Ans:

In tennis, learning involves perceiving the ball's trajectory, position, and speed, then performing actions like
striking the ball with a racket and moving on the court. This process involves perceptual learning, motor
learning, and strategic learning.

Here's a more detailed breakdown:

Percepts:

 Visual:

The ball's trajectory, speed, spin, and location relative to the player and opponent are crucial for determining
the optimal action.

 Auditory:

The sound of the ball hitting the racket can provide feedback on the strike's quality.

 Proprioceptive:

Sensory information from the body (e.g., racket grip, leg position) helps coordinate movements and ensure
balance.

Actions:

 Striking the ball:

This involves using the racket to hit the ball with the correct force, angle, and spin.

 Footwork:

Moving around the court efficiently to reach the ball and get into position to strike.

 Strategic decisions:

Choosing when to attack, defend, and use different shots based on the situation and opponent's behavior.

Types of Learning:

 Perceptual Learning:

Improving the ability to perceive subtle cues in the game, such as recognizing the ball's spin from a distance or
judging the optimal time to move to the net.

 Motor Learning:

Acquiring and refining the physical skills needed to play tennis, such as striking the ball with accuracy and
power, and moving effectively around the court.

 Strategic Learning:

Developing an understanding of the game's dynamics, such as recognizing patterns in the opponent's play and
choosing appropriate strategies to win points.

 Associative Learning:
Learning to associate specific perceptual cues (e.g., the position of the ball) with specific actions (e.g., moving
to the left).

 Autonomous Learning:

Achieving a level of skill where actions can be performed automatically, without conscious thought.

Suppose we generate a training set from a decision tree and then apply 5
decision-tree learning to that training set. Is it the case that the learning
38.
algorithm will eventually return the correct tree as the training-set size goes to
infinity? Why or why not?

Ans:

Yes, under certain conditions, the decision-tree learning algorithm will eventually return the correct tree as the
training-set size goes to infinity. This assumes the learning algorithm is able to find the most informative
feature at each step, and the data is generated from the exact decision tree.

Explanation:

 Perfect Data Generation:

When the training data is generated from the true decision tree, the algorithm can find the correct tree if it has
enough data.

 Incomplete Data:

If the training data is not complete or representative of the true decision tree, the algorithm may not be able to
find the correct tree, even with an infinite training set.

 Greedy Algorithm:

Decision-tree learning algorithms like ID3 are greedy algorithms that choose the best split at each step without
considering future consequences.

 Computational Complexity:

Finding the absolute best tree can be computationally intractable for large decision trees.

 Overfitting:

If the training set is finite, the algorithm may overfit to the training data, leading to a tree that performs well on
the training set but poorly on unseen data.

In the recursive construction of decision trees, it sometimes happens that a mixed set of 5
positive and negative examples remains at a leaf node, even after all the attributes have
39.
been used. Suppose that we have p positive examples and n negative examples. Show
that the solution used by DECISION-TREE-L EARNING, which picks the majority
classification, minimizes the absolute error over the set of examples at the leaf.

Ans:
Suppose you are running a learning experiment on a new algorithm for Boolean 10
classification. You have a data set consisting of 100 positive and 100 negative examples.
43.
You plan to use leave-one-out cross-validation and compare your algorithm to a baseline
function, a simple majority classifier. (A majority classifier is given a set of training data and
then always outputs the class that is in the majority in the training set, regardless of the
input.)

You expect the majority classifier to score about 50% on leave-one-out cross-validation,
but to your surprise, it scores zero every time. Can you explain why?

Ans:

The zero accuracy of the majority classifier in leave-one-out cross-validation stems from its inherent nature and
the way leave-one-out cross-validation works. Since the training set always has an equal number of positive
and negative examples, the majority classifier will always predict the class that appears most frequently, which
is neither positive nor negative.

Here's a breakdown:

 Majority Classifier:

A majority classifier learns from the majority class in the training data and predicts that class for all
instances. In this case, with an equal split of positive and negative examples, the classifier will always predict
the majority class, which is neither positive nor negative.

 Leave-One-Out Cross-Validation:

This technique involves training the model on all but one example and then testing on the held-out
example. This process is repeated for each instance. In leave-one-out cross-validation, the majority classifier
will predict the same class for all examples. If that predicted class is different from the actual class in any of the
examples, the accuracy will be zero.

 Equal Distribution:

The balanced dataset (50% positive, 50% negative) means that the majority classifier will always predict the
wrong class for any test example.

 Zero Score:

Since the majority classifier consistently predicts the wrong class, its accuracy in leave-one-out cross-validation
will be zero, not 50%.

Explain various methods to handle imbalanced datasets. 10

44.

Ans:

Imbalanced datasets, where one class significantly outweighs others, pose challenges for machine learning
models. Several techniques can help address this imbalance, including resampling (oversampling and
undersampling), synthetic data generation, algorithm adjustments, and alternative evaluation metrics.

Here's a more detailed breakdown of these methods:

1. Resampling Techniques:
 Oversampling:

Increases the representation of the minority class by duplicating existing instances or generating synthetic
ones.

 Random Oversampling: Duplicates instances from the minority class.

 Synthetic Minority Over-sampling Technique (SMOTE): Generates new synthetic instances


by interpolating between existing minority class samples.

 ADASYN: Adapts the oversampling process by generating more synthetic samples for
instances that are harder to learn.

 Undersampling:

Reduces the size of the majority class by removing instances.

 Random Undersampling: Randomly removes instances from the majority class.

 NearMiss: Selects instances close to the decision boundary of the minority class to be
removed.

 Tomek Links: Removes instances that are close to the opposite class.

 Edited Nearest Neighbors (ENN): Removes instances that are misclassified by their nearest
neighbors.

2. Synthetic Data Generation:

 SMOTE (Synthetic Minority Over-sampling Technique): Creates synthetic samples by interpolating


between existing minority class samples.

 ADASYN (Adaptive Synthetic Sampling Approach): Generates more synthetic samples for instances
that are harder to learn.

3. Algorithm Adjustments:

 Cost-Sensitive Learning:

Assigns different weights to different classes during training, penalizing misclassifications of the minority class
more heavily.

 Algorithm Selection:

Certain algorithms, like decision trees and Random Forests, are inherently less sensitive to class imbalance than
others, like Support Vector Machines (SVM).

4. Alternative Evaluation Metrics:

 Accuracy:

While useful, accuracy can be misleading in imbalanced datasets as it can be skewed towards the majority
class.

 Precision, Recall, F1-score, AUC-ROC:

These metrics offer a more nuanced view of model performance by considering the trade-off between
precision and recall.
Discuss different performance metrics used for classification models. 10

45.

Ans:

Several metrics are used to evaluate the performance of classification models, including accuracy, precision,
recall, F1-score, and AUC-ROC. Accuracy measures the overall correctness, while precision focuses on positive
predictions. Recall (or sensitivity) assesses the model's ability to identify all positive cases, and F1-score
balances precision and recall. AUC-ROC summarizes the trade-off between true positive and false positive
rates.

Here's a more detailed look at each metric:

 Accuracy:

This is the most straightforward metric, representing the proportion of correct predictions (both true positives
and true negatives) out of the total number of predictions. It's calculated as (TP + TN) / (TP + TN + FP +
FN). While a good starting point, accuracy can be misleading in imbalanced datasets where one class
dominates the other.

 Precision:

This metric focuses on the accuracy of positive predictions. It measures the proportion of true positive
predictions among all predicted positive instances, calculated as TP / (TP + FP). High precision means that when
the model predicts a positive case, it's usually correct.

 Recall (Sensitivity):

This metric measures the model's ability to correctly identify all positive cases. It's the proportion of true
positive predictions among all actual positive instances, calculated as TP / (TP + FN). High recall means that the
model captures most of the actual positive cases, minimizing false negatives.

 F1-Score:

This metric balances precision and recall, providing a single value that represents the harmonic mean of
both. It's useful when you want to consider both the accuracy of positive predictions and the model's ability to
capture all positive cases.

 AUC-ROC (Area Under the Receiver Operating Characteristic Curve):

This metric evaluates the model's ability to distinguish between positive and negative classes over a range of
thresholds. The ROC curve plots the true positive rate against the false positive rate. AUC-ROC summarizes this
performance into a single value, with a higher AUC indicating better model discrimination.

In essence, the choice of which metric to use depends on the specific goals of the classification task and the
relative importance of different types of errors. For example, if false negatives are more costly than false
positives, recall might be a more relevant metric than precision.
Discuss the impact of bias and variance on model performance. Discuss ethical 10
considerations in AI and Machine Learning.
46.

Ans:

Bias and variance are two key factors affecting machine learning model performance. Bias refers to a model's
tendency to make systematic errors, often due to oversimplification of the learning process. Variance, on the
other hand, measures how much a model's predictions vary when trained on different subsets of data. Striking
a balance between minimizing both bias and variance is crucial for building robust and accurate models. Ethical
considerations in AI and machine learning are equally important, particularly regarding fairness, transparency,
and accountability in decision-making processes.

Impact of Bias and Variance on Model Performance:

 High Bias:

A model with high bias is considered to underfit the data. It makes overly simplistic assumptions and fails to
capture complex patterns in the data, leading to poor performance on both the training and testing sets.

 High Variance:

A model with high variance is said to overfit the data. It learns the training data too well, including the noise
and random fluctuations, resulting in poor generalization to new, unseen data. This leads to a significant gap
between training accuracy and test accuracy.

 Bias-Variance Tradeoff:

There's a trade-off between bias and variance. As model complexity increases, bias decreases but variance
increases. Conversely, as model complexity decreases, variance decreases but bias increases. Finding the
optimal balance is essential for achieving good generalization performance.

 Balancing Bias and Variance:

Techniques like regularization, cross-validation, and feature selection can be used to reduce bias and variance,
helping to find a model that generalizes well to new data.

 Examples:

A linear regression model might have high bias if the relationship between the input features and the output is
non-linear, while a complex polynomial regression model could have high variance if it overfits the training
data.

Ethical Considerations in AI and Machine Learning:

 Fairness and Discrimination:

Machine learning models can be biased if trained on biased data, leading to unfair or discriminatory
outcomes. This can manifest in areas like loan applications, hiring processes, and even criminal justice.

 Transparency and Explainability:

It's crucial to understand how AI models make decisions, especially when those decisions have high
stakes. Black-box models that are difficult to interpret raise ethical concerns about accountability and trust.

 Data Privacy and Security:


AI systems often rely on large datasets, raising concerns about data privacy and security. Protecting sensitive
information and preventing unauthorized access are crucial ethical considerations.

 Accountability and Responsibility:

When AI models make mistakes or cause harm, it's important to determine who is responsible. Establishing
clear lines of accountability and responsibility is essential for ethical AI development and deployment.

 Addressing Bias:

Techniques for identifying and mitigating bias in AI models are being developed, including data augmentation,
algorithmic adjustments, and adversarial training.

 Examples:

A hiring algorithm that favors certain demographics over others, or a facial recognition system that
misidentifies people of certain ethnicities, are examples of AI systems that raise ethical concerns.

Construct a decision list to classify the data below. Select tests to be as small as 10
possible (in terms of attributes), breaking ties among tests with the same number of
47.
attributes by selecting the one that classifies the greatest number of examples
correctly. If multiple tests

have the same number of attributes and classify the same number of examples,
then break the tie using attributes with lower index numbers (e.g., select A1 over
A2)

Ans:

To construct a decision list that classifies the data optimally based on the criteria provided (smallest number of
attributes, breaking ties by number of correctly classified examples, and then by attribute index), we will follow
this process:

Step-by-Step Analysis:

Here is the dataset in tabular form again for convenience:


Example A₁ A₂ A₃ A₄ y

x₁ 1 0 0 0 1

x₂ 1 0 1 0 1

x₃ 0 1 0 0 1

x₄ 0 1 1 0 1

x₅ 1 1 0 1 1

x₆ 0 0 0 1 0

x₇ 0 0 1 1 0

x₈ 0 0 1 0 0

Step 1: Start with the most specific tests with one attribute

Try A₁ = 1

 Covers: x₁, x₂, x₅ → All have y = 1

 3 examples correctly classified.

Keep this as our first rule:

IF A₁ = 1 THEN y = 1

Now remove x₁, x₂, x₅ from the list.

Remaining: x₃, x₄, x₆, x₇, x₈

Step 2: Try A₂ = 1

 Covers: x₃, x₄ → Both have y = 1

 2 examples correctly classified.

ELSE IF A₂ = 1 THEN y = 1

Remove x₃, x₄.

Remaining: x₆, x₇, x₈

Step 3: Try A₄ = 1

 Covers: x₆, x₇ → Both have y = 0

So:

ELSE IF A₄ = 1 THEN y = 0

Remove x₆, x₇.


Remaining: x₈

Step 4: Check remaining example x₈:

 A₃ = 1, A₄ = 0

 y=0

Try A₃ = 1 ∧ A₄ = 0

 Only x₈ matches → y = 0

So:

ELSE IF A₃ = 1 ∧ A₄ = 0 THEN y = 0

Final Decision List:

IF A₁ = 1 THEN y = 1

ELSE IF A₂ = 1 THEN y = 1

ELSE IF A₄ = 1 THEN y = 0

ELSE IF A₃ = 1 ∧ A₄ = 0 THEN y = 0

This decision list classifies all 8 examples correctly, using the smallest number of attributes per rule and
resolving all ties as per the instructions.

Explain the No Free Lunch theorem and its implications for Machine Learning. 10

48.

Ans:
The No Free Lunch Theorem (NFLT) in machine learning states that no single learning algorithm consistently
outperforms all others across all possible problems, when averaged over all possible data distributions. This
implies that a "one-size-fits-all" algorithm for every machine learning task is not possible.

Elaboration:

 Core Idea:

NFLT essentially argues that any advantage one algorithm might have over another on a specific problem is
balanced by a disadvantage on other problems. If one algorithm performs better than another on a particular
dataset, it must perform worse on at least some other datasets, and vice-versa.

 Implications for Machine Learning:

 No Universal Best Algorithm: The theorem highlights that there isn't a single "magic bullet"
algorithm that can solve all machine learning problems.

 Importance of Problem Specificity: It emphasizes the need to carefully consider the


characteristics of the specific problem and the available data when choosing an algorithm.

 Algorithm Selection is Crucial: The choice of algorithm should be based on the nature of the
data, the desired outcome, and the specific task at hand.

 Focus on Algorithm Comparison and Optimization: NFLT encourages researchers and


practitioners to continuously compare and optimize algorithms within specific problem
domains.

 Why does it hold?

The theorem is a consequence of the immense diversity and complexity of potential problems in machine
learning. If an algorithm is well-suited to one type of problem (e.g., a particular type of data distribution), it
may not be well-suited to other types, and vice-versa.

 In Summary:
NFLT does not mean that one algorithm is necessarily equal to another on all problems, but rather that there's
no single "winner" in the grand scheme of machine learning. It's a cautionary tale that highlights the need for
careful algorithm selection and problem-specific optimization.

How can hyperparameter tuning improve model performance? Discuss Grid Search and 10
Randomized Search.
49.

Ans:

Hyperparameter tuning improves model performance by optimizing the model's configuration, leading to
better accuracy and generalization. Techniques like Grid Search and Randomized Search systematically explore
the hyperparameter space to find the best combination for a given model.

How Hyperparameter Tuning Improves Model Performance:

 Optimized Model Configuration:

Hyperparameters are settings that control the learning process of a model, influencing its structure, function,
and performance. By finding the optimal values for these hyperparameters, we can tailor the model to the
specific characteristics of the data and task, leading to better results.

 Reduced Overfitting and Underfitting:

Hyperparameter tuning helps prevent both overfitting (when the model learns the training data too well and
fails to generalize to new data) and underfitting (when the model is too simple and fails to capture the
underlying patterns in the data).

 Improved Generalization:

Well-tuned models are more likely to generalize well to unseen data, meaning they can make accurate
predictions on new, previously unseen examples.

Grid Search:

 Exhaustive Search:

Grid search systematically evaluates all possible combinations of hyperparameter values within a predefined
grid.

 Simplicity:

It's a straightforward technique, making it easy to understand and implement.

 Efficiency:

While exhaustive, it can be less efficient than random search when the hyperparameter space is large.

 Best Performance Guarantee:

Grid search guarantees finding the absolute best performance within the specified grid, but it can be
computationally expensive.

Randomized Search:

 Random Sampling:
Randomized search randomly samples hyperparameter combinations from the search space, rather than
evaluating all possibilities.

 Efficiency:

It is more efficient than grid search, especially when the hyperparameter space is large, as it doesn't evaluate
every combination.

 Exploration:

It allows for exploration of a wider range of hyperparameter values, potentially leading to better performance
than grid search when the optimal values are not obvious.

 Trade-off:

Randomized search doesn't guarantee finding the absolute best performance within the search space, but it
can be a more efficient way to find good solutions when computational resources are limited.

Prove that a decision list can represent the same function as a decision tree while 10
using at most as many rules as there are leaves in the decision tree for that
50.
function. Give an

example of a function represented by a decision list using strictly fewer rules than
the number of leaves in a minimal-sized decision tree for that same function.

Ans:

What you're solving for

A proof that a decision list can represent the same function as a decision tree with at most the number of rules
as the number of leaves in the tree, and an example where a decision list uses fewer rules.

What's given in the problem

 Decision tree and decision list representations of functions.

Helpful information

 A decision tree is a hierarchical structure where each node represents a condition, and branches
represent outcomes of the condition. Leaves represent the final outcome or classification.

 A decision list is a linear list of rules, where each rule is a condition followed by a prediction.

How to solve

1. Prove the decision list can represent the same function as a decision tree.

2. Give an example of a function where a decision list uses strictly fewer rules than a minimal-sized
decision tree.

Step 1: Prove decision list can represent decision tree function

 Each leaf in a decision tree represents a unique path through the tree, and thus a unique set of
conditions that lead to that leaf's outcome.

 A decision list can be constructed by creating a rule for each leaf in the decision tree. The rule's
condition will be the path leading to that leaf, and the rule's prediction will be the value assigned to
that leaf.
 This construction ensures that the decision list can represent the same function as the decision tree,
as each path in the tree is represented by a rule in the list.

Step 2: Example where decision list uses fewer rules

Suppose a 7-nearest-neighbors regression search returns {7, 6, 8, 4, 7, 11, 100} as the 10

51. 7 nearest y values for a given x value. What is the value of ˆy that minimizes the L1 loss
function on this data? There is a common name in statistics for this value as a function
of the y values; what is it? Answer the same two questions for the L2 loss function.

Ans:

You might also like