Kaggle比赛——预测未来销售(三)
预测未来销售——模型选择
- 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比赛——预测未来销售(三)相关推荐
- 数据挖掘——预测未来销售
数据挖掘--预测未来销售 处理sale_train_v2.csv和test.csv 处理shop.csv 处理item_categories.csv 处理items.csv 特征添加 该项目来自kag ...
- Kaggle比赛—预测 DNA、RNA 和蛋白质测量如何在单细胞中共同变化
Kaggle比赛-预测 DNA.RNA 和蛋白质测量如何在单细胞中共同变化 本次比赛的目标是预测随着骨髓干细胞发育成更成熟的血细胞,DNA.RNA 和蛋白质测量值如何在单个细胞中共同变化.您将开发一个 ...
- 实战Kaggle比赛----预测房价(多层感知机)
文章目录 实战Kaggle比赛----预测房价 下载和缓存数据集 Kaggle简介 访问和读取数据集 数据预处理 标准正态化.缺失值填充.离散值one-hot编码 小栗子帮助理解 训练 KKK折交叉验 ...
- Kaggle比赛冠军经验分享:如何用 RNN 预测维基百科网络流量
Kaggle比赛冠军经验分享:如何用 RNN 预测维基百科网络流量 from:https://www.leiphone.com/news/201712/zbX22Ye5wD6CiwCJ.html 导语 ...
- [Kaggle比赛] 高频股价预测小结
高频股价预测 文章目录 高频股价预测 问题描述 问题分析 数据分析 数据集 数据清洗 解决方案 数据预处理 归一化 Prices Volume 时间信息 对于预测值的处理 噪声 模型探索 基于LSTM ...
- Titanic 泰坦尼克号预测-Tensorflow 方法-【Kaggle 比赛】
本文介绍Kaggle入门比赛Titanic泰坦尼克号幸存预测的解题思路,使用的是神经网络和Tensorflow框架.提交代码附在本文的最后部分. 基本思路为: 导入数据集 对数据预处理 训练 预测并输 ...
- 数据分析: kaggle比赛 - 销量预测
目录 Part 0: 数据读取 0.1 数据内容简述-Data Files: 0.2 数据读入 Part I: 抽检单个商品的销量分布 Part II:时间纬度 - 查看不同时间颗粒度下的分布 Par ...
- 【记第一次kaggle比赛】PetFinder.my - Pawpularity Contest 宠物预测
目录 前言 一.数据介绍 二.我的探索 2.1.基于Classification Head的方案 2.1.1.删除重复数据(打分差别很大) 2.1.2.数据增强 2.1.3.损失函数 2.1.4.优化 ...
- 深度学习+pytorch实战Kaggle比赛(一)——房价预测
参考书籍<动手学深度学习(pytorch版),参考网址为: https://zh-v2.d2l.ai/chapter_multilayer-perceptrons/kaggle-house-pr ...
- 实际波动率预测:kaggle比赛
实际波动率预测 1. 比赛概述 1.1 背景介绍 1.2 赛事目标 1.3 评估指标和结果提交 2. 数据介绍 2.1 book_[train/test].parquet 2.2 trade_[tra ...
最新文章
- linux / scp 详解
- python onenet_使用Python2.7 POST 数据到 onenet 平台
- Jedis的使用及SpringBoot整合Redis
- mysql、sqlserver、oracle各数据类型与java类型对应
- Qt之QToolButton
- omnigraffle 画曲线_OmniGraffle使用的10个小技巧
- 一些易忘记的常识--CSS,不定期添加
- 浅谈CDN技术的性能与优势
- laravel php 语法,Laravel之Resource Route的点语法小技巧_PHP开发框架教程
- vmlinuz 文件解压缩(zImage|bzImage)
- 数学建模学习(75):全局敏感性分析Morris 方法
- 软件中GA、Release、RC、Beta、Alpha 各版本号的意义
- 全面升级,你能想象的都在这————京东API接口
- 如何写好绩效考核的年终总结?分享一些技巧
- mc服务器对虚拟存储,Duang~~~ 虚拟存储的十个建议
- [irisctf 2023] rev
- 5.。。。。。。。。。。。。
- 【VIO笔记(学习VINS的必备基础)】第五讲(1/2) 手写VIO后端
- WIN10系统设置默认文件查看方式
- [29期] 一个乞丐的故事,什么叫职业人?