赞
踩
下面来尝试预测美国西雅图弗雷蒙特桥的自行车流量,数据源自不同天气、季节和其他条件下通过该桥的自行车统计数据。我们在 3.12 节见过这些数据。
在本节中,我们将自行车数据与其他数据集连接起来,确定哪些天和季节因素(温度、降雨量和白昼时间)会影响通过这座桥的自行车流量。NOAA 已经提供了每日的站点天气预报(http://www.ncdc.noaa.gov/cdo-web/searchdatasetid=GHCND)数据(我用的站点 ID 是 USW00024233),可以用 Pandas 轻松将两份数据连接起来。然后,创建一个简单的线性回归模型来探索与自行车数量相关的天气和其他因素,从而评估任意一种因素对骑车人数的影响。
值得注意的是,这是一个演示在统计模型框架中如何应用 Scikit-Learn工具的案例,模型参数被假设为具有可以解释的含义。就像前面介绍过的那样,虽然这并不是一个介绍标准机器学习方法的案例,但是对模型的解释在其他模型中也会用到。
01/ 加载数据&数据清洗
首先加载两个数据集,用日期作索引:import pandas as pd
counts = pd.read_csv(r'...\BicycleWeather.csv',
index_col='DATE', parse_dates=True)
weather = pd.read_csv('...\BicycleWeather.csv',
index_col='DATE', parse_dates=True)
然后计算每一天的自行车流量,将结果放到一个新的 DataFrame 中:daily = counts.resample('d').sum()
daily['Total'] = daily.sum(axis=1)
daily = daily[['Total']] # remove other columns重采样(Resampling)指的是把时间序列的频度变为另一个频度的过程。
把高频度的数据变为低频度叫做降采样(downsampling),
把低频度变为高频度叫做增采样(upsampling)
在之前的分析中,我们发现同一周内每一天的模式都是不一样的。因此,我们在数据中加上 7 列 0~1 值表示星期几:days
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。