Coder Social home page Coder Social logo

ccf-2018-telecom's Introduction

2018 CCF大数据竞赛

网址https://www.datafountain.cn/competitions/311/details/rule

赛题名称:

面向电信行业存量用户的智能套餐个性化匹配模型

赛题背景:

电信产业作为国家基础产业之一,覆盖广、用户多,在支撑国家建设和发展方面尤为重要。随着互联网技术的快速发展和普及,用户消耗的流量也成井喷态势,近年来,电信运营商推出大量的电信套餐用以满足用户的差异化需求,面对种类繁多的套餐,如何选择最合适的一款对于运营商和用户来说都至关重要,尤其是在电信市场增速放缓,存量用户争夺愈发激烈的大背景下。针对电信套餐的个性化推荐问题,通过数据挖掘技术构建了基于用户消费行为的电信套餐个性化推荐模型,根据用户业务行为画像结果,分析出用户消费习惯及偏好,匹配用户最合适的套餐,提升用户感知,带动用户需求,从而达到用户价值提升的目标。 套餐的个性化推荐,能够在信息过载的环境中帮助用户发现合适套餐,也能将合适套餐信息推送给用户。解决的问题有两个:信息过载问题和用户无目的搜索问题。各种套餐满足了用户有明确目的时的主动查找需求,而个性化推荐能够在用户没有明确目的的时候帮助他们发现感兴趣的新内容。

赛题任务:

此题利用已有的用户属性(如个人基本信息、用户画像信息等)、终端属性(如终端品牌等)、业务属性、消费习惯及偏好匹配用户最合适的套餐,对用户进行推送,完成后续个性化服务。

由于是新手,基本上就按照以下步骤进行的:
  • 数据分析,主要是利用第三方matplotlib库,利用图示的方式来对数据进行展示

  • 数据清洗

  • 数据特征提取

  • 对于一些缺失值进行填充

  • 由于数据集中既包含类别特征,也包含连续特征,所以对类别特征进行one-hot编码,对连续特征进行归一化操作。

  • 利用随机森林GBDT结合GridSearchCV()函数来对特征重要性进行排序,然后选择特征重要性比较高的特征,这样能去掉一些重要性较低的特征。

  • 在数据特征工程做的差不多的时候,接下来进行模型的选择:

    (1)lgb模型 f1_score:0.7441

    (2)xgb模型 f1_score:0.7521

  • 这里没有使用stacking方式,而是简单的将上述的两个模型通过调整不同的参数来生成多个结果,然后再将这些结果通过投票的原则生成一个最终的结果,最终的f1_score:0.7693

运行流程
1.首先是要安装几个第三方库:
   - numpy
   - sklearn
   - pandas
   - xgboost
   - lightgbm
   - python 3.5.6
2. IDE使用的是pycharm 3.5
3.对于lgb_model文件夹:
   - 先运行data_processing.py文件
   - 再运行FeatureEngineering.py文件
   - 运行lgb.py文件
   - 为了与举办方要求的文件格式相同,最后使用get_final_result.py文件可以处理
   - simple_vote.py文件主要是将多个结果进行简单的融合,可以后期使用
4.对于xgb_model文件夹
   - 先运行data_processing.py文件,data_process.py文件和Preprocess.py文件
   - 再运行RemoveFeatures.py文件
   - 接下来运行xgb_model.py文件
   - 最后运行main.py文件
   - get_result.py文件是为了获得与举办方要求的相同格式的结果。

参考资料:

初赛成绩:

A榜 B榜
38/2546 49/2546

ccf-2018-telecom's People

Contributors

jiangzhongkai avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.