LightGBM算法——广告收益回归预测模型
案例背景
投资商经常会通过多个不同渠道投放广告,以此来获得经济利益。在本案例中我们选取公司在电视、广播和报纸上的投入,来预测广告收益,这对公司策略的制定是有较重要的意义。
模型搭建
# 读取数据
import pandas as pd
df = pd.read_excel('广告收益数据.xlsx')
df.head()
# 1.提取特征变量和目标变量
X = df.drop(columns='收益')
y = df['收益'] # 2.划分训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=123)# 3. 模型训练和搭建
from lightgbm import LGBMRegressor
model = LGBMRegressor()
model.fit(X_train, y_train)
模型预测及评估
# 预测测试数据
y_pred = model.predict(X_test)
y_pred[0:5]
# 预测值和实际值对比
a = pd.DataFrame() # 创建一个空DataFrame
a['预测值'] = list(y_pred)
a['实际值'] = list(y_test)
a.head()
# 查看评分
model.score(X_test, y_test)
# 特征重要性
model.feature_importances_
模型参数调优
# 参数调优
from sklearn.model_selection import GridSearchCV # 网格搜索合适的超参数
parameters = {'num_leaves': [15, 31, 62], 'n_estimators': [20, 30, 50, 70], 'learning_rate': [0.1, 0.2, 0.3, 0.4]} # 指定分类器中参数的范围
model = LGBMRegressor() # 构建模型
grid_search = GridSearchCV(model, parameters,scoring='r2',cv=5) # cv=5表示交叉验证5次,scoring='r2'表示以R-squared作为模型评价准则
# 输出参数最优值
grid_search.fit(X_train, y_train) # 传入数据
grid_search.best_params_ # 输出参数的最优值
# 重新搭建LightGBM回归模型
model = LGBMRegressor(num_leaves=31, n_estimators=50,learning_rate=0.3)
model.fit(X_train, y_train)# 查看得分
model.score(X_test, y_test)
LightGBM算法——广告收益回归预测模型相关推荐
- 大数据分析案例-基于LightGBM算法构建乳腺癌分类预测模型
- XGBoost与Light-GBM算法
本文代码及数据集来自<Python大数据分析与机器学习商业案例实战> 一.XGBoost算法 XGBoost算法在某种程度上可以说是GBDT算法的改良版,两者在本质上都是利用了Boosti ...
- 零售行业交易数据分析(1)——客户终身价值(CLTV)计算和回归预测模型(Python)
内容介绍 本文整理了客户终身价值(CLV或者CLTV)的相关概念,并对一家英国线上零售公司的一年交易数据进行分析,计算该公司所有客户的CLV并且建立回归预测模型. 一.客户生命周期价值 用户生命周期价 ...
- xgboost和lightgbm算法总结(从决策树到xgboost)
目录 一.背景知识合集 1.决策树 1.1 ID3.0 1.1.1 思想 1.1.2 划分标准 1.1.3 优缺点 1.2 C4.5 1.2.1 思想 1.2.2 划分标准 1.2.3 优缺点 1.3 ...
- 【项目实战】基于随机森林算法的房屋价格预测模型
[博客地址]:https://blog.csdn.net/sunyaowu315 [博客大纲地址]:https://blog.csdn.net/sunyaowu315/article/details/ ...
- 【白话机器学习】算法理论+实战之LightGBM算法
1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支 ...
- 机器学习集成学习进阶LightGBM算法和案例
目录 1 lightGBM 1.1 lightGBM演进过程 1.2 AdaBoost算法 1.3 GBDT算法以及优缺点 1.4 启发 2 什么是lightGBM 3 lightGBM原理 3.1 ...
- 基于随机森林算法的贷款违约预测模型研究(Give me some credit)
本文实验代码github:https://github.com/dengsiying/give-me-some-credit/tree/master 参考链接:从决策树到随机森林 http://www ...
- 【算法实现】随机森林算法的房屋价格预测模型
@转载[项目实战]基于随机森林算法的房屋价格预测模型 [博客地址]:https://blog.csdn.net/sunyaowu315 [博客大纲地址]:https://blog.csdn.net/s ...
最新文章
- Spring Boot不允许加载iframe问题解决
- 商品规格表设计_400㎡美容院装修设计,为什么说无中式不贵气?
- Visual studio 生成事件的使用 、xcopy 实现 dll 复制操作、
- 【深度学习】越来越卷,教你使用Python实现卷积神经网络(CNN)
- r 数据框选子集_在带有组合框的值列表的下拉列表中显示显示属性的子集
- Ajax--serialize应用表单数据序列化
- VC学习笔记:文本图形
- 百度、阿里等大厂面试技巧总结,Java工程师必看!
- html 通用css,需要有关通用HTML / CSS布局的帮助
- 机器学习 深度学习 ai_用AI玩世界末日:深度Q学习的多目标优化
- 2021-09-02二叉树的中序遍历
- 优化后亲测可用!免费下载QQ音乐大部分资源
- 云服务商拿来主义或大限将至,Elastic 表示将变更开源许可协议并进行诉讼
- 五. 服务的注册 DiscoveryClient 与 ServiceRegistry 服务的发现的简单介绍
- js实现搜索历史记录功能
- 人工智能到底是什么?AI基础概念深度解析
- 点击图片实现预览功能
- 计算机硬盘里没有内容却显示有,为什么电脑磁盘里头明明没有东西,也没隐藏文件,却显示用了12个G。求解!...
- 【UOJ】#246. 【UER #7】套路
- python定义一个人类_Python类和人类