python实现最小二乘法的线性回归_最小二乘法求线性回归的python实现
原文:
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_38003892/article/details/84495172
1 核心思想
通过最小化方差,使得拟合结果无限接近目标结果。
2 通过一元线性方程举例说明
3 通过python实现一元线性拟合
import matplotlib.pyplot as plt
import random
# 用于存储x,y拟合数据
x = []
y = []
# 数据个数
n = 10
# 随机生成x,y
for i in range(n):
x.append(random.randint(0, 9))
y.append(random.randint(0, 9))
print(x, y)
# 根据推到出来的公式计算k,b
sum_xy = 0
sum_x = 0
sum_y = 0
sum_xx = 0
for i in range(n):
sum_xy += x[i] * y[i]
sum_x += x[i]
sum_y += y[i]
sum_xx += x[i] ** 2
print(sum_xy, sum_x, sum_y, sum_xx)
k = (n * sum_xy - sum_x * sum_y) / (n * sum_xx - sum_x ** 2)
b = sum_y / n - k * sum_x / n
print(k, b)
# 根据x计算拟合的y值
new_y = []
for i in range(n):
new_y.append(k * x[i] + b)
# 画出原始数据点以及拟合好的直线
plt.title("Least squares")
plt.xlim(right=10, left=0)
plt.ylim(top=10, bottom=0)
plt.xlabel("x")
plt.ylabel("y")
plt.plot(x, new_y, color='black')
plt.scatter(x, y, color='red')
plt.show()
运行结果(因为数据时随机生成的每次代码运行结果都会不同)
python实现最小二乘法的线性回归_最小二乘法求线性回归的python实现相关推荐
- Python编程新手看过来,如何求素数 (Python学习教程)
本期的Python学习教程是针对新入门Python编程的新手来写的:关于怎么求素数! 一.什么是素数? 素数就是质数,通俗点说就是只能被1和其本身整数的数就是素数(1除外) 举个例子: 2,3,4,5 ...
- python实现贝叶斯回归_贝叶斯线性回归(Bayesian Linear Regression)
贝叶斯线性回归(Bayesian Linear Regression) 标签(空格分隔): 监督学习 @ author : duanxxnj@163.com @ time : 2015-06-19 本 ...
- r语言线性回归_(R语言)线性回归:机器学习基础技术
线性回归: 使用最小二乘法预测定量的结果的一种回归模型. Anscombe数据集 它由统计学家弗朗西斯·安斯库姆(Francis Anscombe)建立,用来强调数据可视化和异常值在数据分析中的重要性 ...
- python 结构体数组 定义_一篇文章弄懂Python中所有数组数据类型
前言 数组类型是各种编程语言中基本的数组结构了,本文来盘点下Python中各种"数组"类型的实现. list tuple array.array str bytes bytearr ...
- python迭代器与生成器答案_史上最全 Python 迭代器与生成器
原标题:史上最全 Python 迭代器与生成器 作者:浪子燕青 链接:http://www.langzi.fun/迭代器与生成器.html 迭代器与可迭代对象 概念 迭代器:是访问数据集合内元素的一种 ...
- python泰坦尼克号生存预测论文_泰坦尼克号生存率预测(基于Python)
背景:泰坦尼克号(RMS Titanic)是英国白星航运公司下辖的一艘奥林匹克级邮轮,于1909年3月31日在爱尔兰贝尔法斯特港的哈兰德与沃尔夫造船厂动工建造.她是当时世界上体积最庞大.内部设施最豪华 ...
- python免费入门_python免费入门教程/求完整的Python入门教程
python不错的入门学习教程或者学习路线?适合新手的 可以去菜鸟教程去学,里面有很多基础入门的教程. 不过你想深入学习的话,学马哥python, 网上有一些免费的教程,课程很系统,讲的通俗易懂 求完 ...
- python学好了能干啥_新手该如何学python怎么学好python?_python学好了能干什么
1)学好python的第一步,就是马上到www.python.org网站上下载一个python版本.我建议初学者,不要下载具有IDE功能的集成开发环境,比如Eclipse插件等. 2)下载完毕后,就可 ...
- python中年大叔学编程_中年大叔学编程-Python简单操作文件
原标题:中年大叔学编程-Python简单操作文件 在计算机中,经常打交道的就是各种文档,用得比较多的软件就是office和记事本来操作文件,那么我们试试用Python来简单读写文件. Open函数的用 ...
- python从基础到进阶_无需编程基础,Python从入门到进阶大法
deffactorial(n): ifn==0: return1 else: returnn * factorial(n-1) 13. 框架与栈调用 Python代码载入框架,框架位于栈中. 函数与参 ...
最新文章
- easyui panel 默认折叠 右上角按钮
- JDK各版本内容和新特性
- BZOJ 1211 树的计数(purfer序列)
- ITK:注册IO工厂RegisterIOFactories
- WeChat小程序报错Module not found: Can‘t resolve ‘umtrack-alipay‘ in
- 猜字游游戏,while执行10次(Python)
- Kogito,ergo规则—第2部分:规则的全面执行模型
- ImageMagick 安装 window10与错误总结
- 新版网易新闻客户端应用源码
- linux 混杂模式 收包,Linux下使用混杂模式抓包(2)
- 50个精心收集的惊人的jquery绚丽插件--功能全覆盖
- 计算hashCode的常见方法
- visio阵列_什么软件可以画这种图,Visio怎么画?
- 我的大学四年到毕业工作5年的学习路线资源汇总
- 学习笔记(01):Linux操作系统入门培训_Linux/Unix基础培训教程视频课程-01.Linux入门培训之_软硬件平台介绍...
- 图片放大后变模糊了怎么办?
- java浏览 下单界面_Javaweb网上商城项目实战(24)实现订单详情查询功能
- office修复找不到msi_安装Office2007,总是提示找不到OfficeMUI.msi
- 互联网金融消费利用场景化带动行业发展趋势
- Microsoft SQL Server 2000 简体中文企业版+SP4升级补丁