
一、概述
建设背景
对于企业在人才管理上的问题:不能有效的发现自己的人才储备落后于行业的发展,在职员工可能存在上面异常的方面,更好的规划薪酬范围,让员工在个人岗位上获得满足感。依据能力制定合理的薪酬范围。依据行业画像,个人能力画像,提供分层数据,做决策展示。项目经理对人才的选拔。
建设目标
通过建立大数据体系下的数据挖掘平台,分析业务数据,为我们的客户提供更好的决策,并开发可视化模块,将结果展示给我们的客户,并且确定经营方向,做好推广工作。
二、需求分析
数据来源
主要的数据来源之一是现有的数据库数据,接通到大数据平台进行分析,还有一部分外部数据,使用爬虫爬的数据,实时更新每日的趋势展示,另外一部分从业者的信息,能否通过购买其它合作企业的信息,满足分析需求。
数据提取整体思路,算法需求设计
行业信息展示的数据提取,主要是为了展示某职位在行业的各个特征维度下的占比,比方说 以地域来划分行业对当前职业的需求饼图。某职位在每个行业的每日需求趋势。每个行业对某主要需求的职位的技能词云统计。洞悉趋势
薪酬预测的数据,需要职位的分类信息,以及每个分类下的每日整体数据,包括最大值,最小值,平均值。以预测这一部分数据为指导,通过数据分析是手段,找到相关的特征信息,比方说,每日上线的从业者,每日简历的更新次数,发布新需求的企业个数等等作为特征,由数据挖掘工程师进行抽取。人才倾斜,造成竞争力处于行业底层
客户画像展示将从业者对当前行业投递的简历信息聚合,进行度的展示,并对聚集的数据,进行算法分层,提供一个标签输入栏,输入标签数据,获得从业者在分层系统。客户当前的行业画像展示,由人才构成图,工资趋势,行业的趋势,每年发布招聘的行业个数的变化,新公司名称的个数。行业招的岗位分布情况。
三、建设方案
数据挖掘算法系统框架图参考
产品的可视化原型展示
大数据算法模型平台架构
集群服务节点规划
| 机器1 | 机器2 | 机器3 | 机器4 | 机器5 | 机器6 | 机器7 | |
| HDFS | NameNode | NameNode | DataNode | DataNode | DataNode | DataNode | |
| YARN | Resource | Resource | Node | Node | Node | Node | |
| ZOOKEPER | Zookeeper | Zookeeper | Zookeeper | Zookeeper | Zookeeper | Zookeeper | |
| KAFKA | Kafka | Kafka | Kafka | ||||
| Hbase | Master | Master | Master | Region | Region | Region | |
| flume | Flume | Flume | Flume | Flume | |||
| hive | Hive | ||||||
| mysql | Mysql | ||||||
| spark | Spark | ||||||
| mongodb | mongodb | ||||||
| 爬虫 | Python | 
四、算法实现举例
回归模型算法设计案例
薪酬回归预测算法构建案例(算法方案来自于携程赛十四个月出行产品预测,我们所在的队伍荣获大赛一等奖第一名)
回归预测的数据场景非常的相似,整体的数据架构和算法评分,都可以进行移植。
赛题介绍
如何使用现有的历史数据与商店信息,预测出行产品未来14个月每月的销量,从而指导产品的库存管理和定价策略,这对于收益管理和客户价值的提升有着重要作用。
特征工程
下面我将用图表的形式,向大家展示一下我们数据分析的整个过程。
首先,筛选一批从14年一月起就有历史数据的商家,以此为基础,分析每个月份占全年的比重,为剔出整体增长趋势的影响,我们采用了以下的方法。
可以看出总体每个月趋势变化如下图所示:
通过对地区进行分析,发现district_id1 中10201地区的商家占了97.5%,且district_id1、district_id2、district_id3、district_id4 依次属于从属关系,所以做出以下推断:district_id1是国家代码,district_id2是省级代码,district_id3是市级代码,district_id4是县级代码。
并且为了更加细致分析商家历史趋势变换趋势,同时又不过多的加入噪声,我们对市级区域内的商家做了聚类分析。对于同一个市内商家个数多于16个的,归为一类,对于同一个市内商家个数少于16个的,按省份进行归类,对于国外的商家按同一地区进行归类,对于都不属于以上几种情况的商家,按照坐标地址归属到最邻近的地区。对每个商家进行区域分类之后,利用分析总体每月趋势变化的方法,对每个区域内进行单独的分析,提取出每个区域的历史变化趋势。
解决框架
下面就是第二个核心部分——模型。
如何学习好关于月份的变化趋势是本题的一个重点难点,为了更好的学习每个月份的趋势,我们设计一个分12个月去单独预测每个月份这样的一个模型。
我们的模型能够保证足够多数据量的情况下,由为每个月份提供了更加合适的训练集,起到了放大某个月份特征的作用。但与此同时增加模型的训练成本和复杂度。
在分析数据时发现有500多家商店在2015年11月份之前并没有历史销量,一个很明的原因是,在此之前,这些商家并没有与携程进行合作,然而又需要预测,说明在截止2017年一月这4000商家全部都与携程进行了合作,在不加其他条件下,这个合作日期应该是分布在2015-11 到2017-01的一个均匀分布,而模型并不能学习到该先验知识。因此我要对空值部分预测出来的14个月乘以了一个等差数列,使空值部分未来14个近似服从一个等差数列的分布。
并且使预测月份变化整体变化趋势可控,我们以的最佳模型xgb预测值基础,统计了未来14个月的变化趋势,根据a榜线上得分结果进行微调取最佳值。在使用gbrt、rf、et预测时,按月调整相应月份的均值,使得其他模型分布也符合这个变化趋势。
算法评分
用均方误差(Root Mean Squared Error, RMSE)作为评判标准,获奖队伍需超过基准指标(RMSE基准值为166),多模型组合的上限为28个
最后我们组的得分
在上月结束的“出行产品未来14个月销量预测”比赛中,贝叶斯部落联盟团队以149.081683的高分夺得冠军。
无监督算法模型聚类进行客户价值分析参考
利用KMeans聚类进行航空公司客户价值分析
准确的客户分类的结果是企业优化营销资源的重要依据,本文利用了航空公司的部分数据,利用Kmeans聚类方法,对航空公司的客户进行了分类,来识别出不 同的客户群体,从来发现有用的客户,从而对不同价值的客户类别提供个性化服务,指定相应的营销策略。
一、分析方法和过程
1.数据抽取——>2.数据探索与预处理——>3。建模与应用
传统的识别客户价值应用最广泛的模型主要通过3个指标(最近消费时间间隔(Recency)、消费频率(Frequency)和消费金额(Monetary))来进行客户细分,识别出价值高的客户,简称RFC模型。
在RFC模型中,消费金额表示在一段时间内,客户购买产品的总金额。但是不适用于航空公司的数据处理。因此我们用客户在一段时间内的累计飞行里程M和客户 在一定时间内乘坐舱位的折扣系数C代表消费金额。再在模型中增加客户关系长度L,所以我们用LRFMC模型。
因此本次数据挖掘的主要步骤:
1).从航空公司的数据源中进行选择性抽取与新增数据抽取分别形成历史数据和增量数据
2).对步骤1)中形成的两个数据集进行数据探索分析和预处理,包括数据缺失值和异常值分析。即数据属性的规约、清洗和变换
3).利用步骤2)中的处理的数据进行建模,利用KMeans方法,进行聚类
4).针对模型的结果进行分析。
对数据进行聚类分群的结果如下表所示:
自定义绘图函数进行绘制出每个聚类数据的密度图像:
有了模型和图像后我们就可以给客户提供分析的依据。
使用熵值法构建简单的评分系统。
熵值法原理: 熵的概念源于热力学,是对系统状态不确定性的一种度量。在信息论中,信息是系统有序程度的一种度量。而熵是系统无序程度的一种度量,两者绝对值相等,但符号相反。根据此性质,可以利用评价中各方案的固有信息,通过熵值法得到各个指标的信息熵,信息熵越小,信息的无序度越低,其信息的效用值越大,指标的权重越大。
具体的方法步骤见附图课件。
就本例而言,每个车型每个指标的得分与其权重的乘积之和为其综合评价值,这样求得本田5.118分,奥迪18.32分,桑塔纳8.216分,别克12.495分。所以综合评价排序为奥迪、别克、桑塔纳、本田。
五、运营计划
数据的供应商,猎聘网掌握着商家,给商家提供决策的薪酬范围,和分布的时间点,甚至修改招聘的要求。向各个招聘网购买数据,并和他们合作开发企业见面,购买企业级的发布费用,是否能提成。为何能采用这个方法,产品做的更加精细,依靠手中已有的商家资源,进行推广,通过推广,获得更多的商家支持。如果一家独大的情况下,我们考虑为其它的招聘网合作,继续推广我们的服务。
人才需求展示图
人才作用说明
业务经理:该角色对业务领域非常了解,并且通常会从客户提出的需求分析结果中受益。他可以就项目的背景、成果的价值,以及项目成果如何实施向项目团队提供咨询和建议。
产品经理:该角色负责项目的发起工作。他会为项目提供动力和要求,并定义核心业务问题。通常情况下,该角色会为项目提供资金,设置项目事项的优先级,然后明确项目预期结果,最后评估项目团队最终成果的价值。
项目经理:该角色负责项目进度和质量,确保项目达到预期目标。
可视化工程师:该角色以可视化的视角,基于对数据、关键业务指标以及商业智能的深入理解来提供业务领域的专业知识和技能。他通常负责创建仪表板和报告,并了解数据更新源(data feed)和来源(source)。
大数据工程师:该角色负责提供和配置大数据库环境,以支持工作团队的分析需求。他的工作职责包括提供对关键数据库或者表格的访问,并确保数据资源库已被关联相应的安全级别。
数据工程师,爬虫工程师:该角色需要拥有深厚的技术功底,以便进行数据管理和数据提取时的SQL查询优化,爬虫工程师并负责将数据从互联网中抓取可以利用的信息到数据当中。分析使用的数据库由大数据工程师负责安装和配置,而数据工程师则负责执行具体的数据提取工作以及大量的数据操作来协助分析工作。他会和数据科学家紧密合作,确保以正确的方式生成用作分析的数据。
数据科学家:该角色在分析技术、数据建模以及针对给定的业务问题选取有效的分析技术方面提供专业知识和技能。他使用项目的可用数据来设计和执行分析方案,确保整体分析目标能够实现。
