Topic Overview

Hello and welcome! In today's lesson, we will learn how to make predictions using a trained Linear Regression model and evaluate the model's performance using the Mean Squared Error (MSE) metric. We will use the diamonds dataset to demonstrate this process.

Recap of the Trained Model

Before we dive into making predictions, let's briefly recap the steps we took to prepare and train our Linear Regression model.

First, we loaded the diamonds dataset using seaborn and prepared it by converting categorical variables into dummy variables for numerical compatibility. Next, we selected our features and target variable, and split the data into training and testing sets to ensure our model would generalize well to unseen data. Finally, we created and trained our Linear Regression model:

import seaborn as sns
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

# Load the diamonds dataset
diamonds = sns.load_dataset('diamonds')

# Convert categorical variables to dummy/indicator variables
diamonds = pd.get_dummies(diamonds, drop_first=True)

# Selecting features and target variable
X = diamonds.drop('price', axis=1)
y = diamonds['price']

# Splitting the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Creating and training the linear regression model
model = LinearRegression()
model.fit(X_train, y_train)

With the trained model ready, we can now move on to making predictions.

Making Predictions on Test Data

To make predictions with our trained model, we use the predict method provided by the LinearRegression class. This method will generate predicted values for our test data.

Here’s how to use the predict method and display the first 10 predictions:

Python
# Making predictions on the test data
predictions = model.predict(X_test)
print(predictions[:10])  # Display first 10 predictions for brevity

The output of the above code will be:

[ 711.88577262 3191.72583727 1947.2464112  2077.29062598 9878.99820896
 3932.58482532 2372.62585284 2380.08706701 2844.11827559 6199.23891652]

This output represents the first ten predicted prices of diamonds based on the model. Each number corresponds to the model's prediction of a diamond's price within the test dataset.

By generating predictions, we can now compare these predicted values to the actual values in our test set to evaluate the model's performance.

Sign up
Join the 1M+ learners on CodeSignal
Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal