预测未来销售——模型选择

  • 1、使用单独的模型进行预测
    • 1.1 采用lightgbm包的GBDT模型
    • 1.2 采用SKlearn包的LinearRegression模型
    • 1.3 采用keras包的KerasRegressor模型

1、使用单独的模型进行预测

1.1 采用lightgbm包的GBDT模型

  

import lightgbm as lgb
lgb_params = {'feature_fraction': 0.75,      # 每次迭代的时候随机选择特征的比例,默认为1,训练前选好'metric': 'rmse',                # root square loss(平方根损失)'nthread':1,                  # LightGBM 的线程数'min_data_in_leaf': 2**7,      # 一个叶子上数据的最小数量. 可以用来处理过拟合'bagging_fraction': 0.75,        # 类似于 feature_fraction, 但是它在训练时选特征'learning_rate': 0.03,      # 学习率'objective': 'mse',            # regression_l2, L2 loss, alias=regression, mean_squared_error, mse'bagging_seed': 2**7,         # bagging 随机数种子'num_leaves': 2**7,            # 一棵树上的叶子数'bagging_freq':1,               # bagging 的频率, 0 意味着禁用 bagging. k意味着每 k次迭代执行bagging'verbose':1                    # verbose: 详细信息模式,0 或者 1 }
estimator = lgb.train(lgb_params, lgb.Dataset(train_set.values, label=train_value.values), 300)
pred_test = estimator.predict(test_set.values)
pred_train = estimator.predict(train_set.values)from sklearn.metrics import mean_squared_error
from math import sqrt
print('Train RMSE for %s is %f' % ('lightgbm', sqrt(mean_squared_error(train_value.clip(0,20).values, pred_train.clip(0,20)))))
#   print('Test RMSE for %s is %f' % ('lightgbm', sqrt(mean_squared_error(test_value.clip(0,20).values, pred_test.clip(0,20)))))

  单独使用GBDT模型结果得分如下(1.21283)

1.2 采用SKlearn包的LinearRegression模型

  

from sklearn.linear_model import LinearRegression
lr = LinearRegression()
estimator=lr
estimator.fit(train_set, train_value)
pred_test = estimator.predict(test_set)
pred_train = estimator.predict(train_set)print('Train RMSE for %s is %f' % ('SGDRegressor模型', sqrt(mean_squared_error(train_value.clip(0,20), pred_train.clip(0,20)))))

  单独使用LinearRegression模型结果得分如下:(1.25011)

1.3 采用keras包的KerasRegressor模型

  
  单独使用KerasRegressor模型结果得分如下:(1.24982)

from keras.models import Sequential
from keras.layers import Dense
from keras.wrappers.scikit_learn import KerasRegressor
def baseline_model():# create modelmodel = Sequential()model.add(Dense(20, input_dim=train_set.shape[1], kernel_initializer='uniform', activation='softplus'))model.add(Dense(1, kernel_initializer='uniform', activation = 'relu'))# Compile modelmodel.compile(loss='mse', optimizer='Nadam', metrics=['mse'])# model.compile(loss='mean_squared_error', optimizer='adam')return model
estimator = KerasRegressor(build_fn=baseline_model, verbose=1, epochs=5, batch_size = 55000)    # verbose: 详细信息模式,0 或者 1
estimator.fit(train_set, train_value)
pred_test = estimator.predict(test_set)
pred_train = estimator.predict(train_set)print('Train RMSE for %s is %f' % ('SGDRegressor模型', sqrt(mean_squared_error(train_value.clip(0,20), pred_train.clip(0,20)))))
#     print('Test RMSE for %s is %f' % ('lightgbm', sqrt(mean_squared_error(test_value.clip(0,20).values, pred_test.clip(0,20)))))

  单独使用KerasRegressor模型结果得分如下:(1.24982)

Kaggle比赛——预测未来销售(三)相关推荐

  1. 数据挖掘——预测未来销售

    数据挖掘--预测未来销售 处理sale_train_v2.csv和test.csv 处理shop.csv 处理item_categories.csv 处理items.csv 特征添加 该项目来自kag ...

  2. Kaggle比赛—预测 DNA、RNA 和蛋白质测量如何在单细胞中共同变化

    Kaggle比赛-预测 DNA.RNA 和蛋白质测量如何在单细胞中共同变化 本次比赛的目标是预测随着骨髓干细胞发育成更成熟的血细胞,DNA.RNA 和蛋白质测量值如何在单个细胞中共同变化.您将开发一个 ...

  3. 实战Kaggle比赛----预测房价(多层感知机)

    文章目录 实战Kaggle比赛----预测房价 下载和缓存数据集 Kaggle简介 访问和读取数据集 数据预处理 标准正态化.缺失值填充.离散值one-hot编码 小栗子帮助理解 训练 KKK折交叉验 ...

  4. Kaggle比赛冠军经验分享:如何用 RNN 预测维基百科网络流量

    Kaggle比赛冠军经验分享:如何用 RNN 预测维基百科网络流量 from:https://www.leiphone.com/news/201712/zbX22Ye5wD6CiwCJ.html 导语 ...

  5. [Kaggle比赛] 高频股价预测小结

    高频股价预测 文章目录 高频股价预测 问题描述 问题分析 数据分析 数据集 数据清洗 解决方案 数据预处理 归一化 Prices Volume 时间信息 对于预测值的处理 噪声 模型探索 基于LSTM ...

  6. Titanic 泰坦尼克号预测-Tensorflow 方法-【Kaggle 比赛】

    本文介绍Kaggle入门比赛Titanic泰坦尼克号幸存预测的解题思路,使用的是神经网络和Tensorflow框架.提交代码附在本文的最后部分. 基本思路为: 导入数据集 对数据预处理 训练 预测并输 ...

  7. 数据分析: kaggle比赛 - 销量预测

    目录 Part 0: 数据读取 0.1 数据内容简述-Data Files: 0.2 数据读入 Part I: 抽检单个商品的销量分布 Part II:时间纬度 - 查看不同时间颗粒度下的分布 Par ...

  8. 【记第一次kaggle比赛】PetFinder.my - Pawpularity Contest 宠物预测

    目录 前言 一.数据介绍 二.我的探索 2.1.基于Classification Head的方案 2.1.1.删除重复数据(打分差别很大) 2.1.2.数据增强 2.1.3.损失函数 2.1.4.优化 ...

  9. 深度学习+pytorch实战Kaggle比赛(一)——房价预测

    参考书籍<动手学深度学习(pytorch版),参考网址为: https://zh-v2.d2l.ai/chapter_multilayer-perceptrons/kaggle-house-pr ...

  10. 实际波动率预测:kaggle比赛

    实际波动率预测 1. 比赛概述 1.1 背景介绍 1.2 赛事目标 1.3 评估指标和结果提交 2. 数据介绍 2.1 book_[train/test].parquet 2.2 trade_[tra ...

最新文章

  1. linux / scp 详解
  2. python onenet_使用Python2.7 POST 数据到 onenet 平台
  3. Jedis的使用及SpringBoot整合Redis
  4. mysql、sqlserver、oracle各数据类型与java类型对应
  5. Qt之QToolButton
  6. omnigraffle 画曲线_OmniGraffle使用的10个小技巧
  7. 一些易忘记的常识--CSS,不定期添加
  8. 浅谈CDN技术的性能与优势
  9. laravel php 语法,Laravel之Resource Route的点语法小技巧_PHP开发框架教程
  10. vmlinuz 文件解压缩(zImage|bzImage)
  11. 数学建模学习(75):全局敏感性分析Morris 方法
  12. 软件中GA、Release、RC、Beta、Alpha 各版本号的意义
  13. 全面升级,你能想象的都在这————京东API接口
  14. 如何写好绩效考核的年终总结?分享一些技巧
  15. mc服务器对虚拟存储,Duang~~~ 虚拟存储的十个建议
  16. [irisctf 2023] rev
  17. 5.。。。。。。。。。。。。
  18. 【VIO笔记(学习VINS的必备基础)】第五讲(1/2) 手写VIO后端
  19. WIN10系统设置默认文件查看方式
  20. [29期] 一个乞丐的故事,什么叫职业人?

热门文章

  1. python一笔画五角星_一笔画五角星,有多少种方法?
  2. 基于无线网络的环境监测系统
  3. 面经手册 · 第20篇《Thread 线程,状态转换、方法使用、原理分析》
  4. linux mariadb默认密码,mariadb设置初始密码
  5. HTML5的骨架是什么,HTML5 骨架
  6. 57个你没有听过的Google产品
  7. Java获取本机外网ip地址的方法
  8. 服务器在美国怎样网页加速,美国服务器如何优化网站访问速度
  9. 块引用—Markdown极简入门教程(6)
  10. 高级程序员的思维模式