目录
摘要
1 问题重述
2 问题分析
3 符号说明
4 模型建立与求解
4.1 问题一
4.1.1 数据预处理
4.1.2 处理结果
4.2 问题二
4.2.1 城市分布情况
4.2.2 用户登录情况
4.3 问题三
4.3.1 模型建立
4.3.2 模型求解
4.3.3 模型优化
4.4 问题四
4.4.1 模型建立
4.4.2 模型求解
4.4.3 服务建议
5 模型评价与推广
5.1 模型优点
5.2 模型缺点
5.3 模型推广
6 参考文献
代码实现
Light GBM+LR 组合模型 Python 代码
Light GBM 模型
K-means 聚类
问题二相关图表
摘要
 
 互联网信息技术的飞速发展,企业在日益激烈的市场不再只局限于产品或服务以及价格  
 
 
 的竞争,更多的是在于判别高质量的用户和渠道,优化营销成本。为了实现判别用户的价值,  
 
 
 实现小成本促销,达到提高用户转化率的目标。本文首先对原始数据进行预处理,然后将处  
 
 
 理后的数据分为测试集和训练数据集,运用多种分类预测模型对测试集数据进行拟合,再将  
 
 
 拟合好的模型用于训练集数据的预测,最后对比模型结果的准确率。对于用户消费行为价值  
 
 
 分析,提出了  
 DLML  
 特征模型,采用  
 K-Means  
 聚类模型对社交媒体用户建立细分模型,构  
 
 
 建用户群体价值画像; 将用户价值分成  
 5  
 个等级,分析了每个等级的用户特征。  
 
 
 针对问题一的数据预处理,本文确定问题数据的类型有三种,分别是缺失数据、异常数  
 
 
 据、重复值数据,然后采用不同方法对数据进行处理 
 , 
 包括数据清洗、填充缺失值和去除异  
 
 
 常值,去除重复数据,保证数据的唯一性和准确性。  
 
 
 针对问题二,将用户城市分布分为省级城市和市级城市分别进行统计,利用  
 ArcGIS  
 对  
 
 
 其进行可视化分析;对于用户的登录情况,先对用户总体的特征(字段)进行可视化分析,  
 
 
 然后对购买网课用户和未购买网课用户 的特征分别进行了可视化分析。  
 
 
 针对问题三,根据问题一预处理后的数据分为测试集和训练数据集,首先运用  
 Logistic  
 
 
 回归、 
 LightGBM  
 模型对测试集数据进行拟合,再将拟合好的模型用于训练集数据的预测,  
 
 
 最后参照结果输出样例  
 sample_output.csv  
 对比模型结果的准确率,结果显示 
 两个模型准确率  
 
 
 分别是  
 98.160% 
 和  
 98.980% 
 。为提高预估的准确率,学习数据更深层的特征,优化已有的模型,  
 
 
 本文 
 提出了  
 LightGBM+LR  
 组合模型 
 , 
 其准确率但准确率为  
 98.881% 
 ,效果不如  
 LightGBM  
 模  
 
 
 型。  
 
 
 针对问题四,提出了  
 DLML  
 特征模型,采用  
 K-Means  
 聚类模型对社交媒体用户建立细  
 
 
 分模型,构建用户群体价值画像;计算并检测其  
 CH  
 指标值以验证  
 DLML  
 特征模型和  
 K 
 
 
 Means  
 聚类模型的有效性;根据经济学顾客金字塔理论将用户价值分为  
 5  
 个等级,即核心价  
 
 
 值用户、重要价值用户、潜力价值用户、一般价值用户、低价值用户,并提出服务建议。  
 
 
 关键词 
 :用户消费行为分析; 
 LightGBM  
 模型;数据挖掘; 
 DLML  
 特征模型;价值画像 
 
 
1 问题重述
 
 在互联网不断发展的今天,各领域公司都在拓展互联网获客渠道,为公司产品引入新鲜  
 
 
 活跃的用户,提高用户购买产品的欲望,提升公司的品牌影响力。但如何判别高质量的用户  
 
 
 和渠道,优化营销成本一直都是各公司的痛点;这需要对用户的行为数据进行分析,判别用  
 
 
 户的价值,进而对用户制定专门的营销策略,实现小成本促销,达到提高用户转化率的目标。  
 
 
 根据提供的数据,我们需要解决以下问题。  
 
 
 问题  
 1 
 : 
 获取数据并进行预处理,提高数据质量。  
 
 
 问题  
 2 
 : 
 对用户的各城市分布情况、登录情况进行分析,并分别将结果进行多种形式的  
 
 
 可视化展现。  
 
 
 问题  
 3 
 : 
 构建模型判断用户最终是否会下单购买或下单购买的概率,并将模型结果输出  
 
 
 为  
 csv  
 文件,要求模型的效果达到  
 85% 
 以上。  
 
 
 问题 
  4 
 : 
 通过用户消费行为价值分析,给企业提出合理的建议。  
 
 
2 问题分析
 
 针对问题一,分析附件所给的数据,我们首先对于能人工进行处理的数据进行干预,以  
 
 
 便于能更方便的对数据进行选择,用于后续建模流程,增强模型的有效性;我们主要处理以  
 
 
 下两种类型的数据:缺失值处理和异常值处理。  
 
 
 针对问题二,根据预处理后的数据,利用  
 ArcGIS 
 、 
 MATLAB  
 以及  
 Python  
 对用户的城市  
 
 
 分布情况和登录情况进行统计分析和可视化。  
 
 
 针对问题三,求构建预测模型判断用户最终是否会下单购买,这是一个典型的二分类问  
 
 
 题,既用户购买商品和用户没有购买商品(用  
 1  
 表示用户购买商品, 
 0  
 表示用户没有购买商  
 
 
 品)。基于机器学习的二分类的预测模型,运用逻辑回归( 
 LR 
 ), 
 LightGBM  
 模型,利用  
 
 
 Python  
 对测试集数据进行拟合,并非建立的所有模型的效果一定都很好,所以需要对建立的  
 
 
 预测模型的效果进行评价。为评价模型的效果,将经预处理后的数据集拆分为训练数据集和  
 
 
 测试数据集,先利用训练数据集训练出模型,然后将测试数据集的数据代入训练好的模型中,  
 
 
 预测用户消费行为,最后通过将测试数据集的真实值和预测值进行比较来评价模型效果。  
 
 
 针对问题四,我们考虑构建用户价值画像,以实现对用户价值的准确描述。构建合理有  
 
 
 效的社交媒体用户价值画像需着重解决两个问题:首先选取简洁高效的特征模型客观的完成  
 
 
 对用户价值的表征,其次是选择合适的模型构建用户画像。我们选择  
 DLML 
 特征模型表征用  
 
 
 户以及采用  
 K-Means  
 聚类模型完成对用户的细分,提出相应的服务建议。  
 
 
3 符号说明

 
 
4 模型建立与求解
4.1 问题一
4.1.1 数据预处理
 
 数据预处理的一般步骤包括:数据清洗、数据集成、数据变换、数据归约。所以,针对  
 
 
 本问题,我们根据步骤处理数据,发现原始数据存在以下三个问题: 
 (1) 
 缺失性 
 (2) 
 重复性 
 (3)  
 
 
 无序性。  
 
 
 
 针对以上存在的问题,我们采用的数据预处理方法主要有缺失值处理、异常值处理、重  
 
 
 复值处理。  
 
 
 (1)  
 缺失值处理  
 
 
 ⚫  
 删除。当缺失值样本对总体样本的影响不明显的时候可以通过删除这种简单有效的  
 
 
 方法来解决问题,但是这种方法的缺陷也比较明显,若删除的缺失值恰好是关键需要的数据,  
 
 
 则会直接影响到后续工作并且最终结果会产生较大偏移。  
 
 
 ⚫ 均值插补。数据集中的信息特征分为数据特征和非数据特征,如果数据集中的缺失 
 
 
 
  值是数据特征,则根据此特征上其他对象的值的平均值来赋予该缺失的特征值;如果数据集  
 
 
  
  中的缺失值是非数据特征,那就根据此特征值上其他对象的众数来赋予该缺失的特征值。  
 
 
  
  ⚫  
  极大似然估计。采用  
  K  
  最近邻算法,缺失值可以用它最接近的  
  K  
  个邻近值来代表。  
 
 
  
  (2)  
  重复值处理  
 
 
  
  重复数据即两次甚至多次出现的数据,因为在整体样本中占得比例大于其他类型的数据  
 
 
  
  问题而更容易令结果出现倾向性,因此处理重复值的方法一般是降低重复值的权重,对于重  
 
 
  
  复量不多的重复值可以使用直接删除这种简单方法,但是对于重复率高的数值,直接删除会  
 
 
  
  影响研究结果,必须采取其他方法进行处理。通过研究,我们发现重复值主要存在于用户  
 
 
  
  ID 
  ( 
  user_id 
  )。  
 
 
  
  (3)  
  异常值处理  
 
 
  
  异常值的判别我们主要是常识判别和基于密度判别。常识判别是依据专业知识和个人经  
 
 
  
  验,判断是否超过了理论范围值,数据中有没有明显不符合实际情况的错误,例如登录天数  
 
 
  
  不可能为负值;  
 
 
  
  基于密度判别是当一个点的局域密度与其近邻的点的局域密度有显著不同时,我们可以  
 
 
  
  判断这个点是异常的,异常值是位于数据系列中的极端值,该异常值非常小或非常大,因此  
 
 
  
  可能影响数据系列的整体,因此应从数据中丢弃。  
 
 
  
  异常值判别方法采用箱型图检测和  
  3σ  
  原则两种方法综合排除异常值。发现异常值后采  
 
 
  
  用的方法是删除异常值,然后按照缺失值的方法来补充修正。  
 
 
  
  ⚫  
  箱型图检测基本步骤  
 
 
  
  Step 1: 
  设  
  n  
  是数据集中的数据值的数量。计算中位数(Q2),是数据集的中间值。 
   
 
 
 
  
 
  
 
 
  因此,任何超过上限或小于下限的值都将是异常值。只有位于下限和上限内的数据在统  
 
 
  
  计上被认为是正常的,因此可用于进一步观察或研究。  
 
 
  
  ⚫  
  3σ  
  原则  
 
 
  
  3σ 
  准则又称为拉依达准则,它是先假设一组检测数据只含有随机误差,对其进行计算处  
 
 
  
  理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误  
 
 
  
  差而是粗大误差,含有该误差的数据应予以剔除。  
 
 
  
  3σ  
  原则步骤如下。  
 
 
  
  Step1 
  :首先需要保证数据列大致上服从正态分布;  
 
 
  
  Step2 
  :计算需要检验的数据列的平均值和标准差;  
 
 
  
  Step3 
  :比较数据列的每个值与平均值的偏差是否超过  
  3  
  倍,如果超过  
  3  
  倍则为异常值;  
 
 
  
  Step4 
  :剔除异常值,得到规范的数据。  
 
 
  
 4.1.2 处理结果
 
  (1) user-info  
  处理结果  
 
 
  
  按照以上的处理方法,对附件  
  user-info  
  中  
  135968  
  条数据进行预处理。  
 
 
  
  ⚫  
  空缺值处理  
 
 
  
  城市( 
  city-num 
  )存在空缺值,筛选出空值数据共  
  28203  
  条,并将其删除。  
 
 
  
  ⚫  
  重复值处理  
 
 
  
  筛选用户  
  ID 
  ( 
  user_id 
  ),用户  
  ID  
  存在重复情况,重复  
  ID  
  个数有  
  10712  
  个 
  , 
  直接删除影响  
 
 
  
  建模结果。故对重复  
  ID  
  进行重新编写,方法为:  
 
 
  
  针对第  
  i  
  个数据和其重复数据,若第  
  i  
  个和第  
  i+1  
  个一样,把第  
  i+1  
  个的  
  ID  
  值加  
  1,若第 
  
 
 
   i+2  
   个一样,就加  
   2 
   ,以此类推,使数据合理化。  
  
 
   
   ⚫  
   异常值处理  
  
 
   
   基于现实情况 ,筛选年龄( 
   age_month 
   ),考虑现实因素用户年龄应该在  
   3  
   岁以上, 
   100  
  
 
   
   岁以下,筛选出不符合该区间范围的数据共  
   11744  
   条并剔除。  
  
 
   
   经过以上预处理,得到的数据结果如表 4 所示。  
    
 
  
 
   
 
   
   (2) login_day  
   处理结果  
  
 
   
   对附件  
   login_day  
   中  
   135617  
   条数据进行预处理。无空缺值和重复值,故只需处理异常值  
  
 
   
   ⚫  
   异常值处理。  
  
 
   
   基于现实情况,筛选登录天数( 
   login_day 
   )、登录间隔( 
   login_diff_time 
   )、最后登录距  
  
 
   
   期末天数( 
   distance_day 
   ),考虑现实因素,天数不可能存在负值,筛选出负值共  
   4400  
   条并将  
  
 
   
   其删除。  
  
 
   
   基于密度判别,利用 MATLAB 画箱型图进行检测得到的结果:  
    
 
  
 
   
 
   
 
利用 python 画 3sigma 图进行检测得到的结果:  
 
 
   通过两种预处理的方式,综合比较分析,字段  
   login-day 
   , 
   launch time,distanc-day  
   采用  
  
 
   
   3sigma 
   异常值识别效果更好,字段 
   login-diff-time,learn-num,finish-num,login-time,camp-num 
   采  
  
 
   
   用箱型图识别效果更好,故基于两种处理方法,检测到异常值  
   5795  
   条并剔除。  
  
 
   
   通过以上预处理,得到的数据结果如表 5 所示。  
    
 
  
 
   
 
   
   (3) visit_info  
   处理结果  
  
 
   
   对附件  
   visit-info  
   中  
   135618  
   条数据进行预处理,无空缺值,故只处理重复值和异常值。  
  
 
   
   ⚫  
   重复值处理  
  
 
   
   筛选用户  
   ID 
   ( 
   user_id 
   ),用户  
   ID  
   存在重复情况,按附件  
   user-info  
   处理方式一样,重复  
  
 
   
   ID  
   进行重新编写。  
  
 
   
   ⚫  
   异常值处理  
  
 
   
   基于现实情况,附件  
   visit-info  
   无异常值 。  
  
 
   
   基于密度判别,由于以上两种判别方法筛选出来的异常值高达  
   4  
   万条,异常数据占比较  
  
 
   
   大,若剔除则严重影响结果,若修正则影响建模的准确性,所以猜想方法并不适用于处理该  
  
 
   
   附件。故考虑采用检测异常值的另外一种常见方法:阈值法。  
  
 
   
   基于密度判别,利用 python 画散点图进行检测的结果为:  
    
 
  
 
   
 
   
   通过散点图,可以看出,离数群据可视为异常数据,对每个字段的散点图设置一个阈值,  
  
 
   
   删除超过阈值的数据,共删除  
   245  
   条数据,如表 6 所示。  
    
 
  
 
   
 
   
 
 
   用户  
   ID  
   值,将预处理后的  
   login-day.csv 
   、 
   user-info.csv 
   、 
   visit-info.csv  
   表与  
   result.csv  
   表整  
  
 
   
   合成一个表,存在于  
   result  
   表的用户  
   ID  
   表示已经购买了商品 
   , 
   则字段  
   result  
   列数值为  
   1 
   ,剩余  
  
 
   
   用户 
   ID 
   表明没有购买商品,字段 
   result 
   列数值为 
   0 
   。经过预处理,整合后的数据集变为 
   90217  
  
 
   
   条。  
  
 
   
  4.2 问题二
4.2.1 城市分布情况
 
   该公司拥有用户数据有  
   13 
   万,经过数据清洗有效用户数量有  
   9 
   万。根据问题一预处理后  
  
 
   
   的数据,利用  
   Python  
   和  
   MATLAB  
   对  
   user-info 表中用户的城市分布情况进行统计分析。首先 
   
 
   
    我们分析了各用户在市级城市和省级城市的占比情况,然后运用  
    ArcGIS  
    中的自然断裂法对  
   
 
    
    用户在城市以及省份的分布占比进行可视化。  
   
 
    
    (1)用户在市级城市分布占比情况:  
     
 
   
 
    
 
   
 
    以全国为主体整体分析发现,中部和西南地区城市用户分布数量最多,由上图可知,重  
   
 
    
    庆和成都两个西南地区最具代表性的城市用户数量排行第一和第三,可以看出购买该互联网  
   
 
    
    公司网课的用户大部分集中于川渝地区;从城市等级角度来看用户分布情况,北上广深都位  
   
 
    
    居排行榜前 20,可以看到用户分布情况占比在一线城市为  
    8.64% 
    ,新一线城市为  
    26.96% 
    ,  
   
 
    
    二线城市及以下为  
    64.40% 
    。总的来说,用户分布集中于一线城市(北上广深)和以重庆成  
   
 
    
    都为代表的新一线城市中。  
   
 
    
    (2)用户在全国省份分布占比情况: 
   
 
   
 
   由图 8 可知,该网课服务的用户大多分布在川渝地区、中部以及东部沿海地区,数据显  
  
 
   
   示,重庆、广东以及河南用户数量分别占比  
   28% 
   、 
   16.6% 
   和  
   11.6% 
   。近年来,重庆地区生产  
  
 
   
   总值常常位居第一,而该网课的用户分布图中重庆也是位居第一,侧面反映一个地区  
   GDP  
  
 
   
   越高,相应愿意投资学习购买网课的用户相应的越多。  
  
 
   
   再来看看该网课的用户的年龄分布,根据图  
   9  
   的数据显示,有  
   75.18% 
   的用户年龄在  
  
 
   
   43~81 
   岁。其中,有  
   24.39% 
   的用户年龄在  
   43 
   ~ 
   55 
   岁,有  
   26.05% 
   的用户在  
   56~68  
   岁, 
   有  
   24.74%  
  
 
   
   用户年龄在 69~81 岁。这些统计数据说明中老年人是该网课的主力群体。  
    
 
  
 
   
 
   
   从图  
   9  
   可知, 
   53  
   为该网课用户群体年龄的众数,说明网课用户最具代表的年龄是  
   53  
  
 
   
   岁,接下来对对  
   53  
   岁用户群体所在城市进行分析,如图  
   10  
   和表 8 所示。  
    
 
  
 
   
 
   
   数据显示,在  
   53  
   岁用户群体中,重庆用户占比  
   15.14% 
   ,又位居第一。  
  
 
   
   根据以上分析来看,该网课用户群体大部分来自川渝地区,其次是像广州这样的东部沿  
  
 
   
   海地区以及中部地区。  
  
 
   
  4.2.2 用户登录情况
 
   根据问题一预处理后的数据,利用  
   Python  
   和  
   MATLAB  
   对  
   login_day  
   表中用户的登录情况  
  
 
   
   进行统计分析。  
  
 
   
   关于用户登录情况分析,本文采用了数理统计方法对登陆天数、登录时长学习和完成课  
  
 
   
   节数以及领券数量进行数据分组,利用  
   SPSS  
   软件对这些数据进行处理和分析。除此之外,  
  
 
   
   对购买网课和未购买网课的用户登录情况也进行了单独的分析。  
  
 
   
   1.  
   登录天数  
  
 
   
   a)  
   全体用户 
  
 
   
 
   结合直方图和频率分布表来看,有  
   99.9% 
   用户登录天数在集中在  
   1~12  
   天。  
  
 
   
   b) 购买和未购买用户 
    
 
  
 
   
 
   
   从图  
   12  
   可以看出,虽然两者用户登录天数均集中  
   5  
   天,但购买网课用户登录  
   1~2  
   天的用  
  
 
   
   户比为购买网课用户走势更低,且登录超过  
   7 天的用户走势更加平缓,这说明购买网课用户 
   
 
  
    存续时间更长一些。  
   
 
    
    2. 登录间隔和登录时长  
   
 
    
    a) 全体用户(登录时长)  
   
 
    
    登录时长采用了组距式分组,分组数目参考  
    Sturges  
    提出的经验公式,总共  
    17  
    组,组距  
   
 
    
    为 35。  
     
 
   
 
    
 
   b)购买和未购买网课用户 
 
 
    从图  
    14  
    可以看出,就登录间隔,购买网课用户集中分布在  
    0~1.14  
    天,而未购买网课用  
   
 
    
    户集中在  
    0-1.23  
    天。就登录时长购买网课用户登录时长在  
    20~30  
    分组左右,未购买网课用户  
   
 
    
    登录时长在  
    17  
    分钟左右。这说明购买网课用户登录间隔更短且登录时长更久。  
   
 
    
    3. 最后登录距期末天数 
     
 
   
 
    
 
    
    从图  
    15  
    可以看出,购买了网课的用户最后登录距期末天数集中于  
    21~28  
    天,相反,未  
   
 
    
    购买的用户最后登录距期末天数分布较为分散。  
   
 
    
    4. 开课数 
     
 
   
 
    
 
    
    从图  
    17  
    可以看出,用户学习和完成课节数集中分布在  
    1~10  
    天。  
   
 
    
    b) 购买和未购买网课用户 
     
 
   
 
    
 
    
    从图  
    18 
    中可以得出,购买网课用户学习课节数集中于  
    3 
    节,而未购买网课用户学习课节  
   
 
    
    数集  
    0  
    节最多。完成课节数方面,购买网课用户集中于  
    2  
    节,而未购买网课用户完成课节数  
   
 
    
    集中于  
    0  
    节。  
   
 
    
    6. 领券数量 
     
 
   
 
    
 
    
    从上表可以看出,关于关注公众号,购买网课关注公众号  
    1  
    人数占比超过一半,未购买  
   
 
    
    网课关注公众号  
    1  
    的人数占比仅为  
    1/3 
    ,说明关注过公众号  
    1  
    的大部分都购买了网课。但是  
   
 
    
    针对公众号  
    2  
    而言,这两部分人群都很少有人去关注。可以得出结论:关注公众号  
    1  
    的用户  
   
 
    
    更有可能购买网课,公众号  
    1  
    更有可能带来潜在用户。关于添加销售好友和进群,无论是否  
   
 
    
    购买网课,大多数用户都选择了添加好友和进群,可以得出结论:用户是否选择购买网课与  
   
 
    
    这两者没有太大关联。  
   
 
    
   4.3 问题三
4.3.1 模型建立
 
    ( 
    1 
    ) 
    LR  
    模型  
   
 
    
    逻辑回归 
    (LR) 
    是目前使用最广的算法之一。它不但可做回归分析,也可以执行分类任  
   
 
    
    务,在处理分类问题中,它是在线性回归模型的基础上增加了  
    f  
    变换, 
    f  
    变化为  
    Logistic  
    函数,  
   
 
    
    其函数形式为: 
     
 
   
 
    
 
    
 
 
    Logistic  
    回归是基于因变量是二项分布的线性模型,当需要数值型数据来预测两种可能  
   
 
    
    性的结果时,逻辑回归常表现出不俗的效果。  
   
 
    
    (2) 
    LightGBM  
    模型  
   
 
    
    决策树( 
    GBDT 
    )是机器学习中一个长盛不衰的模型,其主要思想是利用弱分类器(决  
   
 
    
    策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等优点。 
    GBDT  
    在工  
   
 
    
    业界应用广泛,通常被用于点击率预测,搜索排序等任务。 
    GBDT  
    也是各种数据挖掘竞赛的  
   
 
    
    致命武器,据统计  
    Kaggle  
    上的比赛有一半以上的冠军方案都是基于  
    GBDT 
    。但  
    GBDT  
    在每  
   
 
    
    一次迭代的时候,都需要遍历整个训练数据多次。如果把整个训练数据装进内存则会限制训  
   
 
    
    练数据的大小;如果不装进内存,反复地读写训练数据又会消耗非常大的时间。 
    LightGBM  
   
 
    
    提出的主要原因就是为了解决  
    GBDT  
    在海量数据遇到的问题,让  
    GBDT  
    可以更好更快地用  
   
 
    
    于工业实践。所以本文在此基础上采用了  
    GBDT  
    的优化算法: 
    LightGBM  
    。它具有更快的训  
   
 
    
    练速度、更低的内存消耗、更好的准确率,可以快速处理海量数据。它主要包含两个算法:  
   
 
    
    GOSS( 
    从减少样本角度 
    ) 
    :排除大部分小梯度的样本,仅用剩下的样本计算信息增益。  
   
 
    
    EFB( 
    从减少特征角度 
    ) 
    :捆绑互斥特征,也就是他们很少同时取非零值 
    ( 
    也就是用一个合成特  
   
 
    
    征代替 
    ) 
    。  
   
 
    
   4.3.2 模型求解
 
    预处理后的原始数据集为  
    90217  
    条,为评价模型的效果,将数据集拆分为训练数据集和  
   
 
    
    测试数据集,其中训练数据集包含经预处理后的数据集的前  
    80000  
    行的所有数据,测试数据  
   
 
    
    集包含经预处理后的数据集剩下的  
    10217  
    行的所有数据。代入机器学习的预测模型。  
   
 
    
    ( 
    1 
    )  
    LR  
    模型预测结果  
   
 
    
    在训练过程中,由于输入的特征具有维度高的特点,而模型越复杂越容易导致过拟合,  
   
 
    
    解决方法一般有两种:①只选择重要特征,降低特征的维度。②对不重要的特征进行权重惩  
   
 
    
    罚,可以在损失函数后面的加一个额外项,称为惩罚项。一般惩罚项有两种, 
    L1  
    正则和  
    L2  
   
 
    
    正则。二者的区别为,当两个特征相关时, 
    L1  
    正则只会对一个权重赋值,可以产生稀疏权  
   
 
    
    值矩阵,即产生一个稀疏模型,可以用于特征选择, 
    L2  
    正则化可以防止模型过拟合;拟合  
   
 
    
    过程中通常都倾向于让权值尽可能小,最后构造一个所有参数都比较小的模型。因为一般认  
   
 
    
    为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。 
    L2  
   
 
    
    正则在减少预测错误上表现更好。本文将在两种正则项上对逻辑回归模型进行实验。  
   
 
    
    由于本问题  
    L2  
    正则化的效果更好,所以  
    LR  
    采用  
    L2  
    正则化避免过拟合,正则化强度的  
   
 
    
    倒数  
    C  
    取  
    0.001 
    ,利用  
    Python  
    进行算法预测。 
   
 
    
 
    LR  
    模型的准确率为  
    98.16% 
    ,既模型效果达到了  
    85% 
    。  
   
 
    
    (2)  
    LightGBM  
    模型预测结果  
   
 
    
    利用  
    Python 
    ,计算预测模型的准确性。其中训练每棵树时,使用的数据占全部训练集的  
   
 
    
    比例为  
    0.9 
    ,使用的特征占全部特征的比例为  
    0.9 
    ,共  
    500  
    棵树,每棵树最多  
    50  
    个叶子节点。  
   
 
    
    算法流程为: 
   
 
    
4.3.3 模型优化
 
    2015  
    年, 
    Facebook  
    提出使用  
    GBDT+LR  
    对用户的广告点击率进行预测,取得了较好的效  
   
 
    
    果。这一组合模型的核心在于,利用决策树进行特征提取,将决策树的叶子节点值,作为提  
   
 
    
    取的特征,输入到逻辑回归模型中。因此,本文借鉴此做法,提出了  
    LightGBM+LR  
    模型组  
   
 
    
    合。 
   
 
    
 
    数据显示, 
    LightGBM  
    模型的准确率最高,且运行时间也比较;相对来说,是三种模型  
   
 
    
    里效果最好的。 
   
 
   
4.4 问题四
4.4.1 模型建立
 
    ( 
    1 
    ) 
    DLML  
    特征模型  
   
 
    
    通过问题三,我们知道  
    LightGBM  
    模型预测效果最好,所以用它生成各字段(既特征)对用  
   
 
    
    户购买商品的影响程度(既重要度),然后将特征重要度进行归一化处理,如下表所示: 
     
 
   
 
    
 
    
    D  
    表征用户最近的活跃状态,可有效表征近期用户创造价值的情况, 
    L  
    表征用户的活跃  
   
 
    
    情况, 
    M  
    表征用户的经济情况, 
    L  
    表征用户的参与度。  
   
 
    
    (2) 
    K-Means  
    聚类模型  
   
 
    
    K-Means  
    聚类算法是一种迭代求解的聚类分析算法,其步骤是随机选取  
    K  
    个对象作为初  
   
 
    
    始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离  
   
 
    
    它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚  
   
 
    
    类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止 
    
 
    
     条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数  
    
 
     
     目)聚类中心再发生变化,误差平方和局部最小。  
    
 
     
     算法实现步骤为: 
      
 
    
 
     
 
     
     (3) 
     CH  
     指标  
    
 
     
     衡量聚类效果好坏的指标有调整型兰德系数 
     (ARI) 
     、调整型互信息得分 
     (AMI-score) 
     、同  
    
 
     
     质性 
     / 
     异质性得分 
     (Homogeneity-Score/Completeness-score) 
     、调和平均值 
     (V-measure) 
     、 
     Fowlkes 
    
 
     
     Mallows  
     指数、轮廓系数 
     (Sil⁃houette Coefficient) 
     、 
     CH  
     指标 
     (Calinski-Harabaz Index) 
     。 
     CH  
     指标  
    
 
     
     计算速度较快,对比效果较明显,故选择  
     CH  
     指标作为衡量指标。类簇中数据的协方差越小,  
    
 
     
     同时,类别间协方差越大, 
     CH  
     指标取值越高,表示聚类效果越好。其原理如公式所示。  
    
 
    

4.4.2 模型求解
 
 ( 
 1 
 )  
 K-Means  
 模型  
 
 
 基于  
 LRCFP  
 特征模型,利用预处理后的  
 90217  
 条数据对  
 K-Means  
 进行聚类,模型迭代  
 
 
 次数  
 iter  
 为  
 300  
 时,聚类个数为  
 5  
 时,效果最佳,类别最清晰。采用  
 PCA  
 降维,其聚类效果  
 
 
 如图  
 26  
 所示。  
 

 
 (2)  
 CH  
 指标检验与模型分析  
 
 
 利用  
 CH  
 指标分别对  
 K-Means 
 、 
 DBSCAN 
 、 
 SOM  
 聚类效果进行检验,简单说明选择  
 K 
 
 
 Means  
 模型的合理性。  
 
 由表 15 可得,采用  
  DLML  
  特征模型时, 
  K-Means  
  设置聚类个数为  
  5 
  ,最大迭代次数为
 
  由表 15 可得,采用  
  DLML  
  特征模型时, 
  K-Means  
  设置聚类个数为  
  5 
  ,最大迭代次数为  
  
  300 
  时,聚类效果较清晰。 
  DBSCAN 
  设置半径参数为  
  0.50 
  ,密度阈值为  
  13 
  时,聚类较清晰。 
 
 
 SOM 聚类,设置学习率为  
 0.6 
 ,输入层神经元个数为  
 1  
 ,竞争层神经元个数为  
 5 
 ,迭代次数  
 
 为  
 600  
 时,聚类较清晰。其中, 
 K-Means  
 的  
 CH  
 值最大,聚类效果最好。故选择了  
 K-Means  
 
 
 聚类模型。用户各群体聚类中如表  
 17  
 所示,其中  
 KD/KL/KM/KL  
 分别对应  
 DLML  
 特征模型  
 
 
 中  
 Z-score  
 标准化处理后的  
 D/L/M/L  
 特征。  
 
 由表 16 可知, 
 group_1  
 在  
 L1  
 属性上取值最大; 
 group_2  
 在  
 D 
 , 
 M  
 属性上取值最小;
 
 由表 16 可知, 
 group_1  
 在  
 L1  
 属性上取值最大; 
 group_2  
 在  
 D 
 , 
 M  
 属性上取值最小;  
 
 group_3  
 在  
 L1  
 属性上取值最大; 
 group_4  
 在  
 D 
 , 
 M  
 上最小; 
 group_5  
 在  
 L1  
 属性上取值最大,  
 
 
 D  
 属性上取值最小。  
 

 核心价值用户(group_4):该类用户登录间隔较短,且最后登录距期末天数很短,所以代
 
 核心价值用户(group_4):该类用户登录间隔较短,且最后登录距期末天数很短,所以代  
 
 表该类用户的学习积极性很高。该类用户是核心价值用户,贡献最大,所占比例较小。公司  
 
 
 可以将优质资源投放到他们身上,对他们进行差异化和一对一精细化管理,提高这类用户的  
 
 
 忠诚度和满意度,尽可能激励这类用户。  
 
 
 价值用户 
 (group_5) 
 :该类用户学习积极性较高,且经济情况好,这部分用户贡献较大,  
 
 
 能产生巨大的价值,但由于各种原因近期活跃度较低,由于每个用户沉寂的原因各不相同,  
 
 
 因此应掌握最新的用户信息,积极维持与该类用户的互动。公司可以根据这些用户的最近活  
 
 
 跃时间与程度的变化情况,推测用户的异动状况,并列出用户名单,对其重点密切联系,采  
 
 
 取一定的激励措施和服务手段,延长用户的价值生命周期。  
 
 
 潜力价值用户 
 (group_3) 
 :该类用户虽然登录间隔较长且最后登录距期末天数也比较长,  
 
 
 但完成的学习课节数很好。虽然这类用户的当前价值并不是很高,但有较大的发展空间。公  
 
 
 司应设置大量的激励措施,主动提醒他们完成学习任务,逐渐使他们成为网课的铁杆力量。  
 
 
 一般价值用户或低价值用户 
 (group_1  
 或  
 group_2) 
 : 该类用户学习积极性不高,且花费在  
 
 
 网课的数量上也不多。  
 
 
4.4.3 服务建议
 
 本文针对不同价值用户提出不同的服务建议,旨在为公司产品引入新鲜活跃的用户,提  
 
 
 高用户购买产品的欲望,提升公司的品牌影响力。  
 
 
 (1)针对核心价值用户:提供与网课配套的便利性服务和支持性服务,要为用户提供一  
 
 
 个舒适、便利的授课环境和服务体验。由于面向的用户是中老年群体,公司应该提供人性化  
 
 
 的服务,解决用户的后顾之忧;切忌营销过程中的“一锤子买卖”思想,要与用户建立长期  
 
 
 的联系,即使在其报名后也要继续以热情的态度进行服务,及时了解用户的学习情况、需求  
 
 
 和对机构的意见和建议,积极改进网课质量,建立多种网课形式,同时,可以采用购课优惠  
 
 
 卷的形式,推送其他网课,回馈老客户,建立忠诚度。  
 
 
 (2)针对重要价值用户:建立联动互通的激活机制。链接用户的社交网络,力邀用户积  
 
 
 极参与,增强学习积极性。同时推送新颖的网课模式,激起用户兴趣,定制一对一或者一对  
 
 
 多的网络授课模式,提供针对性的指导,通过问卷调查、沟通交流等方式,了解用户需求。 
 
 
 (3)针对潜力价值用户:制定高效良性的生态培养机制。通过一定的市场调查方法,准  
 
 
 确了解用户需求的变化和动向,把握本行业的发展趋势,捕捉商业机遇,在市场的竞争当中  
 
 
 占据有利地位;宣传平台文化与用户自身的契合点,增强其思想共鸣与情感寄托。通过网络  
 
 
 媒体宣传公司的文化价值理念,引起用户的共鸣。  
 
 
5 模型评价与推广
5.1 模型优点
 
 问题二使用  
 ArcGIS  
 对用户城市分布情况的可视化分析,相比较传统的统计图表分析更  
 
 
 加直观易懂。  
 
 
 问题三构建的  
 LightGBM  
 模型,具有更快的训练效率、低内存使用、更好的准确率、支  
 
 
 持并行学习可处理大规模数据以及原生支持类别特征,不需要对类别特征再进行  
 0-1  
 编码等  
 
 
 优势。  
 
 
 问题四提出适用于社交媒体用户测度的  
 DLML 
 模型,尽量规避主观性因素对结果的影响。  
 
 
 对用户进行分类的  
 K-Means  
 聚类模型,该模型简单,易于理解和实现;收敛快,一般仅需  
 5-  
 
 
 10  
 次迭代即可,非常高效。  
 
 
5.2 模型缺点
 
 问题三组合模型的准确率相比于  
 LightGBM  
 单个模型有所下降,可能的原因是单个模型  
 
 
 的精度已经很高,能够继续优化的空间比较小;另一方面,相比于单个模型,组合模型的运  
 
 
 行时长明显增加。  
 
 
 问题四  
 K-Means 
 聚类模型的  
 K 
 的取值需要事先确定,然而在无监督聚类任务上,由于并  
 
 
 不知道数据集究竟有多少类别,所以很难确定  
 K  
 的取值;该模型对噪点过于敏感,因为算法  
 
 
 是根据基于均值的,结果不一定是全局最优,只能保证局部最优。  
 
 
5.3 模型推广
 
 问题三,就本文而言, 
 LightGBM +LR  
 的效果没有单个模型好,但是并不能绝对说某一  
 
 
 个模型效果如何好,应该根据不同数据场景选择最优的模型。  
 
 
 问题三模型的  
 LightGBM  
 模型预测准确率高,并行式计算、计算速度快等优势,因此非  
 
 
 常适合用于处理大型数据集,可以进一步应用于更多类型、更多行业、更多数据量的其他预  
 
 
 测评估工作中去,当数据量增大时,本模型的预测效果可以得到进一步的提升。 
 
6 参考文献
 
 
代码实现
Light GBM+LR 组合模型 Python 代码
 
 

Light GBM 模型
 
 
 
 
 
 
 
 
 
 
K-means 聚类
 

问题二相关图表
 



















![CodeForces.1806A .平面移动.[判断可达范围][找步数规律]](https://img-blog.csdnimg.cn/37cf21f553ea41b3bf64ff6d7b864175.png)



