案例背景

投资商经常会通过多个不同渠道投放广告,以此来获得经济利益。在本案例中我们选取公司在电视、广播和报纸上的投入,来预测广告收益,这对公司策略的制定是有较重要的意义。

模型搭建

# 读取数据
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算法——广告收益回归预测模型相关推荐

  1. 大数据分析案例-基于LightGBM算法构建乳腺癌分类预测模型

  2. XGBoost与Light-GBM算法

    本文代码及数据集来自<Python大数据分析与机器学习商业案例实战> 一.XGBoost算法 XGBoost算法在某种程度上可以说是GBDT算法的改良版,两者在本质上都是利用了Boosti ...

  3. 零售行业交易数据分析(1)——客户终身价值(CLTV)计算和回归预测模型(Python)

    内容介绍 本文整理了客户终身价值(CLV或者CLTV)的相关概念,并对一家英国线上零售公司的一年交易数据进行分析,计算该公司所有客户的CLV并且建立回归预测模型. 一.客户生命周期价值 用户生命周期价 ...

  4. 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 ...

  5. 【项目实战】基于随机森林算法的房屋价格预测模型

    [博客地址]:https://blog.csdn.net/sunyaowu315 [博客大纲地址]:https://blog.csdn.net/sunyaowu315/article/details/ ...

  6. 【白话机器学习】算法理论+实战之LightGBM算法

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支 ...

  7. 机器学习集成学习进阶LightGBM算法和案例

    目录 1 lightGBM 1.1 lightGBM演进过程 1.2 AdaBoost算法 1.3 GBDT算法以及优缺点 1.4 启发 2 什么是lightGBM 3 lightGBM原理 3.1 ...

  8. 基于随机森林算法的贷款违约预测模型研究(Give me some credit)

    本文实验代码github:https://github.com/dengsiying/give-me-some-credit/tree/master 参考链接:从决策树到随机森林 http://www ...

  9. 【算法实现】随机森林算法的房屋价格预测模型

    @转载[项目实战]基于随机森林算法的房屋价格预测模型 [博客地址]:https://blog.csdn.net/sunyaowu315 [博客大纲地址]:https://blog.csdn.net/s ...

最新文章

  1. Spring Boot不允许加载iframe问题解决
  2. 商品规格表设计_400㎡美容院装修设计,为什么说无中式不贵气?
  3. Visual studio 生成事件的使用 、xcopy 实现 dll 复制操作、
  4. 【深度学习】越来越卷,教你使用Python实现卷积神经网络(CNN)
  5. r 数据框选子集_在带有组合框的值列表的下拉列表中显示显示属性的子集
  6. Ajax--serialize应用表单数据序列化
  7. VC学习笔记:文本图形
  8. 百度、阿里等大厂面试技巧总结,Java工程师必看!
  9. html 通用css,需要有关通用HTML / CSS布局的帮助
  10. 机器学习 深度学习 ai_用AI玩世界末日:深度Q学习的多目标优化
  11. 2021-09-02二叉树的中序遍历
  12. 优化后亲测可用!免费下载QQ音乐大部分资源
  13. 云服务商拿来主义或大限将至,Elastic 表示将变更开源许可协议并进行诉讼
  14. 五. 服务的注册 DiscoveryClient 与 ServiceRegistry 服务的发现的简单介绍
  15. js实现搜索历史记录功能
  16. 人工智能到底是什么?AI基础概念深度解析
  17. 点击图片实现预览功能
  18. 计算机硬盘里没有内容却显示有,为什么电脑磁盘里头明明没有东西,也没隐藏文件,却显示用了12个G。求解!...
  19. 【UOJ】#246. 【UER #7】套路
  20. python定义一个人类_Python类和人类

热门文章

  1. urlwrite------url地址重写
  2. php科研项目申报审批系统
  3. 在maven中创建jsp依赖
  4. eval()函数是什么?有什么作用?
  5. 道高一尺,魔高一丈之细菌耐药性
  6. Dwarves(拓扑排序+字符串使用map量化表示)
  7. HEVC参考软件HM的使用
  8. 同步手绘板——PC端实现画板
  9. hutool 获取某月最后一天_Hutool使用指南
  10. Latex, overleaf 输入中文 可行方法