网站建设工作要点,建设网站app,官网seo哪家公司好,做网站都需要哪些费用文章目录 0 前言1 课题背景2 数据清洗3 数据可视化热力图整体特征分布**查看2011-2012间的单车租借情况**天气对于租借数量的影响湿度与温度对于租借数量的影响注册用户与未注册用户 4 总结#xff1a; 0 前言
#x1f525;这两年开始毕业设计和毕业答辩的要求和难度不断提升…文章目录0 前言1 课题背景2 数据清洗3 数据可视化热力图整体特征分布**查看2011-2012间的单车租借情况**天气对于租借数量的影响湿度与温度对于租借数量的影响注册用户与未注册用户4 总结0 前言这两年开始毕业设计和毕业答辩的要求和难度不断提升传统的毕设题目缺少创新和亮点往往达不到毕业答辩的要求这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。并且很难找到完整的毕设参考学习资料。为了大家能够顺利以及最少的精力通过毕设学长分享优质毕业设计项目提供大家参考学习今天要分享的是基于大数据的共享单车数据分析与可视化学长这里给一个题目综合评分(每项满分5分)难度系数3分工作量3分创新点4分选题指导, 项目分享见文末1 课题背景前几年共享单车项目在国内大热五颜六色的单车一夜之间遍布城市的各个角落。其实早在3年前国外就有类似的项目兴起通过历史用车记录结合天气等数据预测共享单车项目在华盛顿的需求数据的特征解释2 数据清洗导库importdatetimeimportnumpyasnpimportpandasaspdimportseabornassnsimportmatplotlib.pyplotaspltfrompyecharts.chartsimport*importpyecharts.optionsasoptsfrompyecharts.fakerimportFakerfrompyecharts.commons.utilsimportJsCode读数据dfpd.read_csv(data.csv)提出假设这里我们将研究决定单车租借的因素上面给出了各个特征的解释首先我们先大胆的提出假设:租借数量可能时间有关.租借数量可能与天气的好坏有着很大的联系租借的数量与是否为工作日有关租借的数量可能与风速有关查看有无缺失值和数据类型的情况发现并无缺失值不过时间的数据类型是object 需要转化为时间类型同时为了更方便的分析数据将datetime拆为 Year Month Weekday Hour特征提取#数据预处理data[season]data[season].map({1:spring,2:summer,3:fall,4:winner})data[weather]data[weather].map({1:Good,2:Normal,3:Bad,4:ver Bad})#特征衍生data[datetime]pd.to_datetime(data[datetime])data[year]data.datetime.apply(lambdad:d.year)data[month]data.datetime.apply(lambdad:d.month)data[day]data.datetime.apply(lambdad:d.day)data[hour]data.datetime.apply(lambdad:d.hour)data[minute]data.datetime.apply(lambdad:d.minute)data.head()查看一下各个特征的相关性*可以看出与count正相关最大的是temp 和atempholiday的相关性最小3 数据可视化通过Matplotlib、Seaborn等工具可视化理解数据分析特征与标签之间的相关性。热力图为了更直观的表现出数据的背后意义我们需要用可视化来做辅助首先将上述的相关系数的数据可视化为热力图的呈现方式整体特征分布sns.set_style(ticks)plt.figure(figsize(10,6))sns.kdeplot(data[count])sns.despine(leftTrue)plt.grid(linestyle--,alpha0.5,axisy)plt.title(Demand Distribution,fontsize15)plt.xlabel(Demand,fontsize13)plt.ylabel(Frequence,fontsize13)查看2011-2012间的单车租借情况1.图一是2011-2012年的每月租借情况较去年租借数量2012同比上升较大图示2012的面积是2011的2倍以上各月的增长情况相类似特别11-12月份成下坡趋势猜测可能是温度的原因季节属于冬季2.图二是节假日和非节假日的租借数量的箱形图不难看出租借的数量的离散型情况相似。3.图三是每星期的离散情况周末有异常值数量并不是很多可能与活动有关增加了出行的人数上述两图分别是季节和工作日的线形图1.图一中各季节的租借趋势相同同时秋季最高春季最低租借的高峰时间7-9和16-18点正好是早晚高峰时间2.图二也呈现出形式的趋势在工作日租借的高峰时间7-9和16-18点同时与此相反非工作日11-16点的租借人数最高符合睡觉睡到自然醒。附上代码#绘制图像fig,[ax1,ax2]plt.subplots(2,1,figsize(12,15))plt.subplots_adjust(hspace0.3)Month_tendency_2011.plot(kindline,linestyle--,linewidth2,colormapSet1,axax1)ax1.set_title(2011 Demand Tendency,fontsize15)ax1.grid(linestyle--,alpha0.8)ax1.set_ylim(0,150000)ax1.set_xlabel(Month,fontsize13)ax1.set_ylabel(Count,fontsize13)Month_tendency_2012.plot(kindline,linestyle--,linewidth2,colormapSet1,axax2)ax2.set_title(2012 Demand Tendency,fontsize15)ax2.grid(linestyle--,alpha0.8)ax2.set_ylim(0,150000)ax2.set_xlabel(Month,fontsize13)ax2.set_ylabel(Count,fontsize13)sns.despine(leftTrue)天气对于租借数量的影响Weather_Demanddata.groupby([weather,day])[[count]].sum()Weather_Demand.reset_index(inplaceTrue)plt.figure(figsize(12,6))sns.stripplot(xweather,ycount,dataWeather_Demand,paletteSet2,jitterTrue,alpha1.0)sns.despine(leftTrue)plt.xlabel(Season,fontsize13)plt.ylabel(Count,fontsize13)plt.title(Demand Distribution by Weather,fontsize15)上述两图分别是4中天气情况下的租借总数平均数和不同风速下的租借总数平均数1.晴天多云的租借总数最多平均数也最多天气越好租借的概率越大,大雨大雪的租借平均数反倒上升取出这个天气下的数据发现只有一例为特殊情况不予分析2.风速对于租借的影响还是很大的风速超过25就少有租借情况毕竟骑起来太累了风速在10以下租借情况良好同时当风速超过25后平均租借数量上升图中也能看出这种情况下的租借数量很少不做考虑湿度与温度对于租借数量的影响plt.figure(figsize(10,8))sns.kdeplot(data[temp],data[atemp],shadeTrue,shade_lowestFalse,cut10,cmapYlGnBu,cbarTrue)sns.despine(leftTrue)plt.grid(linestyle--,alpha0.4)plt.xlim(0,50)plt.ylim(0,50)plt.xlabel(Temperature,fontsize13)plt.ylabel(Atemp,fontsize13)plt.title(correlation of temp and atemp,fontsize15)# 温度与湿度的关系度量plt.figure(figsize(10,8))sns.kdeplot(data[temp],data[humidity],shadeTrue,shade_lowestFalse,cut10,cmapYlGnBu,cbarTrue)sns.despine(leftTrue)plt.grid(linestyle--,alpha0.4)plt.xlim(0,40)plt.ylim(0,110)plt.xlabel(Temperature,fontsize13)plt.ylabel(Humidity,fontsize13)plt.title(correlation of temp and humidity,fontsize15)上述两图为温度与湿度对于租借情况的影响温度和租借数量呈现正相关湿度呈现负相关租借数量在15-30度适应性最好30度到35度租借数量没有低于100的情况不多租借的数量不是很多颜色较浅湿度在30-60适应性最好注册用户与未注册用户# 衍生特征data[dif]data[registered]-data[casual]# 衍生特征注册用户与非注册用户的骑行需求差值fig,axesplt.subplots(2,2,figsize(20,8))plt.subplots_adjust(hspace0.3,wspace0.1)# 绘制子图1月度差异Month_Difdata.groupby(month)[[casual,registered]].mean()Month_Dif.plot(kindline,linestyle--,linewidth2,colormapSet1,axaxes[0,0])axes[0,0].set_title(Month Demand Tendency Dif,fontsize15)axes[0,0].grid(linestyle--,alpha0.8)axes[0,0].set_xlabel(Month,fontsize13)axes[0,0].set_ylabel(Count,fontsize13)#绘制子图2小时差异Hour_Difdata.groupby(hour)[[casual,registered]].mean()Hour_Dif.plot(kindline,linestyle--,linewidth2,colormapSet1,axaxes[0,1])axes[0,1].set_title(Hour Demand Tendency Dif,fontsize15)axes[0,1].grid(linestyle--,alpha0.8)axes[0,1].set_xlabel(Hour,fontsize13)axes[0,1].set_ylabel(Count,fontsize13)# 绘制子图3工作日差异H2_1data[data.workingday1].groupby(hour)[[casual,registered]].mean()# 工作日H2_0data[data.workingday0].groupby(hour)[[casual,registered]].mean()# 非工作日H2_1.plot(kindline,linestyle--,linewidth2,colormapSet1,axaxes[1,0])axes[1,0].set_title(Workingday Hour Demand Dif,fontsize15)axes[1,0].grid(linestyle--,alpha0.8)axes[1,0].set_xlabel(Hour,fontsize13)axes[1,0].set_ylabel(Count,fontsize13)# 绘制子图4非工作日差异H2_0.plot(kindline,linestyle--,linewidth2,colormapSet1,axaxes[1,1])axes[1,1].set_title(Holiday Hour Demand Dif,fontsize15)axes[1,1].grid(linestyle--,alpha0.8)axes[1,1].set_xlabel(Hour,fontsize13)axes[1,1].set_ylabel(Count,fontsize13)sns.despine(leftTrue)上面四幅为注册用户与非注册用户在各因素下的差异组合图从左到右排序p1是月度差异图整体趋势相同注册用户远高于非注册用户p2是小时差异图注册用户的小时规律明显非注册用户则只在12am~5pm存在峰值整体差异较大p3是工作日差异图注册用户工作日小时规律明显二非注册用户趋势平缓p4是非工作日差异图非工作日两者差异相较于其他因素差异较小且趋势相同。总体来说注册用户需求远高于非注册用户注册用户的使用规律明显而非注册用户受其他因素的影响相对较弱。4 总结通过以上的可视化分析我们可以清晰的发现印象租借数量的因素1.温度对于租借的影响较大15-30度间租借数量最多呈正相关2.湿度在30-60的时候租借数量最大呈负相关3.早晚高峰时间段租借数量最多4.早晚高峰时间段租借的用户较多为注册用户注册用户周末租借量减少相反非租借用户周末租借量增加5.天气情况和风速对于租借也有较大的影响晴天租借最多大雨大雪租借最少风速在10以下租借的数量最多6.共享单车前景良好12较11年租借数量有增加2倍之多 项目分享:大家可自取用于参考学习获取方式见文末!