关于数据挖掘:共享单车需求量数据用CART决策树随机森林以及XGBOOST算法登记分类及影响因素分析附代码数据

1次阅读

共计 3948 个字符,预计需要花费 10 分钟才能阅读完成。

全文链接:http://tecdat.cn/?p=28519

作者:Yiyi Hu

最近咱们被客户要求撰写对于共享单车的钻研报告,包含一些图形和统计输入。

近年来,共享经济成为社会服务业内的一股重要力量。作为共享经济的一个代表性行业,共享单车疾速倒退,成为继地铁、公交之后的第三大公共出行形式

但与此同时,它也面临着市场需求不均衡、车辆乱停乱放、车辆检修调度等问题。本我的项目则着眼于如何不影响市民出行效率的同时,对共享单车进行正当的批量培修工作的问题,利用 CART 决策树、随机森林以及 Xgboost 算法对共享单车借用数量进行等级分类,试图通过模型探索其影响因素并剖析在何种条件下对共享单车进行批量培修为最优计划。

解决方案

工作 / 指标

通过机器学习分类模型探索共享单车借用数量的影响因素,并剖析在何种条件下对共享单车进行批量培修为最优计划。

数据源筹备

该数据集有三个数据起源,别离为交通局,天气数据,以及法定假期。

解决方案

工作 / 指标

通过机器学习分类模型探索共享单车借用数量的影响因素,并剖析在何种条件下对共享单车进行批量培修为最优计划。

数据预处理及可视化

(一)工夫:首先从“timestamp”列中提取了“month”和“hour”两列,试图别离从整体、季度、月份、小时四个方面,对共享单车借用总数进行箱图剖析。

(二)天气:察看数据特色发现,其中“weather_code”列各类别别离为:1 = 晴朗; 大抵清晰,但有一些值与雾霾 / 雾 / 雾斑 / 雾左近;2 = 散云 / 一些云;3 = 碎云 / 云层蓬松;4 = 多云;7 = 雨 / 小雨阵雨 / 小雨;10 = 雨与雷暴;26 = 降雪;94 = 冻雾。因而,本文对“weather_code”进行从新定义,将 1,2,3,4 类天气现象定义为宜骑车天气;7,10,26,94 类天气现象定义为不宜骑车天气。


点击题目查阅往期内容

单车上的城市:共享单车数据洞察

左右滑动查看更多

01

02

03

04

(三)共享单车借用数量:“节假日”与“双休日”中共享单车应用数量的散布较为类似,高峰期均在午后。比照发现,“工作日”中单车应用数量的高峰期在 7 点至 9 点,16 点到 19 点这两个时间段出现为两个显著的波峰,这两个时间段往往是下班下班时间,人流量比拟大,因此数据的出现比拟符合实际的法则。因而,相对将“is_holiday”列与“is_weekend”列联结进行分组,合并为“is\_non\_workday”, 分为工作组与非工作日组。

(四)温度:图 5-4 为各变量之间的相关系数矩阵,发现温度“t1”列与体感温度“t2”列之间存在较高的相关性,且天气温度数据更加主观,因而抉择仅保留“t1”列。各个变量之间的均出现中弱相关性。此外,各变量与因变量“count_log”列均存在肯定的相关性,但相干强度不一。

(五)经察看“count_log”箱图发现,该数据仍存在着大量异样值。因而,为了进步后果的准确性,抉择删去 16 个过低的数值,残余 17398 组数据。

在进行预处理后,本文曾经对共享单车中的变量进行了筛选与调整,保留了 hour,t1,is\_non\_workday,weather_code,wind_speed,hum,season 等 7 个特色变量。在正 式建设模型之前,对于因变量“count_log”进行等频分箱,将其分成了五类,命名为 category。当保障类别均衡,即每类数据的样本量靠近,算法会有更好的成果。对于温度、湿度等连续性变量,为使得最初后果的准确性,并未对其进行分箱。

接下来,本文对所有的特色变量进行了归一化解决,为了演绎对立样本的统计散布性,本文选取 75% 的数据划分为训练集,25% 的数据作为测试集。

建模

CART 决策树:

CART 算法易于了解和实现,人们在通过解释后都有能力去了解决策树所表白的意义。并且可能同时解决分类型与数值型属性且对缺失值不敏感。

随机森林:

应用随机森林模型在进行分类时,须要当初经过训练的决策树中输出测试样本,这棵决策树的分类便能够由各叶子节点的输入后果而确定;再依据所有决策树的分类后果,从而求得随机森林对测试样本的最终评估后果。

应用自助法随机地抽样失去决策树的输出样本和选取最佳的宰割规范在决策树的节点上随机地选取特色进行宰割是随机森林的两大长处,正是这些劣势使得随机森林具备了良好的容忍噪声的能力,且使得决策树之间的相关性有所升高。随机森林中的决策树还具备了任意成长但不被修剪的特点,因而这些决策树的偏差较低,有利于进步评估的准确度。

Xgboost:

Xgboost 作为一种新型的集成学习办法,长处颇多。首先,他在代价函数里退出了正则化项,用于管制模型的复杂度,无效避免了过拟合。其次,Xgboost 反对并行处理,家喻户晓,决策树的学习最耗时的一个步骤是对特色的值进行排序,Xgboost 在训练之前事后对数据进行了排序,而后保留为 block 构造,前面的迭代中重复使用这个构造,大大减小了计算量。再次,Xgboost 算法灵活性高,它反对用户自定义指标函数和评估函数,只有保障指标函数二阶可导即可,并且对于特征值有缺失的样本,能够主动学习出它的决裂方向。最初,Xgboost 先从顶到底建设所有能够建设的子树,再从底到顶反向进行剪枝,这样不容易陷入部分最优解。

本文别离利用 CART 决策树、随机森林以及 Xgboost 算法对共享单车借用数量进行等级分类,并对三个办法进行精度测试,发现通过 Xgboost 算法分类成果最好,通过调参后,训练集模型精确度高达 0.92,测试集精确度为 0.83。剖析分类后果以及各因素的重要性发现,工夫、风速、湿度、温度四个因素对共享单车使用量存在较高的影响,因而培修部门能够选在凌晨阶段,或者风速较大、温度过低或过高的期间对共享单车进行正当的批量培修,避开市民用车顶峰,保障市民出行效率以及用车平安。

对于作者

在此对 Yiyi Hu 对本文所作的奉献示意诚挚感激,她特长工夫序列预测、回归剖析、多元统计、数据荡涤、解决及可视化、根底机器学习模型以及集成模型。

点击文末 “浏览原文”

获取全文数据资料。

本文选自《共享单车需求量用 CART 决策树、随机森林以及 XGBOOST 算法注销分类及影响因素剖析》。

点击题目查阅往期内容

数据分享 |PYTHON 用决策树分类预测糖尿病和可视化实例
样条曲线、决策树、Adaboost、梯度晋升 (GBM) 算法进行回归、分类和动静可视化
SAS 分类决策树预测贷款申请评分剪枝和后果可视化
分类回归决策树交互式修剪和更好看地可视化剖析细胞图像宰割数据集
PYTHON 用户散失数据挖掘:建设逻辑回归、XGBOOST、随机森林、决策树、反对向量机、奢侈贝叶斯和 KMEANS 聚类用户画像
PYTHON 集成机器学习:用 ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜寻超参数优化
Python 对商店数据进行 lstm 和 xgboost 销售量工夫序列建模预测剖析
PYTHON 集成机器学习:用 ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜寻超参数优化
R 语言集成模型:晋升树 boosting、随机森林、束缚最小二乘法加权均匀模型交融剖析工夫序列数据
Python 对商店数据进行 lstm 和 xgboost 销售量工夫序列建模预测剖析
R 语言用主成分 PCA、逻辑回归、决策树、随机森林剖析心脏病数据并高维可视化
R 语言基于树的办法:决策树,随机森林,Bagging,加强树
R 语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测
spss modeler 用决策树神经网络预测 ST 的股票
R 语言中应用线性模型、回归决策树主动组合特色因子程度
R 语言中自编基尼系数的 CART 回归决策树的实现
R 语言用 rle,svm 和 rpart 决策树进行工夫序列预测
python 在 Scikit-learn 中用决策树和随机森林预测 NBA 获胜者
python 中应用 scikit-learn 和 pandas 决策树进行 iris 鸢尾花数据分类建模和穿插验证
R 语言里的非线性模型:多项式回归、部分样条、平滑样条、狭义相加模型 GAM 剖析
R 语言用规范最小二乘 OLS,狭义相加模型 GAM,样条函数进行逻辑回归 LOGISTIC 分类
R 语言 ISLR 工资数据进行多项式回归和样条回归剖析
R 语言中的多项式回归、部分回归、核平滑和平滑样条回归模型
R 语言用泊松 Poisson 回归、GAM 样条曲线模型预测骑自行车者的数量
R 语言分位数回归、GAM 样条曲线、指数平滑和 SARIMA 对电力负荷工夫序列预测 R 语言样条曲线、决策树、Adaboost、梯度晋升 (GBM) 算法进行回归、分类和动静可视化
如何用 R 语言在机器学习中建设集成模型?
R 语言 ARMA-EGARCH 模型、集成预测算法对 SPX 理论稳定率进行预测在 python 深度学习 Keras 中计算神经网络集成模型 R 语言 ARIMA 集成模型预测工夫序列剖析 R 语言基于 Bagging 分类的逻辑回归 (Logistic Regression)、决策树、森林剖析心脏病患者
R 语言基于树的办法:决策树,随机森林,Bagging,加强树
R 语言基于 Bootstrap 的线性回归预测置信区间预计办法
R 语言应用 bootstrap 和增量法计算狭义线性模型(GLM)预测置信区间
R 语言样条曲线、决策树、Adaboost、梯度晋升(GBM) 算法进行回归、分类和动静可视化
Python 对商店数据进行 lstm 和 xgboost 销售量工夫序列建模预测剖析
R 语言随机森林 RandomForest、逻辑回归 Logisitc 预测心脏病数据和可视化剖析
R 语言用主成分 PCA、逻辑回归、决策树、随机森林剖析心脏病数据并高维可视化
Matlab 建设 SVM,KNN 和奢侈贝叶斯模型分类绘制 ROC 曲线
matlab 应用分位数随机森林(QRF)回归树检测异样值

正文完
 0