机器学习(简单线性回归)

来源:互联网 发布:中国联通软件开发待遇 编辑:程序博客网 时间:2024/06/05 14:26

1.回归:Y变量为连续数值型;分类:Y变量为类别型

2.简单线性回归
2.1很多做决定过程通常是根据两个或者多个变量之间的关系
2.2回归分析用来建立方程模拟两个或者多个变量之间的关系
2.3被预测的变量叫做:因变量,y,输出
2.4被用来进行预测的变量叫做:自变量,x,输入

3.简单线性回归介绍
3.1简单线性回归包含一个自变量(x)和一个因变量(y)
3.2以上两个变量之间的关系用一条直线来模拟
3.3如果包含两个以上的自变量,则称作多元回归分析

4.简单线性回归模型
4.1被用来描述因变量(y)和以及偏差之间关系的方程叫做回归模型
4.2简单线性回归模型是:
y=β0+β1*x+e

5.简单线性回归方程
E(y)=β0+β1*x
其中β0是回归线的截距
β1是回归线的斜率
E(y)是在一个给定x值下y的期望值(均值)

6.估计的简单线性回归方程
y-hat = b0+b1*x
这个方程叫做估计线性方程
其中b0是估计方程的纵截距
b1是估计线性方程的斜率
y-hat是在自变量x等于一个给定的值的时候,y的估计值

7.关于偏差e的假定
7.1是一个随机的变量,均值为0
7.2e的方差对于所有的自变量x是一样的
7.3e的值是独立的
7.4e的值满足正态分布

简单线性回归方程代码实现:

# -*- coding:utf-8 -*- import numpy as np#定义简单线性回归模型def SLR_fit(x,y):    x_length = len(x)    line_up = 0;    line_down = 0;    for i in range(x_length):        line_up += (x[i]-np.mean(x))*(y[i]-np.mean(y))        line_down += (x[i]-np.mean(x))**2    #计算b0和b1两个模型参数    b1 = line_up/float(line_down)    b0 = np.mean(y)-b1*np.mean(x)    return b0,b1#预测def prediction(x,b0,b1):    return b1*x+b0x = [1,3,2,1,3]y = [14,24,18,17,27]predict_x = 6b0,b1 = SLR_fit(x, y)predict_y = prediction(predict_x, b0, b1)print("当自变量为%.2f时,其自变量为%.2f"%(predict_x,predict_y))