Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying scikit-learn Cookbook
  • Table Of Contents Toc
scikit-learn Cookbook

scikit-learn Cookbook - Third Edition

By : John Sukup
close
close
scikit-learn Cookbook

scikit-learn Cookbook

By: John Sukup

Overview of this book

Trusted by data scientists, ML engineers, and software developers alike, scikit-learn offers a versatile, user-friendly framework for implementing a wide range of ML algorithms, enabling the efficient development and deployment of predictive models in real-world applications. This third edition of scikit-learn Cookbook will help you master ML with real-world examples and scikit-learn 1.5 features. This updated edition takes you on a journey from understanding the fundamentals of ML and data preprocessing, through implementing advanced algorithms and techniques, to deploying and optimizing ML models in production. Along the way, you’ll explore practical, step-by-step recipes that cover everything from feature engineering and model selection to hyperparameter tuning and model evaluation, all using scikit-learn. By the end of this book, you’ll have gained the knowledge and skills needed to confidently build, evaluate, and deploy sophisticated ML models using scikit-learn, ready to tackle a wide range of data-driven challenges. *Email sign-up and proof of purchase required
Table of Contents (17 chapters)
close
close

Transformers and the transform() method

In scikit-learn, transformers are tools that modify data by applying transformations such as scaling, normalization, or encoding to prepare it for modeling. Each transformer follows a consistent interface, using the fit() method to learn any necessary parameters from the data and the transform() method to apply those transformations. For instance, StandardScaler() calculates the mean and standard deviation during fit() and uses those values to transform the data by scaling it (as you may recall from high school statistics, this transformed value is called a z-score).

Figure 1.1 – Data transformation in the context of scikit-learn’s Pipeline() class

Figure 1.1 – Data transformation in the context of scikit-learn’s Pipeline() class

Data transformations provide several benefits when applied to ML scenarios. First, many models presuppose data to be normally distributed, free of outliers, and so on. Second, most real-world datasets do not come in this neat-and-tidy format and require some massaging before modeling occurs:

from sklearn.preprocessing import StandardScaler
import numpy as np
# Example data
X = np.array([[1, 2], [3, 4], [5, 6]])
# Create a StandardScaler instance
scaler = StandardScaler()
# Fit the scaler on the data
scaler.fit(X)
# Transform the data
X_scaled = scaler.transform(X)
print(X_scaled)
# Output:
[[-1.22474487 -1.22474487]
[ 0.           0.        ]
[ 1.22474487   1.22474487]]

Another common shortcut that we saw previously, fit_transform(), allows users to perform both steps in one command, making preprocessing workflows more efficient. Again, when to use fit_transform() and fit() with transform() separately depends on the task at hand. Typically, we should apply the fit_transform() method to our training data if we want to transform our data immediately based on the calculated transformation, something the fit() method can’t achieve by itself. However, when applying transformations to our test dataset, we wouldn’t want to reapply the fit() method; this would impose a potentially different data transformation, as our test data will be slightly different from our training data. Remember, our test dataset is meant to be treated exactly like our training data for model consistency purposes, so implementing a separate fit() method on it could potentially alter our test data and make our model predictions unreliable when applied in a real-world scenario:

from sklearn.preprocessing import StandardScaler
import numpy as np
# Example data
X = np.array([[1, 2], [3, 4], [5, 6]])
# Create a StandardScaler instance and
# fit_transform the data in one step
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
print(X_scaled)
# Output:
[[-1.22474487 -1.22474487]
[ 0.           0.        ]
[ 1.22474487   1.22474487]]

This consistency across all transformers allows them to be integrated seamlessly into ML pipelines, ensuring that the same transformation is applied to both the training and test data, something that becomes significantly important when implementing production-level models.

We will explore various transformers, including StandardScaler(), MinMaxScaler(), and OneHotEncoder(), in Chapter 2 to demonstrate how they can be used to prepare data for ML models using the fit(), transform(), and fit_transform() methods. Practical examples will be provided to illustrate how you can integrate transformers into workflows to ensure your data is preprocessed consistently.

CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
scikit-learn Cookbook
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon