回归分析

回归分析之Sklearn实现电力预测

参考原文:http://www.cnblogs.com/pinard/p/6016029.html 这里进行了手动实现,增强记忆。 1:数据集介绍 使用的数据是UCI大学公开的机器学习数据 数据的介绍在这: http://archive.ics.uci.edu/ml/datasets/Combined+Cycle+Power+Plant 数据的下载地址在这:http://archive.ics.uci.edu/ml/machine-learning-databases/00294/ 里面是一个循环发电场的数据,共有9568个样本数据,每个数据有5列,分别是:AT(温度), V(压力), AP(湿度), RH(压强), PE(输出电力)。我们不用纠结于每项具体的意思。 我们的问题是得到一个线性的关系,对应PE是样本输出,而AT/V/AP/RH这4个是样本特征, 机器学习的目的就是得到一个线性回归模型,即: $$ PE = \theta _{0} + \theta _{0} * AT + \theta _{0} * V +\theta _{0} * AP +\theta _{0}*RH $$ 而需要学习的,就是θ0,θ1,θ2,θ3,θ4这5个参数。 2:准备数据 下载源数据之后,解压会得到一个xlsx的文件,打开另存为csv文件,数据已经整理好,没有非法数据,但是数据并没有进行归一化,不过这里我们可以使用sklearn来帮我处理 sklearn的归一化处理参考:http://blog.csdn.net/gamer_gyt/article/details/77761884 3:使用pandas来进行数据的读取 import pandas as pd # pandas 读取数据 data = pd.read_csv("Folds5x2_pp.csv") data.head() 然后会看到如下结果,说明数据读取成功: AT V AP RH PE 0 8.34 40.77 1010.84 90.01 480.48 1 23.64 58.

继续阅读

回归分析之线性回归(N元线性回归)

在上一篇文章中我们介绍了 回归分析之理论篇,在其中我们有聊到线性回归和非线性回归,包括广义线性回归,这一篇文章我们来聊下回归分析中的线性回归。 一元线性回归 预测房价: 输入编号 | 平方米 | 价格 -|-|- 1 | 150 | 6450 2 | 200 | 7450 3| 250 |8450 4| 300 |9450 5| 350 |11450 6| 400 |15450 7| 600| 18450 针对上边这种一元数据来讲,我们可以构建的一元线性回归函数为 $$ H(x) = k*x + b $$ 其中H(x)为平方米价格表,k是一元回归系数,b为常数。最小二乘法的公式: $$ k =\frac{ \sum{1}^{n} (x{i} - \bar{x} )(y{i} - \bar{y}) } { \sum{1}^{n}(x_{i}-\bar{x})^{2} } $$ 自己使用python代码实现为: def leastsq(x,y): """ x,y分别是要拟合的数据的自变量列表和因变量列表 """ meanX = sum(x) * 1.

继续阅读