Sitemap
Peter Rigali

Peter Rigali

Data Science x Call of Duty atm

Warzone Package: Part 3

3 min readAug 31, 2021

What features have the most robust relationships to team performance?

Let's start by defining team performance. In its simplest state, this can be approximated by final team placement. For our analysis, we will be using the final placement percent as our response variable. This is a value between 0 and 1. With 1 being the team won the match and 0 signifying the team was first to be eliminated. We do this due to the number of teams in each lobby fluctuating. We will be examining Rebirth Quads.

Get Peter Rigali’s stories in your inbox

Join Medium for free to get updates from this writer.

To start we filter our data using the DocumentFilter Class. We what all the data so we use original_df=cod.whole. We set map_choice=’mp_e’ and mode_choice=’quad’ to return only Rebirth Quad matches. This leaves us with a sample size of 50,300 players from 1250 matches. Which averages to near 40 players and 10 teams per match

doc = DocumentFilter(original_df=cod.whole, map_choice='mp_e', mode_choice='quad')

Then we will check the Correlation. For this we will be dropping categorical data types, focusing only on float data type variables.

Below is a Table Plot of the features and respective correlation to placement percent.

Press enter or click to view image in full size
Correlation values related to Placement Percent

At the top of our list we TeamSurvialTime with a 0.89. This makes intuitive sense, the longer a team is alive the more likely they will win.

Note noramlize_x = [‘teamSurvialTime’], this normalizes the values between 0 and 1.
Press enter or click to view image in full size
Notice the slope value in the legend is 0.95.

As we work our way down the Correlation table, we slowly get away from features that would be affected by the length of the game (timePlayed or distanceTraveled) or based on winning the game (scoreXp or totalXp). Im more interested in things like kills, longestStreak, objectiveBrMissionPickupTablet, or scorePerMinute. Using a similar Scatter to the one noted above, we get.

Press enter or click to view image in full size
Notice the slope value in the legend is 1.62.

Let's do a bit of regression.

Note: The Regression Class has a property for obtaining the residuals, reg.residuals.

Press enter or click to view image in full size
When we plot the residuals we notice an extreme pattern.
Press enter or click to view image in full size
Residual Histogram

Let's take a closer look at the underlying data.

Press enter or click to view image in full size
It's clear we need to perform some transformations

Below is some code for generating a Histogram Plot. We perform a log transformation to see if things improve.

Press enter or click to view image in full size
Kill Histogram after log transformation.

To be continued…

The package can be found here: https://github.com/pjrigali/Call-Of-Duty-Warzone-Analysis

Part 4: https://medium.com/@peterjrigali/warzone-package-part-4-10f04acc3251

Part 2: https://medium.com/@peterjrigali/warzone-package-part-2-3ff94902f355

--

--

Peter Rigali
Peter Rigali

Written by Peter Rigali

Data Science x Call of Duty atm