python3利用Axes3D库画3D模型图


Posted in Python onMarch 25, 2020

Python3利用Axes3D库画3D模型图,供大家参考,具体内容如下

最近在学习机器学习相关的算法,用python实现。自己实现两个特征的线性回归,用Axes3D库进行建模。

python代码

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 三维,两个特征
fig = plt.figure(figsize=(8, 6)) #设置图标的大小
ax = fig.add_subplot(111, projection='3d') # 111的意思是把画布分为1行1列,画在第一个方格内。其实就是整个画布。

# 创建样本,注意两个特征不能线性相关,否则无法用最小二乘解参数
X1 = np.arange(-4, 4, 0.1)
m = len(X1)
X2 = np.random.rand(m)*5
# print(X2)
# print(X1)

# 堆叠全1数组和X1以及X2形成样本的矩阵,倒置,用以矩阵乘法
X = np.vstack((np.full(m, 1), X1, X2)).T

# y = 15*X1 + 3 * X2 + theta0
# 自定义样本输出
Y = X1 + 3 * X2 + 3*np.random.randn(m)

# 利用标准方程(最小二乘法求解theta)
theta = np.dot(np.dot(np.linalg.inv(np.dot(np.transpose(X), X)),
np.transpose(X)), Y)
print(theta)

# 构造网格 meshgrid函数可以通过延伸矩阵构造多维坐标中的网格坐标。
M, N = np.meshgrid(X1, X2)

# zip函数构建一个多元祖[(x1,y1),(x2,y2)...],ravel函数将一个多维数组合并成一维数组
Z = np.array([theta[1] * d + theta[2]*p + theta[0] for d, p in zip(np.ravel(M), np.ravel(N))]).reshape(M.shape)

# 根据网格和函数构建图形 suface是一个完整的面
ax.plot_surface(M, N, Z)
# scatter是散点图
ax.scatter(X1, X2, Y, c='r')
# 设置坐标轴的名称
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

plt.show()

图形如下

python3利用Axes3D库画3D模型图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
简述Python中的面向对象编程的概念
Apr 27 Python
python机器学习理论与实战(六)支持向量机
Jan 19 Python
用python 批量更改图像尺寸到统一大小的方法
Mar 31 Python
对pandas中apply函数的用法详解
Apr 10 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
May 16 Python
python清除字符串前后空格函数的方法
Oct 21 Python
Python pycharm 同时加载多个项目的方法
Jan 17 Python
python使用mitmproxy抓取浏览器请求的方法
Jul 02 Python
Python 硬币兑换问题
Jul 29 Python
python创建学生管理系统
Nov 22 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
Python编写单元测试代码实例
Sep 10 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 #Python
Django用数据库表反向生成models类知识点详解
Mar 25 #Python
Python动态强类型解释型语言原理解析
Mar 25 #Python
python应用Axes3D绘图(批量梯度下降算法)
Mar 25 #Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
Mar 24 #Python
python实现梯度下降和逻辑回归
Mar 24 #Python
详解Python 实现 ZeroMQ 的三种基本工作模式
Mar 24 #Python
You might like
PHP中is_dir()函数使用指南
2015/05/08 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
2017/02/08 PHP
Thinkphp集成抖音SDK的实现方法
2020/04/28 PHP
Avengerls vs Newbee BO3 第二场2.18
2021/03/10 DOTA
javascript 装载iframe子页面,自适应高度
2009/03/20 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
文本框水印提示效果的简单实现代码
2014/02/22 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
在windows上用nodejs搭建静态文件服务器的简单方法
2016/08/11 NodeJs
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
Vue.js递归组件构建树形菜单
2017/12/24 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
基于Bootstrap下拉框插件bootstrap-select使用方法详解
2018/08/07 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
Vue.js仿Select下拉框效果
2020/02/18 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
python通过BF算法实现关键词匹配的方法
2015/03/13 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
python pandas模块基础学习详解
2019/07/03 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
全球性的女装店:storets
2019/06/12 全球购物
数控加工专业毕业生自荐信
2013/09/27 职场文书
桥梁工程专业求职信
2014/04/21 职场文书
活动总结格式
2014/08/30 职场文书
十八大标语口号
2014/10/09 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android
Go语言基础切片的创建及初始化示例详解
2021/11/17 Golang
MySQL 字符集 character
2022/05/04 MySQL