机器学习-简单线性回归(Simple Linear Regression)算法
Posted YEN_csdn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习-简单线性回归(Simple Linear Regression)算法相关的知识,希望对你有一定的参考价值。
学习彭亮《深度学习基础介绍:机器学习》课程
准备
需要用到一些统计量:
- 平均值(mean)
- 中位数(median)
- 众数(mode)
- 方差(variance)
- 标准差(standard deviation)
概念
- 回归:(regression) Y变量为连续数值型(continuous numerical variable) 如:房价,人数,降雨量
- 分类:(Classification): Y变量为类别型(categorical variable) 如:颜色类别,电脑品牌,有无信誉
简单线性回归(Simple Linear Regression)
- 很多做决定过过程通常是根据两个或者多个变量之间的关系
- 回归分析(regression analysis)用来建立方程模拟两个或者多个变量之间如何关联
- 被预测的变量叫做:因变量(dependent variable), y, 输出(output)
- 被用来进行预测的变量叫做: 自变量(independent variable), x, 输入(input)
- 简单线性回归包含一个自变量(x)和一个因变量(y)
- 以上两个变量的关系用一条直线来模拟
- 如果包含两个以上的自变量,则称作多元回归分析(multiple regression)
简单线性回归模型
被用来描述因变量(y)和自变量(X)以及偏差(error)之间关系的方程叫做回归模型
简单线性回归的模型是:
简单线性回归方程
F(y) = β0+β1x
这个方程对应的图像是一条直线,称作回归线
其中,β0是回归线的截距
β1是回归线的斜率
F(y)是在一个给定x值下y的期望值(均值)
- 正向线性相关
- 负向线性相关
- 无关
关于偏差ε的假定
- 是一个随机的变量,均值为0
- ε的方差(variance)对于所有的自变量x是一样的
- ε的值是独立的
- ε满足正态分布
销量预测实例
预测广告数量与汽车销量的关系
分子 = (1-2)(14-20)+(3-2)(24-20)+(2-2)(18-20)+(1-2)(17-20)+(3-2)(27-20)
= 6 + 4 + 0 + 3 + 7
= 20
分母 = (1-2)^2 + (3-2)^2 + (2-2)^2 + (1-2)^2 + (3-2)^2
= 1 + 1 + 0 + 1 + 1
4
b1 = 20/4 =5
b0 = 20 - 5*2 = 20 - 10 = 10
代码
#coding=utf-8
# @Author: yangenneng
# @Time: 2018-01-16 15:32
# @Abstract:简单线性回归(Simple Linear Regression)算法预测汽车销量
import numpy as np
def fitSLR(x, y):
n = len(x)
dinominator = 0
numerator = 0
for i in range(0, n):
numerator += (x[i] - np.mean(x)) * (y[i] - np.mean(y))
dinominator += (x[i] - np.mean(x)) ** 2
print("numerator:" + str(numerator))
print("dinominator:" + str(dinominator))
b1 = numerator / float(dinominator)
b0 = np.mean(y) / float(np.mean(x))
return b0, b1
# y= b0+x*b1
def prefict(x, b0, b1):
return b0 + x * b1
x = [1, 3, 2, 1, 3]
y = [14, 24, 18, 17, 27]
b0, b1 = fitSLR(x, y)
y_predict = prefict(6, b0, b1)
print("y_predict:" + str(y_predict))
以上是关于机器学习-简单线性回归(Simple Linear Regression)算法的主要内容,如果未能解决你的问题,请参考以下文章
机器学习---线性回归(Machine Learning Linear Regression)
R语言plotly可视化:使用plotly可视化简单线性回归模型的回归线(simple regression model linear regression plots)
机器学习------- 线性回归(Linear regression )