
本文描述了训练支持向量回归模型的过程,该模型用于预测基于几个天气变量、一天中的某个小时、以及这一天是周末/假日/在家工作日还是普通工作日的用电量。
支持向量机是机器学习的一种形式,可用于分类或回归。尽可能简单地说,支持向量机找到了划分两组数据的最佳直线或平面,或者在回归的情况下,找到了在容差范围内描述趋势的最佳路径。
对于分类,该算法最大限度地减少了对数据进行错误分类的风险。
对于回归,该算法使回归模型在某个可接受的容差范围内没有获得的数据点的风险最小化。

import pandas as pd # 对于数据分析,特别是时间序列
import numpy as np # 矩阵和线性代数的东西,类似MATLAB
from matplotlib import pyplot as plt # 绘图Scikit-learn是Python中的大型机器学习包之一。
from sklearn import svm
from sklearn import cross_validation
from sklearn import preprocessing as pre在此随机插入更好的数据可视化。
# 设置颜色
graylight = '#d4d4d2'
gray = '#737373'
red = '#ff3700'我在这个模型中使用的数据是通过公寓中安装的智能电表中获得的。
USAGE "字段给出了该小时内的用电度数。
elec.head(3)
Out[5]:

天气数据提取。
weather.head()


首先,我们需要将电力数据和天气数据合并到一个数据框中,并去除无关的信息。
# 合并成一个Pandas数据框架
pd.merge(weather, elec,True, True)
# 从数据框架中删除不必要的字段
del elec\['tempm'\], elec\['cost'\]
# 将风速转换为单位
elec\['wspdm'\] * 0.62
elec.head()

fig = plt.figure(figsize=\[14,8\])
elecweather\['USAGE'\].plot

我想将典型的工作日与周末、假日和在家工作的日子区分开来。所以现在所有的正常工作日都是0,所有的假期、周末和在家工作的日子都是1。