【机器学习算法实战3】产品营销模型之建置及预测(CDA赛题)
一、案例介绍
这是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赛题)相关推荐
- ML机器学习算法(一): 基于逻辑回归的分类预测
机器学习算法(一): 基于逻辑回归的分类预测 1 逻辑回归的介绍和应用 1.1 逻辑回归的介绍 逻辑回归(Logistic regression,简称LR)虽然其中带有"回归"两个 ...
- 机器学习算法(二):基于决策树的分类预测
机器学习算法(二):基于决策树的分类预测 决策树的介绍和应用 简介 决策树构建的伪代码 特征划分选择 信息增益 信息增益率 基尼系数 应用场景 优缺点 基于企鹅数据集的决策树实战 Step1:函数库导 ...
- 机器学习算法(六):基于决策树的分类预测
机器学习算法(六):基于决策树的分类预测 1 决策树的介绍和应用 1.1决策树的介绍 1.2 决策树的应用 2. 实验室手册 2.1 学习目标 2.2 代码流程 2.3 算法实战 2.3.1 Demo ...
- 【算法竞赛学习】二手车交易价格预测-Task1赛题理解
二手车交易价格预测-Task1 赛题理解 一. 赛题理解 Tip:此部分为零基础入门数据挖掘的 Task1 赛题理解 部分,为大家入门数据挖掘比赛提供一个基本的赛题入门讲解,欢迎后续大家多多交流. 赛 ...
- 【机器学习基础】数学推导+纯Python实现机器学习算法22:最大熵模型
Python机器学习算法实现 Author:louwill Machine Learning Lab 最大熵原理(Maximum Entropy Principle)是一种基于信息熵理论的一般原理,在 ...
- 机器学习算法(一): 基于逻辑回归的分类预测-Task01
基于逻辑回归LR的分类预测 1.逻辑回归的介绍 Logistic Regression 虽然被称为回归,但其实际上是分类模型,并常用于二分类.Logistic Regression 因其简单.可并行化 ...
- 我用Python把抖音上的美女图片转字符画,期望的AI目标更进一步【机器学习算法实战小项目,k聚类算法图片转化字符画】
大家好,我是辣条. 最近在学习算法,今天给大家带来一个机器学习实战小项目 项目效果展示 学习目标 1.cv2转换图片数据 2.numpy提取图片矩阵数据 3.k均值算法获取图片的分类 工具使用 开 ...
- 《machine learning in action》机器学习 算法学习笔记 决策树模型
决策树模型 重要任务:是为了理解数据中所蕴含的知识信息,因此决策树可以使用不熟悉的数据集合,并从中提取出一系列规则,这些机器根据数据集创建规则的过程就是机器学习的过程. 优点:计算复杂度不高,输出结果 ...
- Python推荐系统学习笔记(1)基于协同过滤的个性化推荐算法实战---隐语义模型
一.相关概念: 1.隐语义模型(LFM) 通过矩阵分解建立用户和隐类之间的关系,物品和隐类之间的关系,最终得到用户对物品的偏好关系. 假设我们想要发现 F 个隐类, 我们的任务就是找到两个矩阵 U 和 ...
最新文章
- java精确浮点型小数,java练习 计算n位可被浮点数精确表示的小数
- Nosql and Mongodb 介绍
- nacos+openfeign服务提供和服务消费远程调用代码简单实例2
- SQLServer2k安全配置
- 全局变量和局部变量命名规则_变量范围和LEGB规则
- 关于SVG的viewBox
- urllib2库的基本使用
- 造车大军再添一员!消息称滴滴正式启动造车项目
- oracle 导出01455,使用exp命令导出报EXP-00008 和ORA-01455的解决方法
- matlab仿真限幅发散,GSM通信系统性能分析与MATLAB仿真.doc
- 人机交互,情感计算,,人工智能相关研究的科研团队
- paip.vs2010 或.net 4.0安装出错解决大法.
- 别人连不上_手机能连上wifi,笔记本电脑确连不上,显示无internet,安全,该怎么办?...
- 如何修改hosts文件?几种修改hosts文件的方法
- 电容或电感的电压_电容和电感的区别、电压超前电流、电流超前电压,傻傻分不清楚...
- ggplot2柱状图进阶画法
- Docker的安装和使用
- 红米NoteX和红米NoteXpro的区别
- easypoi一对多导入_easypoi导入Excel最佳实践
- 魔方四阶玩法[图解]
热门文章
- 让表单input等文本框为只读不可编辑的方法
- 诺基亚升级Android10,诺基亚7.1即将升级安卓10,还有另外5款将在一月更新
- 如何彻底删除微信聊天记录?你要的都在这里。
- Prometheus 踩坑集锦
- 代号z服务器维护,这么大胆?消失的这段时间《代号Z》竟然做了这些事!
- 电脑备份iphone_如何在Linux上备份iPhone?
- Berlekamp-Massey算法学习小记
- JAVA健康档案管理系统(含论文开题)一套完善的毕业设计,系统具有完整的源代码和数据库源码
- Makefile教程,很详细的东西,收藏了~长文慎点=。=
- 罗德里格斯公式推导(轴角与旋转矩阵的关系)以及四元数与旋转向量、旋转矩阵、欧拉角之间的转换关系