Book Image

The Machine Learning Workshop - Second Edition

By : Hyatt Saleh
Book Image

The Machine Learning Workshop - Second Edition

By: Hyatt Saleh

Overview of this book

Machine learning algorithms are an integral part of almost all modern applications. To make the learning process faster and more accurate, you need a tool flexible and powerful enough to help you build machine learning algorithms quickly and easily. With The Machine Learning Workshop, you'll master the scikit-learn library and become proficient in developing clever machine learning algorithms. The Machine Learning Workshop begins by demonstrating how unsupervised and supervised learning algorithms work by analyzing a real-world dataset of wholesale customers. Once you've got to grips with the basics, you'll develop an artificial neural network using scikit-learn and then improve its performance by fine-tuning hyperparameters. Towards the end of the workshop, you'll study the dataset of a bank's marketing activities and build machine learning models that can list clients who are likely to subscribe to a term deposit. You'll also learn how to compare these models and select the optimal one. By the end of The Machine Learning Workshop, you'll not only have learned the difference between supervised and unsupervised models and their applications in the real world, but you'll also have developed the skills required to get started with programming your very own machine learning algorithms.
Table of Contents (8 chapters)

3. Supervised Learning – Key Steps

Activity 3.01: Data Partitioning on a Handwritten Digit Dataset


  1. Import all the required elements to split a dataset, as well as the load_digits function from scikit-learn to load the digits dataset. Use the following code to do so:
    from sklearn.datasets import load_digits
    import pandas as pd
    from sklearn.model_selection import train_test_split
    from sklearn.model_selection import KFold
  2. Load the digits dataset and create Pandas DataFrames containing the features and target matrices:
    digits = load_digits()
    X = pd.DataFrame(
    Y = pd.DataFrame(
    print(X.shape, Y.shape)

    The shape of your features and target matrices should be as follows, respectively:

    (1797, 64) (1797, 1)
  3. Perform the conventional split approach, using a split ratio of 60/20/20%.

    Using the train_test_split function, split the data into an initial train set and a test set:

    X_new, X_test, \
    Y_new, Y_test = train_test_split(X, Y, test_size...