一、案例介绍

这是CDA数据分析网站的一个赛题,A公司希望发掘用户购买产品的行为习惯,建立产品精准营销模型,对有意向的客户进行精准营销,增加收入,减少开支。将通过混淆矩阵(Confusion matrix)来评价分类模型的准确率,准确率越高,说明正确预测出响应营销效果越好。
本次实战以官方公布的评分标准accuracy为目标进行参数调优与建模。又探索了在不同成本收益模型下,选择不同的模型评估指标,最终得到最高的潜在盈利预测。
附赛题网址:https://contest.cda.cn/info/id/6.

重要事情说三遍~
想听我讲案例,请点这里,进入B站
想听我讲案例,请点这里,进入B站
想听我讲案例,请点这里,进入B站

二、框架

(一)赛题简介及数据预处理
(二)数据探索分析
(三)模型构建与评估
(四)预测与排名
(五)成本收益分析与模型重构

三、附部分代码及输出

(一)数据预处理(算法填充缺失值)

# 填充cates=['用户地区', '性别', '使用累计时间','产品服务使用量', '是否使用信用卡付月费','是否为活跃用户']x_cates=['产品使用分数', '年龄', '点数余额','估计薪资']dummies_f7=[ region_features,sex_features,usetime_features,service_features,credict_features,active_features,fill_data[x_cates] ]for i in range(6):print('填充有缺失值的特征:',cates[i])print('第一步:构造特征与标签--------------------')Y=y_data[cates[i]]  #SeriseY_train=Y[Y!='99'] #没有缺失值,用于建模Y_test=Y[Y=='99']  #缺失值,待预测   objs=[ region_features,sex_features,usetime_features,service_features,credict_features,active_features,fill_data[x_cates] ]df=pd.concat(objs,axis=1)    ob=list(dummies_f7[i].columns)X=df.drop(labels=ob,axis=1)X_train=X[Y!='99']X_test=X[Y=='99']print('第二步:建模与预测填充------------------------')times=time()xgb_fill=xgboost.XGBClassifier(max_depth=3,n_estimators=190)xgb_fill.fit(X_train,Y_train)Y_predict=xgb_fill.predict(X_test)print('运行时间:%s'% datetime.datetime.fromtimestamp(time()-times).strftime("%M:%S:%f"))#预测结果赋值到缺失值地方y_data[ cates[i] ][ y_data[ cates[i] ]=='99' ]=Y_predict#保存模型j=str(i)modelname=r'xgb_fill_'+j+'.model'model_file = open(modelname, 'wb')pickle.dump(xgb_fill, model_file)model_file.close()

(二)数据探索分析(特征筛选)

(三)模型构建与评估

(四)预测与排名

#构造特征空间data=pd.read_csv('./clean_df_test.csv',index_col='Unnamed: 0')model_load_file = open(r'ohe_keyf.model', 'rb')
ohe_keyf_r = pickle.load(model_load_file)
model_load_file.close()cates=['用户地区', '性别','产品服务使用量', '是否为活跃用户']
result=ohe_keyf_r.transform( data[cates] )
df_catefeature=pd.DataFrame(result.toarray(),columns=ohe_keyf_r.get_feature_names())cates=['产品使用分数', '年龄', '点数余额']
objs=[df_catefeature,data[cates]]
X=pd.concat(objs,axis=1)#导入预测模型
model_load_file = open(r'best_2_XGBClassifier.model', 'rb')
xgb_2_r = pickle.load(model_load_file)
model_load_file.close()#预测并保存Y_pre=xgb_2_r.predict(X)data['Predicted_Results']=Y_pre
results=data[['客户ID','Predicted_Results']]
results.to_csv('./results_xgb_2.csv',index=False)results.Predicted_Results.value_counts()


(五)产品收益分析与模型重构

【机器学习算法实战3】产品营销模型之建置及预测(CDA赛题)相关推荐

  1. ML机器学习算法(一): 基于逻辑回归的分类预测

    机器学习算法(一): 基于逻辑回归的分类预测 1 逻辑回归的介绍和应用 1.1 逻辑回归的介绍 逻辑回归(Logistic regression,简称LR)虽然其中带有"回归"两个 ...

  2. 机器学习算法(二):基于决策树的分类预测

    机器学习算法(二):基于决策树的分类预测 决策树的介绍和应用 简介 决策树构建的伪代码 特征划分选择 信息增益 信息增益率 基尼系数 应用场景 优缺点 基于企鹅数据集的决策树实战 Step1:函数库导 ...

  3. 机器学习算法(六):基于决策树的分类预测

    机器学习算法(六):基于决策树的分类预测 1 决策树的介绍和应用 1.1决策树的介绍 1.2 决策树的应用 2. 实验室手册 2.1 学习目标 2.2 代码流程 2.3 算法实战 2.3.1 Demo ...

  4. 【算法竞赛学习】二手车交易价格预测-Task1赛题理解

    二手车交易价格预测-Task1 赛题理解 一. 赛题理解 Tip:此部分为零基础入门数据挖掘的 Task1 赛题理解 部分,为大家入门数据挖掘比赛提供一个基本的赛题入门讲解,欢迎后续大家多多交流. 赛 ...

  5. 【机器学习基础】数学推导+纯Python实现机器学习算法22:最大熵模型

    Python机器学习算法实现 Author:louwill Machine Learning Lab 最大熵原理(Maximum Entropy Principle)是一种基于信息熵理论的一般原理,在 ...

  6. 机器学习算法(一): 基于逻辑回归的分类预测-Task01

    基于逻辑回归LR的分类预测 1.逻辑回归的介绍 Logistic Regression 虽然被称为回归,但其实际上是分类模型,并常用于二分类.Logistic Regression 因其简单.可并行化 ...

  7. 我用Python把抖音上的美女图片转字符画,期望的AI目标更进一步【机器学习算法实战小项目,k聚类算法图片转化字符画】

    大家好,我是辣条. 最近在学习算法,今天给大家带来一个机器学习实战小项目 项目效果展示 学习目标 1.cv2转换图片数据  2.numpy提取图片矩阵数据  3.k均值算法获取图片的分类 工具使用 开 ...

  8. 《machine learning in action》机器学习 算法学习笔记 决策树模型

    决策树模型 重要任务:是为了理解数据中所蕴含的知识信息,因此决策树可以使用不熟悉的数据集合,并从中提取出一系列规则,这些机器根据数据集创建规则的过程就是机器学习的过程. 优点:计算复杂度不高,输出结果 ...

  9. Python推荐系统学习笔记(1)基于协同过滤的个性化推荐算法实战---隐语义模型

    一.相关概念: 1.隐语义模型(LFM) 通过矩阵分解建立用户和隐类之间的关系,物品和隐类之间的关系,最终得到用户对物品的偏好关系. 假设我们想要发现 F 个隐类, 我们的任务就是找到两个矩阵 U 和 ...

最新文章

  1. java精确浮点型小数,java练习 计算n位可被浮点数精确表示的小数
  2. Nosql and Mongodb 介绍
  3. nacos+openfeign服务提供和服务消费远程调用代码简单实例2
  4. SQLServer2k安全配置
  5. 全局变量和局部变量命名规则_变量范围和LEGB规则
  6. 关于SVG的viewBox
  7. urllib2库的基本使用
  8. 造车大军再添一员!消息称滴滴正式启动造车项目
  9. oracle 导出01455,使用exp命令导出报EXP-00008 和ORA-01455的解决方法
  10. matlab仿真限幅发散,GSM通信系统性能分析与MATLAB仿真.doc
  11. 人机交互,情感计算,,人工智能相关研究的科研团队
  12. paip.vs2010 或.net 4.0安装出错解决大法.
  13. 别人连不上_手机能连上wifi,笔记本电脑确连不上,显示无internet,安全,该怎么办?...
  14. 如何修改hosts文件?几种修改hosts文件的方法
  15. 电容或电感的电压_电容和电感的区别、电压超前电流、电流超前电压,傻傻分不清楚...
  16. ggplot2柱状图进阶画法
  17. Docker的安装和使用
  18. 红米NoteX和红米NoteXpro的区别
  19. easypoi一对多导入_easypoi导入Excel最佳实践
  20. 魔方四阶玩法[图解]

热门文章

  1. 让表单input等文本框为只读不可编辑的方法
  2. 诺基亚升级Android10,诺基亚7.1即将升级安卓10,还有另外5款将在一月更新
  3. 如何彻底删除微信聊天记录?你要的都在这里。
  4. Prometheus 踩坑集锦
  5. 代号z服务器维护,这么大胆?消失的这段时间《代号Z》竟然做了这些事!
  6. 电脑备份iphone_如何在Linux上备份iPhone?
  7. Berlekamp-Massey算法学习小记
  8. JAVA健康档案管理系统(含论文开题)一套完善的毕业设计,系统具有完整的源代码和数据库源码
  9. Makefile教程,很详细的东西,收藏了~长文慎点=。=
  10. 罗德里格斯公式推导(轴角与旋转矩阵的关系)以及四元数与旋转向量、旋转矩阵、欧拉角之间的转换关系