手把手教你实现共享单车数据分析及需求预测

640?wx_fmt=gif

导读:本文将介绍一个智能项目,我们将使用回归建模方式来模拟Capital Bikeshare系统中的自行车共享数据集,并了解温度、风和时间等变量是如何影响自行车租赁需求的。


作者:曼纽尔·阿米纳特吉(Manuel Amunategui)、迈赫迪·洛佩伊(Mehdi Roopaei)

如需转载请联系大数据(ID:hzdashuju)


 
 

640?wx_fmt=png


加州大学尔湾分校的UCI机器学习库慷慨贡献了本文所需的数据集:

https://archive.ics.uci.edu/ml/datasets/bike+sharing+dataset


在进行本文实验前,请访问UCI网站下载相关数据集。


提示:

请访问

www.apress.com/9781484238721

单击“Download source code”按钮,跳转至GitHub网站,下载本文所需文件。推荐使用Jupyter Notebook打开chapter2.ipynb文件,以配合阅读本文内容。



01 共享单车租赁需求回归系数分析


本文中,我们将构建一个简单直观的模型,并使其与不同的环境因素进行交互,进而了解这些环境因素是如何影响自行车租赁需求的。对用户来说,这会是一种很好的方式,因为这种方式可以让他们确认关于什么会让他们的用户租赁或不租赁自行车的直观判断。


当然,在有些情况下,他们也会感到很惊讶(比如,冬天骑车的人居然会比夏天还多——本文中,我们将让你亲眼看到这个现象)。


这个Web应用背后的“大脑”是一个线性回归模型(linear regression model)。它能够发现历史数据集与模型输出结果之间的线性关系。利用这个原理,通过线性回归模型,我们就可推断随着时间推移和不同环境参数的变化,自行车租赁在需求上的变化。最终我们希望看到的是,这个模型能否帮助我们预测未来的自行车租赁需求。


记住一点,无论何时,只要你打算将一个Python模型扩展到Web应用,那么在添加任何构建Web应用程序所需的额外层之前,必须解决该模型中当前的所有问题和缺陷(bug)。在将任何应用或内容移至云端前,请先把所有简单问题解决掉!遵循这条建议,后续会减少你很多不必要的麻烦。



02 探索共享单车原始数据集


虽然是一种兴起不久的服务,共享单车已经受到极大欢迎。根据人工智能与决策支持实验室的Hadi Fanaee-T的说法(来自UCI机器学习数据集信息库讲义笔记):


与公共汽车或地铁等其他交通服务相反,共享单车模式中,骑行时长、出发和到达位置在系统中都被明确记录。这一功能将自行车共享系统变成了虚拟传感器网络,利用这个网络,可以感知到一个城市的移动性。因此,通过监测这些数据,城市中发生的很多重要事件都有希望被监控到。


下载的数据集包括两部分:hour.csv和day.csv,特征细节描述如下:



1. 下载UCI机器学习库数据集


你可以使用Python命令行或者手工方式,从UCI的机器学习数据仓库中直接下载数据集。数据集下载地址为:


https://archive.ics.uci.edu/ml/datasets/bike+sharing+dataset


下载到的数据中包含三个文件:



在自行车租赁数据中,日数据集day.csv有731行,小时数据集hour.csv有17 379个记录。


2. Jupyter Notebook配置使用


在开始使用本文的记事本文件前,我们首先来回顾一些基础知识。从GitHub上下载源代码文件后,打开终端窗口,然后进入chapter2目录。在这个目录中,你将看到两个文件和一个文件夹,如图2所示。


640?wx_fmt=png

▲图2 终端窗口


requirements_jupyter.txt文件中包含了运行本文Jupyter记事本文件所需的Python库。通过运行“pip3”命令,你可以快速安装依赖库文件(代码清单①)。



$ pip3 install -r requirements_jupyter.txt


图2中,chapter2.ipynb文件就是本文的Jupyter Notebook文件。Jupyter Notebook文件的打开方式很多,最流行的是使用“jupyter notebook”命令(代码清单②)。如果在打开过程中出现问题,请参考Jupyter的官方文档。



 
 
$ jupyter notebook


此命令将会打开一个浏览器窗口,浏览器中会显示默认路径下的全部文件列表,单击chapter2.ipynb文件超链接,如图3所示。


640?wx_fmt=png

图3 Jupyter浏览器界面显示的本文文件


然后,浏览器将打开一个新的Tab窗口和相应的Notebook界面,其中包含了与本文内容相关的全部探索实验代码。本书全部代码都基于Python 3.x编写。如果你使用其他Python版本,则需要调整部分代码片段。


在打开的Notebook界面上,单击第一个代码框使其高亮,然后单击上方的运行按钮,如图4所示。如果在执行过程中出现错误,则在继续之前请先解决当前错误,因为Jupyter Notebook中每个代码片段的执行都要依赖之前的执行结果(错误可能与Python的版本兼容性有关,或者缺失了必须安装的依赖库文件)。


640?wx_fmt=png

  • 7
    点赞
  • 134
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值