#torch.optim是一个实现了各种优化算法的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import torch
import torch.optim as optim
#通过调用 warnings 模块中定义的 warn() 函数来发出警告
import warnings
#通过调用 filterwarnings() 将规则添加到过滤器,ignore" 忽略匹配的警告
warnings.filterwarnings("ignore")
%matplotlib inline
features = pd.read_csv('temps.csv')
#看看数据长什么样子
features.head(10)
数据表中
year,moth,day,week分别表示的具体的时间; temp_2:前天的最高温度值; temp_1:昨天的最高温度值; average:在历史中,每年这一天的平均最高温度值; actual:这就是我们的标签值了,当天的真实最高温度; friend:这一列可能是凑热闹的,你的朋友猜测的可能值,咱们不管它就好了;
print('数据维度:', features.shape)
# 处理时间数据,转换格式datetime格式方便操作
import datetime
# 分别得到年,月,日
years = features['year']
months = features['month']
days = features['day']
# datetime格式
#必须把str转换为datetime。转换方法是通过datetime.strptime()实现
#datetime.datetime.strptime:万能的日期格式转换
dates = [str(int(year)) + '-' + str(int(month)) + '-' + str(int(day)) for year, month, day in zip(years, months, days)]
dates = [datetime.datetime.strptime(date, '%Y-%m-%d') for date in dates]
dates[:5]
#展示
#准备画图
# 指定默认风格
plt.style.use('fivethirtyeight')
# 设置布局
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, figsize = (10,10))
#X轴上旋转45度并且右对齐
fig.autofmt_xdate(rotation = 45)
# 标签值
ax1.plot(dates, features['actual'])
ax1.set_xlabel(''); ax1.set_ylabel('Temperature'); ax1.set_title(&#