机器学习——简单线性回归(下)
来源:互联网 发布:linux 启动脚本 编辑:程序博客网 时间:2024/06/05 05:59
1、简单线性回归模型举例:汽车卖家做电视广告数量与卖出汽车数量:
(1)对于上面示例中给定的点,如何连出适合简单线性回归模型的最佳线性回归线?
将上述实例中的5个点在坐标系中绘出,
目的:找到一个方程可以模拟出最好的回归线;最好的回归线是最能够体现实例点的分布趋势的直线。
量化是最好的回归线的数学方法是:,
即:使得对于每个实例点的真实值与估计值只差的平方和最小的回归线。
注:是给出的数据的真实值,是估计的值,也就是画出的回归线上对应的值。
(2)计算
通过对给出的条件求导,让导数为0,求出和。
b1=[(1-2)(14-20)+(3-2)(24-20)+(2-2)(18-20)+(1-2)(17-20)+(3-2)(27-20)]/[(1-2)^2+(3-2)^2+(2-2)^2+(1-2)^+(3-2)^2]=20/4=5
b0=20-5*2=10
可以得出估计线性回归方程为:
(3)预测
假设有一周广告数量为6,预测汽车销量是多少?
直接将x_given=6带入上面的估计线性回归方程,得出预测的汽车销量为:y_hat = 5*6+10=40
(4)在Python中实现上面的例子
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:ZhengzhengLiuimport numpy as npdef fitSLR(x,y): #x,y分别是两个列表list 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:",numerator) print("dinominator:",dinominator) b1 = numerator/float(dinominator) b0 = np.mean(y)-b1*np.mean(x) return b0,b1def predict(x,b0,b1): return b0+b1*xx = [1,3,2,1,3]y = [14,24,18,17,27]b0,b1 = fitSLR(x,y)print("intercept:",b0,"slope:",b1)x_test = 6y_test = predict(x_test,b0,b1)print("y_test:",y_test)运行结果:
numerator: 20.0dinominator: 4.0intercept: 10.0 slope: 5.0y_test: 40.0
阅读全文
0 0
- 机器学习——简单线性回归(下)
- 机器学习练习(一)——简单线性回归
- 机器学习——简单线性回归(上)
- 机器学习(简单线性回归)
- 【机器学习】机器学习(二)——线性回归
- 机器学习回归篇-简单线性回归
- 机器学习复习——线性回归
- 机器学习——多元线性回归
- 机器学习——线性回归
- 机器学习入门——线性回归
- 机器学习算法——线性回归
- 机器学习——多元线性回归
- 机器学习笔记——线性回归
- 机器学习笔记——线性回归
- 机器学习笔记—线性回归
- 机器学习—局部加权线性回归
- 机器学习实验—线性回归预测
- 斯坦福大学机器学习——线性回归(Linear Regression)
- HDU 2647 Reward(拓扑排序)
- 装饰模式
- tomcat加载失败,提示信息:Illegal access: this web application...
- 原生JAVA解析json
- 51nod 1133不重合线段
- 机器学习——简单线性回归(下)
- DFS:POJ3620-Avoid The Lakes(求最基本的联通块)
- 史上最牛的员工激励
- Search Insert Position
- wget命令参数用法总结
- 2017乌鲁木齐网络赛D题 区间dp
- appium并发测试
- jquery操作复选框的总结
- Selenium with Python中文翻译(八)