python实现最小二乘法
python实现最小二乘法
- 最小二乘法的思路
- code
最小二乘法可以用于实现直线拟合和平面几何;我们这里使用最小二乘法实现一个平面几何
最小二乘法的思路
也可以将矩阵拆开来看
code
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3Dclass Plane_fitting:def _init__(self):self.X = [] #数据点x轴信息self.Y = [] #数据点y轴信息self.Z = [] #数据点z轴信息self.A = None self.B = Noneself.coffe = Nonedef data_generate(self,a,b,c):self.X = np.random.uniform(-10, 10, size=100)self.Y = np.random.uniform(-10, 10, size=100)self.Z = (a * self.X + b * self.Y + c) + np.random.normal(-1, 1, size=100)def get_matA(self):self.A = np.ones((len(self.X),3))self.A[:,0] = self.Xself.A[:,1] = self.Ydef get_matB(self):self.B = np.ones((len(self.X),1))self.B = self.Zdef get_coffe(self):self.get_matA()self.get_matB()self.coffe = np.dot(np.dot(np.linalg.inv(np.dot(self.A.T,self.A)),self.A.T),self.B)print("平面拟合结果为:z = {}* x + {}* y + {}".format(self.coffe[0],self.coffe[1],self.coffe[2]))def show_res(self):fig1 = plt.figure()ax1 = fig1.add_subplot(111, projection='3d')ax1.set_xlabel("x")ax1.set_ylabel("y")ax1.set_zlabel("z")ax1.scatter(self.X,self.Y,self.Z,c='r',marker='o')x_p = np.linspace(-10, 10, 100)y_p = np.linspace(-10, 10, 100)x_p, y_p = np.meshgrid(x_p, y_p)z_p = self.coffe[0] * x_p + self.coffe[1] * y_p + self.coffe[2]ax1.plot_wireframe(x_p, y_p, z_p, rstride=10, cstride=10)plt.show()def main(self):self.data_generate(2,5,6)self.get_coffe()self.show_res()if __name__== '__main__':PF = Plane_fitting()PF.main()
python实现最小二乘法相关推荐
- python最小二乘法_用python实现最小二乘法
用python实现最小二乘法 在上计量经济学的时候老师布置作业,要用Eviews这个软件实现最小二乘法,但是这个软件突然失灵了,在excel中的数据无法粘贴,这就非常难堪.于是我转向python语言寻 ...
- python散点图拟合曲线-Python解决最小二乘法拟合并绘制散点图
问题背景 最近物理老师让用Excel弄一个最小二乘法拟合然后弄出方程来求玻尔兹曼常数.无奈发现Linux上的WPS没有绘图功能无语啊O__O"-,据说绘图功能是用delphi写的,不好做跨平 ...
- python实现最小二乘法(转)
概念 最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y= φ(x). 原理 [原理部分由个人根据互联网上的资料进行总结,希望对大家能有用] ...
- python实现最小二乘法的线性回归_Python中的线性回归与闭式普通最小二乘法
我正在尝试使用python对一个包含大约50个特性的9个样本的数据集应用线性回归方法.我尝试过不同的线性回归方法,即闭式OLS(普通最小二乘法).LR(线性回归).HR(Huber回归).NNLS(非 ...
- Python基于最小二乘法的一元线性回归方程
基于最小二乘法的一元线性回归方程 要求 关于房价的,只需要一个自变量一个因变量 用到最小二乘,但不是封装好的函数,有算法的具体实现 原理 最小二乘法 我们以最简单的一元线性模型来解释最小二乘法.什么是 ...
- Python实现最小二乘法线性回归
研一第一学期刚学习完数值分析,赶上期末复习,复习的时候正好复习到最小二乘法,把离散的点拟合为线性函数,就顺便用python实现一下.正好准备学习机器学习算法这方面,就当是预热吧,我知道机器学习的算法肯 ...
- python实现最小二乘法的线性回归_最小二乘法求线性回归的python实现
原文: 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_38003892/arti ...
- Python使用最小二乘法求解回归直线案例一则
参考代码: 运行结果: 1.2 3.6 0.4 10.8 --------董付国老师Python系列教材-------- 1)<Python程序设计(第2版)>(2018年7月第7次印刷) ...
- Python实现最小二乘法拟合直线(求斜率截距)
利用最小二乘法拟合直线,实现了对一系列点拟合出其最接近的直线,并给出公式,包括斜率和截距.并且绘制出最终拟合线. 完整代码如下: # 核心代码,求斜率w,截距b def fit(data_x, dat ...
最新文章
- 简单图文配置golang+vscode【win10/centos7+golang helloworld+解决install failed等情况】
- 同学我看你答题分钱总被淘汰你得充充电了!
- django restful 请求_利用 Django REST framework 构建 RESTful Web API
- 25 FI配置-财务会计-定义冲销原因
- 万字详解Docker架构原理、功能及使用
- JAVA JDK配置
- android 应用搬家 分区,把安装在SD卡的应用存在DATA分区的数据移到SD卡上
- 使用PHP的“注意:未定义的变量”,“注意:未定义的索引”和“注意:未定义的偏移量”
- c 提示错误expected) before ; token_NLP.TM[33] | 纠错:pycorrector的错误检测
- 【模拟电子技术Analog Electronics Technology 14】——集成运放中的单元电路 之 集成运放的输入级:长尾式差放各种接法的参数分析
- html广告代码自适应,很实用的对联广告代码(自适应高度)
- 香橙派上手记录(orangepi pc)
- 邮箱smtp服务器及端口收集
- APICloud初使用记录
- 韩国计算机专业,韩国计算机专业发展前瞻
- dnf服务器炸团门票怎么找回,DNF:还在为魔界裂缝门票发愁吗?这些地方可以轻松获取门票...
- 【DC010沙龙年度合集】顶尖Hacking技术盛宴(文末福利)
- CAM350导入文件时钻孔文件错误
- 为什么手机里的小爱音响app里搜不到家里的小爱音箱_小米随身版小爱蓝牙音箱【开箱体验】,49的小爱音箱,值了...
- 基于STM32驱动SG90舵机