Book Image

Hands-On Artificial Intelligence for Cybersecurity

By : Alessandro Parisi
Book Image

Hands-On Artificial Intelligence for Cybersecurity

By: Alessandro Parisi

Overview of this book

Today's organizations spend billions of dollars globally on cybersecurity. Artificial intelligence has emerged as a great solution for building smarter and safer security systems that allow you to predict and detect suspicious network activity, such as phishing or unauthorized intrusions. This cybersecurity book presents and demonstrates popular and successful AI approaches and models that you can adapt to detect potential attacks and protect your corporate systems. You'll learn about the role of machine learning and neural networks, as well as deep learning in cybersecurity, and you'll also learn how you can infuse AI capabilities into building smart defensive mechanisms. As you advance, you'll be able to apply these strategies across a variety of applications, including spam filters, network intrusion detection, botnet detection, and secure authentication. By the end of this book, you'll be ready to develop intelligent systems that can detect unusual and suspicious patterns and attacks, thereby developing strong network security defenses using AI.
Table of Contents (16 chapters)
Free Chapter
Section 1: AI Core Concepts and Tools of the Trade
Section 2: Detecting Cybersecurity Threats with AI
Section 3: Protecting Sensitive Information and Assets
Section 4: Evaluating and Testing Your AI Arsenal

How to split data into training and test sets

One of the most commonly used methods to evaluate the learning effectiveness of our models is to test the predictions made by the algorithms on data it has never seen before. However, it is not always possible to feed fresh data into our models. One alternative involves subdividing the data at our disposal into training and testing subsets, varying the percentages of data to be assigned to each subset. The percentages usually chosen vary between 70% and 80% for the training subset, with the remaining 20–30% assigned to the testing subset.

The subdivision of the original sample dataset into two subsets for training and testing can be easily performed using the scikit-learn library, as we have done several times in our examples:

from sklearn.model_selection import train_test_split
# Create training and testing subsets
X_train, X_test...