Book Image

Hands-On Predictive Analytics with Python

By : Alvaro Fuentes
Book Image

Hands-On Predictive Analytics with Python

By: Alvaro Fuentes

Overview of this book

Predictive analytics is an applied field that employs a variety of quantitative methods using data to make predictions. It involves much more than just throwing data onto a computer to build a model. This book provides practical coverage to help you understand the most important concepts of predictive analytics. Using practical, step-by-step examples, we build predictive analytics solutions while using cutting-edge Python tools and packages. The book's step-by-step approach starts by defining the problem and moves on to identifying relevant data. We will also be performing data preparation, exploring and visualizing relationships, building models, tuning, evaluating, and deploying model. Each stage has relevant practical examples and efficient Python code. You will work with models such as KNN, Random Forests, and neural networks using the most important libraries in Python's data science stack: NumPy, Pandas, Matplotlib, Seaborn, Keras, Dash, and so on. In addition to hands-on code examples, you will find intuitive explanations of the inner workings of the main techniques and algorithms used in predictive analytics. By the end of this book, you will be all set to build high-performance predictive analytics solutions using Python programming.
Table of Contents (11 chapters)

The dark art of training neural networks

From the results we got, we can see that there is a clear symptom of overfitting—the training accuracy looks great (91%), but the testing accuracy is lower than even random guessing. The most likely two causes for this are as follows:

  • The model has too many parameters
  • The model has been trained for too long

Since we are overfitting, we need to try some regularization technique; the simplest in the case of neural networks is training the model for fewer epochs. Now, let's get the initial weights and biases of the network back to the original values (the ones we saved in the a.h5 file):

nn_classifier.load_weights('class_initial_w.h5')

Now the weights have been reset, let's train our model again, this time only for 50 epochs:

batch_size = 64
n_epochs = 50
nn_classifier.compile(loss='binary_crossentropy&apos...