Book Image

The Supervised Learning Workshop - Second Edition

By : Blaine Bateman, Ashish Ranjan Jha, Benjamin Johnston, Ishita Mathur
Book Image

The Supervised Learning Workshop - Second Edition

By: Blaine Bateman, Ashish Ranjan Jha, Benjamin Johnston, Ishita Mathur

Overview of this book

Would you like to understand how and why machine learning techniques and data analytics are spearheading enterprises globally? From analyzing bioinformatics to predicting climate change, machine learning plays an increasingly pivotal role in our society. Although the real-world applications may seem complex, this book simplifies supervised learning for beginners with a step-by-step interactive approach. Working with real-time datasets, you’ll learn how supervised learning, when used with Python, can produce efficient predictive models. Starting with the fundamentals of supervised learning, you’ll quickly move to understand how to automate manual tasks and the process of assessing date using Jupyter and Python libraries like pandas. Next, you’ll use data exploration and visualization techniques to develop powerful supervised learning models, before understanding how to distinguish variables and represent their relationships using scatter plots, heatmaps, and box plots. After using regression and classification models on real-time datasets to predict future outcomes, you’ll grasp advanced ensemble techniques such as boosting and random forests. Finally, you’ll learn the importance of model evaluation in supervised learning and study metrics to evaluate regression and classification tasks. By the end of this book, you’ll have the skills you need to work on your real-life supervised learning Python projects.
Table of Contents (9 chapters)

7. Model Evaluation

Activity 7.01: Final Test Project

  1. Import the relevant libraries:
    import pandas as pd 
    import numpy as np 
    import json 
    %matplotlib inline 
    import matplotlib.pyplot as plt 
    from sklearn.preprocessing import OneHotEncoder 
    from sklearn.model_selection import RandomizedSearchCV, train_test_split
    from sklearn.ensemble import GradientBoostingClassifier 
    from sklearn.metrics import (accuracy_score, precision_score, \
    recall_score, confusion_matrix, precision_recall_curve)
  2. Read the breast-cancer-data.csv dataset:
    data = pd.read_csv('../Datasets/breast-cancer-data.csv') 
  3. Let's separate the input data (X) and the target (y):
    X = data.drop(columns=['diagnosis'])
    y = data['diagnosis'].map({'malignant': 1, 'benign': 0}.get).values
  4. Split the dataset into training and test sets:
    X_train, X_test, \
    y_train, y_test = train_test_split(X, y, \