企业网站的建设专业服务南宁住房和城乡建设部网站

张小明 2026/1/17 11:22:24
企业网站的建设专业服务,南宁住房和城乡建设部网站,如何对网站进行爬虫,足球网站模板最小二乘直线拟合#xff08;二维#xff09; 最小二乘直线拟合代码实现 点云最小二乘直线拟合 最小二乘直线拟合#xff08;矩阵方程法#xff09; 最小二乘直线拟合代码实现 点云最小二乘直线拟合 最小二乘直线拟合#xff08;三维#xff09; 代码实现 计算拟…最小二乘直线拟合二维最小二乘直线拟合代码实现点云最小二乘直线拟合最小二乘直线拟合矩阵方程法最小二乘直线拟合代码实现点云最小二乘直线拟合最小二乘直线拟合三维代码实现计算拟合的评估指标最小二乘多项式拟合最小二乘多项式拟合手写实现参考文献最小二乘直线拟合二维最小二乘直线拟合代码实现import numpy as np import matplotlib.pyplot as plt describe: 最小二乘直线拟合 param[I]: x, x坐标 param[I]: y, y坐标 return: lope, 斜率 return: intercept, 截距 def least_squares_fit_line(x, y): n len(x) # 样本数 sum_x np.sum(x) # x的总和 sum_y np.sum(y) # y的总和 sum_x2 np.sum(x**2) # x的平方和 sum_xy np.sum(x*y) # xy的总和 # 使用公式计算斜率和截距 slope (n*sum_xy - sum_x*sum_y) / (n*sum_x2 - sum_x**2) intercept (sum_y - slope*sum_x) / n return slope, intercept if __name__ __main__: # 生成样本数据 x np.array([1, 2, 3, 4, 5]) y np.array([2, 3, 4, 5, 6]) # 调用函数计算斜率和截距 slope, intercept least_squares_fit_line(x, y) # 使用斜率和截距绘制拟合直线 x_fit np.linspace(0, 6, 100) # 生成x轴数据 y_fit slope*x_fit intercept # 计算y轴数据 plt.plot(x_fit, y_fit, -r, labelfit line) # 绘制样本散点图 plt.scatter(x, y) # 添加标题和坐标轴标签 plt.title(Least Squares Fit Line) plt.xlabel(x) plt.ylabel(y) # 显示图例 plt.legend() # plot时要设置label属性才会显示图例 # 显示拟合方程, 前两个参数为方程左上角坐标(x,y) plt.text(0, 6, function: y%.2fx %.2f % (slope, intercept), fontsize12, colorr, verticalalignmenttop) # 显示图形 plt.show()点云最小二乘直线拟合import numpy as np import matplotlib.pyplot as plt import open3d as o3d # 用于显示图形中的中文否则中文会乱码 plt.rcParams[font.family] [sans-serif] plt.rcParams[font.sans-serif] [SimHei] describe: 最小二乘直线拟合 param[I]: x, x坐标 param[I]: y, y坐标 return: lope, 斜率 return: intercept, 截距 def least_squares_fit_line(x, y): n len(x) # 样本数 sum_x np.sum(x) # x的总和 sum_y np.sum(y) # y的总和 sum_x2 np.sum(x**2) # x的平方和 sum_xy np.sum(x*y) # xy的总和 # 使用公式计算斜率和截距 slope (n*sum_xy - sum_x*sum_y) / (n*sum_x2 - sum_x**2) intercept (sum_y - slope*sum_x) / n return slope, intercept if __name__ __main__: # 读取直线点云 pcd o3d.io.read_point_cloud(data/fit/straightLine.pcd) # 从点云中提取numpy数组及xyz坐标 points np.asarray(pcd.points) x points[:, 0] y points[:, 1] z points[:, 2] # 调用函数计算斜率和截距 slope, intercept least_squares_fit_line(x, y) # 使用斜率和截距绘制拟合直线 x_fit x # 生成x轴数据 y_fit slope*x_fit intercept # 计算y轴数据 plt.plot(x_fit, y_fit, -r, label拟合直线) # 绘制样本散点图 plt.scatter(x, y) # 添加标题和坐标轴标签 plt.title(点云最小二乘直线拟合) plt.xlabel(x) plt.ylabel(y) # 显示图例 plt.legend() # plot时要设置label属性才会显示图例 # 显示拟合方程, 前两个参数为方程左上角坐标(x,y) plt.text(4, 12, 拟合方程: y%.2fx %.2f % (slope, intercept), fontsize12, colorr, verticalalignmenttop) # 显示图形 plt.show()最小二乘直线拟合矩阵方程法最小二乘直线拟合代码实现import numpy as np import matplotlib.pyplot as plt # 用于显示中文否则中文会乱码 plt.rcParams[font.family] [sans-serif] plt.rcParams[font.sans-serif] [SimHei] # 生成随机数据 np.random.seed(0) # 设置随机种子确保每次运行结果相同 x np.linspace(0, 10, 100) # 生成100个从0到10的均匀分布的随机数 y 2 * x 1 np.random.normal(size100) # 使用线性方程y 2x 1加上一些噪声生成y值size参数指定生成噪声的个数为100 # 绘制随机数据散点图 plt.scatter(x, y) # 使用最小二乘法拟合直线 A np.vstack([x, np.ones(len(x))]).T # 构造矩阵AA的第一列是x第二列是1 k, b np.linalg.lstsq(A, y, rcondNone)[0] # 使用最小二乘法求解k和brcondNone表示不进行奇异值分解直接求解 # 求解的k和b即为直线的斜率和截距 # 绘制拟合直线 plt.plot(x, k * x b, r, label拟合直线) # y kx b # 显示图例和拟合方程 plt.legend() plt.title(最小二乘直线拟合) plt.xlabel(x) plt.ylabel(y) plt.text(1, 20, 拟合方程: y%.2fx%.2f % (k, b), fontsize12, colorr, verticalalignmenttop) # 可视化拟合结果 plt.show()点云最小二乘直线拟合import numpy as np import matplotlib.pyplot as plt import open3d as o3d # 用于显示中文否则中文会乱码 plt.rcParams[font.family] [sans-serif] plt.rcParams[font.sans-serif] [SimHei] # 读取直线点云 pcd o3d.io.read_point_cloud(data/fit/straightLine.pcd) # 从点云中提取numpy数组及xyz坐标 points np.asarray(pcd.points) x points[:, 0] y points[:, 1] z points[:, 2] # 绘制散点图 plt.scatter(x, y) # 使用最小二乘法拟合直线 A np.vstack([x, np.ones(len(x))]).T # 构造矩阵AA的第一列是x第二列是1 k, b np.linalg.lstsq(A, y, rcondNone)[0] # 使用最小二乘法求解k和brcondNone表示不进行奇异值分解直接求解 # 求解的k和b即为直线的斜率和截距 # 绘制拟合直线 plt.plot(x, k * x b, r, label拟合直线) # y kx b # 显示图例和拟合方程 plt.legend() plt.title(最小二乘直线拟合) plt.xlabel(x) plt.ylabel(y) plt.text(4, 14, 拟合方程: y%.2fx%.2f % (k, b), fontsize12, colorr, verticalalignmenttop) # 可视化拟合结果 plt.show()最小二乘直线拟合三维代码实现import numpy as np import open3d as o3d pcd o3d.io.read_point_cloud(data/fit/straightLine.pcd) # 从点云中提取numpy数组及xyz坐标 points np.asarray(pcd.points) x points[:, 0] y points[:, 1] z points[:, 2] # 构造A矩阵 A np.vstack((x, y, np.ones_like(x))).T # 计算最小二乘解 w np.linalg.lstsq(A, z, rcondNone)[0] # 构造拟合直线的xyz坐标 x_fit np.array([x.min(), x.max()]) y_fit np.array([y.min(), y.max()]) z_fit x_fit*w[0] y_fit*w[1] w[2] # 打印拟合方程 print(z ,w[0],x ,w[1],y ,w[2]) # 可视化结果 line_set o3d.geometry.LineSet()# 创建一条线集合 line_set.points o3d.utility.Vector3dVector(np.column_stack((x_fit, y_fit, z_fit))) line_set.lines o3d.utility.Vector2iVector(np.array([[0, 1]])) o3d.visualization.draw_geometries([pcd, line_set])计算拟合的评估指标import numpy as np import open3d as o3d # 读取待拟合点云 pcd o3d.io.read_point_cloud(data/fit/line.pcd) # 从点云中提取numpy数组及xyz坐标 points np.asarray(pcd.points) x points[:, 0] y points[:, 1] z points[:, 2] # 构造A矩阵 A np.vstack((x, y, np.ones_like(x))).T # 计算最小二乘解 X, RSS, rank, s np.linalg.lstsq(A, z, rcondNone) # 构造拟合直线的xyz坐标 x_fit np.array([x.min(), x.max()]) y_fit np.array([y.min(), y.max()]) z_fit x_fit*X[0] y_fit*X[1] X[2] # 打印拟合方程 print(z ,X[0],x ,X[1],y ,X[2]) # 打印各类指标 print(残差平方和{:.2f}.format(RSS[0]))#RSS是一个形如[0.1234] 的数组故而取第一个元素。 print(均方误差{:.2f}.format(RSS[0] / len(z))) print(均方根误差{:.2f}.format(np.sqrt(RSS[0] / len(z)))) # 拟合后的预测值 z_pred np.dot(A, X) # z均值 z_mean np.mean(z) # 残差平方和 SS_res np.sum((z-z_pred)**2) # 总平方和 SS_tot np.sum((z-z_mean)**2) # 平均绝对误差 MAE np.mean(np.abs(z-z_pred)) # 决定系数 R2 1 - SS_res/SS_tot print(残差平方和直接计算法{:.2f}.format(SS_res)) print(平均绝对误差{:.2f}.format(MAE)) print(决定系数{:.2f}.format(R2)) # 可视化结果 line_set o3d.geometry.LineSet()# 创建一条线集合 line_set.points o3d.utility.Vector3dVector(np.column_stack((x_fit, y_fit, z_fit))) line_set.lines o3d.utility.Vector2iVector(np.array([[0, 1]])) o3d.visualization.draw_geometries([pcd, line_set])最小二乘多项式拟合import open3d as o3d import numpy as np import matplotlib.pyplot as plt describe: 最小二乘多项式拟合 param[I]: pcd, 待拟合点云 param[I]: degree, 多项式阶数 return: coeffs: 拟合系数 return: RSS: 残差平方和 return: TSS: 总平方和 def least_squares_polynomial_fit(pcd, degree): # 点云转numpy数组 points np.asarray(pcd.points) # 提取点云坐标 x points[:, 0] y points[:, 1] z points[:, 2] # 计算多项式系数 coeffs np.polyfit(x, y, degree) # 拟合的点坐标 xfit np.linspace(np.min(x), np.max(x), len(x)) yfit np.polyval(coeffs, xfit) # 可视化结果 plt.plot(x, y, o, labeloriginal points) plt.plot(xfit, yfit, -, labelfit curve) plt.legend() plt.show() # 计算拟合的残差残差平方和 yfit np.polyval(coeffs, x) # 残差 residuals y - yfit # 残差平方和RSS RSS np.sum(residuals**2) # 总平方和TSS TSS np.sum((y - np.mean(y))**2) return coeffs, RSS, TSS if __name__ __main__: # 读取点云数据 pcd o3d.io.read_point_cloud(data/fit/curve.pcd) # 多项式拟合 coeffs, RSS, TSS least_squares_polynomial_fit(pcd, degree3) # 将多项式系数转换为拟合方程 fit_equation np.poly1d(coeffs) # 打印拟合方程 print(拟合方程y , fit_equation) # 计算拟合指标 nlen(pcd.points) # 均方误差 MSE RSS/n # 均方根误差 RMSE np.sqrt(MSE) # 平均绝对误差 MAE np.mean(np.abs(np.sqrt(RSS)))/n # 决定系数 R2 1 - (RSS / TSS) print(残差平方和{:.3f}.format(RSS)) print(均方差{:.3f}.format(MSE)) print(均方根误差{:.3f}.format(RMSE)) print(平均绝对误差{:.3f}.format(MAE)) print(决定系数{:.3f}.format(R2))最小二乘多项式拟合手写实现import numpy as np import matplotlib.pyplot as plt import open3d as o3d describe: 最小二乘多项式拟合 param[I]: pcd, 待拟合点云 param[I]: k, 多项式阶数 return: coeffs: 拟合系数 return: rss: 残差平方和 return: mse: 均方误差 return: rmse: 均方根误差 return: mae: 平均绝对误差 return: r2: 残差平方和 def my_least_squares_polynomial_fit(pcd, k, evaluationFalse): # 点云转numpy数组 points np.asarray(pcd.points) # 提取点云坐标 x points[:, 0] y points[:, 1] z points[:, 2] # 计算回归系数 n len(x) X np.zeros((n, k1)) for i in range(n): for j in range(k1): X[i][j] x[i]**j X_T X.transpose() y y.reshape((-1, 1)) alpha np.linalg.inv(X_T.dot(X)).dot(X_T).dot(y) # 使用 squeeze() 函数去掉第一个维度形状为1的维度 coeffs alpha.squeeze() # 输出拟合系数 print(拟合系数:, coeffs) # 构造拟合方程,系数保留两位小数 f [] for i in range(k1): if i 0: f.append(f{round(coeffs[i],4)}) else: f.append(f{round(coeffs[i],4)}x^{i}) print(拟合方程:y , .join(f)) # 绘制拟合曲线 y_fit X.dot(alpha) plt.scatter(x, y) plt.plot(x, y_fit, colorr) plt.show() # 计算拟合评估指标 if(evaluation): rss np.sum((y_fit - y)**2) print(残差平方和:, rss) mse rss / n print(均方误差:, mse) rmse np.sqrt(mse) print(均方根误差:, rmse) mae np.mean(np.abs(y_fit - y)) print(平均绝对误差:, mae) y_mean np.mean(y) # 计算实际值的均值 ss_res np.sum((y - y_fit)**2) # 计算残差平方和 ss_tot np.sum((y - y_mean)**2) # 计算总平方和 r2 1 - (ss_res / ss_tot) # 计算R^2 print(决定系数R^2:, r2) return coeffs, rss, mse, rmse, mae, r2 if __name__ __main__: # 读取点云数据 pcd o3d.io.read_point_cloud(data/fit/curve.pcd) # 多项式拟合 coeffs, rss, mse, rmse, mae, r2 my_least_squares_polynomial_fit(pcd, k3, evaluationTrue)参考文献https://sunwukong.blog.csdn.net/article/details/120167360https://sunwukong.blog.csdn.net/article/details/132091027https://sunwukong.blog.csdn.net/article/details/132092824https://sunwukong.blog.csdn.net/article/details/132071497https://sunwukong.blog.csdn.net/article/details/132416141https://sunwukong.blog.csdn.net/article/details/132463094
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

生态建设研究所网站wordpress切换回经典变奇迹

Docker Volume 持久化保存 PyTorch 训练结果 在深度学习项目中,一个常见的“心碎时刻”莫过于训练了三天三夜的模型,刚想保存时容器却意外退出——打开宿主机目录一看,文件夹空空如也。这种因环境隔离导致的数据丢失问题,在使用 D…

张小明 2026/1/12 5:18:22 网站建设

南京建网站找哪家好线上运营培训

第一章:智谱Open-AutoGLM开源智谱AI推出的Open-AutoGLM是一个面向自动化自然语言处理任务的开源框架,旨在降低大模型应用门槛,提升从数据标注到模型部署的全流程效率。该框架基于GLM系列大模型构建,支持自动文本分类、信息抽取、问…

张小明 2026/1/11 18:06:10 网站建设

中石油网站建设东莞设计网页

FaceFusion能否去除水印?专注人脸不涉其他篡改功能在AI图像处理日益普及的今天,越来越多的内容创作者、开发者和影视后期人员开始依赖自动化工具来完成复杂的视觉任务。像抖音、YouTube这类平台发布的视频常常带有角标水印,而当用户希望对这些…

张小明 2026/1/13 3:13:29 网站建设

源码网站推荐wordpress自定义菜单的输出

钉钉自动打卡:告别考勤烦恼的智能助手 【免费下载链接】AutoDingding 钉钉自动打卡 项目地址: https://gitcode.com/gh_mirrors/au/AutoDingding 还在为每天繁琐的打卡任务而头疼吗?早晨匆忙忘记打卡、午休睡过头错过时间、下班时工作繁忙忘记记录…

张小明 2026/1/12 21:56:07 网站建设

比价网站源码整站程序微网站模板建设的选择

深入理解 Elasticsearch 中的 201 Created:索引创建成功的“黄金信号”你有没有遇到过这样的场景?在部署一个新服务时,脚本里调用PUT /logs-service-a-2025.04.05创建索引,返回了结果,但后续写入却失败了。排查半天才发…

张小明 2026/1/12 12:42:50 网站建设

莱芜举报网站网易免费企业邮箱入口

uesave终极指南:轻松解锁Unreal引擎存档编辑密码 【免费下载链接】uesave-rs 项目地址: https://gitcode.com/gh_mirrors/ue/uesave-rs 还在为游戏进度丢失而烦恼?想要个性化调整游戏参数却无从下手?uesave工具库正是你需要的解决方案…

张小明 2026/1/15 9:21:24 网站建设