数学之路(3)-机器学习(3)-机器学习算法-最小二乘法与回归[3]

 

 

本博客所有内容是原创,未经书面许可,严禁任何形式的转载

http://blog.csdn.net/u010255642

 

 

回归分析英语:Regression Analysis)是一种统计学上分析数据的方法,目的在于了解两个或多个变量间是否相关、相关方向与强度,并建立数学模型以便观察特定变量来预测研究者感兴趣的变量。

回归分析是建立因变量Y(或称依变量,反应变量)与自变量X(或称独变量,解释变量)之间关系的模型。简单线性回归使用一个自变量X,复回归使用超过一个自变量(X_1, X_2 ... X_i)。

 

简单的单变量线性回归python实现

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#最小二乘法,单变量线性回归
#麦好myhaspl@qq.com
#http://blog.csdn.net/u010255642/
 
import matplotlib.pyplot as plt
x =[1,2,3,3,6,12,11]
y =[3,5,8,5,12,26,20]
average_x=float(sum(x))//len(x)
average_y=float(sum(y))/len(y)
x_sub=map((lambda x:x-average_x),x)
y_sub=map((lambda x:x-average_y),y)
x_sub_pow2=map((lambda x:x**2),x_sub)
y_sub_pow2=map((lambda x:x**2),y_sub)
x_y=map((lambda x,y:x*y),x_sub,y_sub)
a=float(sum(x_y))/sum(x_sub_pow2)
b=average_y-a*average_x
plt.xlabel('X')
plt.ylabel('Y')
plt.plot(x, y, '*')
plt.plot([0,15],[0*a+b,15*a+b])
plt.grid()
plt.title("{0}*x+{1}".format(a,b))
plt.show()


posted @ 2013-07-13 19:24  爱生活,爱编程  阅读(257)  评论(0编辑  收藏  举报