使用Google Colab对PUBG的玩家死亡数据集进行可视化分析

使用Google Colab对PUBG的玩家死亡数据集进行可视化分析

数据集

数据集可以在Kaggle(https://www.kaggle.com/)中找到。需要注册Kaggle账号后,Account → API, 选择 ”Create New API Token” 并下载.之后把token文件上传到Colab的文件夹中。

配置数据集

! pip install kaggle
! mkdir ~/.kaggle
! cp .json ~/.kaggle/
! chmod 600 ~/.kaggle/kaggle.json

//下载并解压PUBG数据集,可能需要花几分钟
! kaggle datasets download skihikingkevin/pubg-match-deaths
! unzip pubg-match-deaths.zip

一些画图的模块,主要是pandas library

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cmap
%matplotlib inline

数据准备

导入数据集中的地图
请添加图片描述

死亡位置散点图

首先需要对一些不在地图边界内的死亡数据进行剔除,并且设置散点图的坐标。
在scatter中,s参数代表点的大小,alpha代表透明度,color代表颜色。为了保证在能看清背景图片的情况下,对散点图和热图进行分析,我选择了0.6的alpha值。
请添加图片描述

死亡位置热图

hm_cells()函数主要用于计算每个热图单元中的死亡人数,主要用参数n来控制单元的大小。

heatmap()函数用于绘制热图。对于单元的大小,单元至少需要覆盖整个地形,例如整个城市、整个山顶等。这样得出的单元就更有代表性。

对于log参数,该函数使用log2来计算输入数据单元的基数2的对数,并将任何元素的负值或零值设置为零,这对于跨越几个数量级的数据的可视化很有用。然而,在这个实验室中,我使用的数据集不是很大,所以没有使用对数参数。

对于阿尔法参数,有必要使热图尽可能清晰,同时仍能看到背景地形。经过几次实验,我认为0.6是比较合理的。

请添加图片描述

不同武器造成的死亡位置热图

首先需要对不同的武器设置标签,包括步枪、狙击枪、散弹枪、爆炸物、车辆等等。
请添加图片描述
绘制不同武器造成死亡的位置热图,我只分析了步枪、散弹枪、爆炸物和车辆这些有代表性的。
我认为这些死亡位置的差异主要是由于不同的武器适用于不同的地形。一方面,玩家喜欢在该地形上使用合适的武器,另一方面,使用该武器击杀的可能性更大。
对于步枪来说,整个地图都适合使用,所以热图的分布比较均匀。对于霰弹枪来说,它适合于城市地形,那里有更多的掩体,而且离敌人更近。爆炸物适用于敌人难以移动的狭窄地形。车辆在公路或平原上更容易产生击杀。四个图一起比较可以看出,车辆和爆炸物产生的击杀数远低于枪械,因为它们更容易被躲避。
请添加图片描述
请添加图片描述
请添加图片描述

击杀距离热图

首先需要重写cell()函数,通过击杀者和被击杀者的位置返回击杀距离。然后用新的cell()函数绘制热图。
请添加图片描述
死亡距离的热图显示,除了开阔的平原地区死亡距离比较远之外,各地区的死亡距离没有太大差别。我认为这是因为武器射程的差别很小,而且其它地区有更多的掩体。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值