分析进阶篇(三):通过决策树分析,探明具有哪些行为的用户会是长期用户
案例背景:
《黑猫游戏》相比其他应用,很多用户开始游戏后不久就离开了。
为改善这种情况,通过数据分析探明,开始游戏后,什么样的用户行为能促使用户今后也持续登录游戏,从而帮助改进游戏设计。
由于用户在初期的游戏行为,主要包括3类:战斗、协作、发送消息,那么,通过量化这3类社交行为(每日行为发送次数、每日行为比率、每日行为次数的主成分数据),来参与分析。
同时,如果把所有分析属性放在一起分析,得到的结果可能难以解释。可以通过先将各分析属性和各自的社交行为进行聚类,以得到的类作为自变量。这样,我们就能清楚知道,哪种分析属性用来分析哪种社交行为最能解释模型。
模型的因变量,选择用户一周时间内的登录密度(登陆天数/7)
时间区间的切分——
以用户开始游戏后一周内(0-6天)的行为数据作为自变量,
登陆密度的计算,则通过下一周(7-13天)数据得到。
使用数据:
●DAU:日活数据
●Install:用户安装数据,包括用户属性等
●战斗行为日志:某一天,某个用户,战斗行为发生的次数
●发送消息行为日志:某一天,某个用户,发送消息行为发生的次数
●协作行为日志:某一天,某个用户,协作行为发生的次数
分析流程:加载常用库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import sklearn
import seaborn as sns读入数据
path = 'yourpath/R/sample-data/section9/daily/'
install_path = 'yourpath/R/sample-data/section9/snapshot/install/game-01/2013-09-30/install.csv'
datearray = pd.date_range('2013-06-01','2013-08-31',freq='D')
datedau = pd.date_range('2013-06-01','2013-09-30',freq='D')
from datetime import datetime
dau = pd.DataFrame()
for i in datedau:
date = datetime.date(i)
app_name = 'game-01'
path_small = path
path_pro = f'{path_small}dau/{app_name}/{date}/dau.csv'
data = pd.read_csv(path_pro)
data = pd.DataFrame(data)
dau = pd.concat([dau,data],ignore_index=True,axis=0)
battle = pd.DataFrame()
for i in datearray:
date = datetime.date(i)
app_name = 'game-01'
path_small = path
path_pro = f'{path_small}action/{app_name}/battle/{date}/battle.csv'
data = pd.read_csv(path_pro)
data = pd.DataFrame(data)
battle = pd.concat([battle,data],ignore_index=True,axis=0)
help1 = pd.DataFrame()
for i in datearray:
date = datetime.date(i)
app_name = 'game-01'
path_small = path
path_pro = f'{path_smal