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匹配中文的正则表达式
May 11 Python
基于Python os模块常用命令介绍
Nov 03 Python
windows环境下tensorflow安装过程详解
Mar 30 Python
pytorch 把MNIST数据集转换成图片和txt的方法
May 20 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
Jun 22 Python
Python后台开发Django会话控制的实现
Apr 15 Python
Python range、enumerate和zip函数用法详解
Sep 11 Python
Python一行代码解决矩阵旋转的问题
Nov 30 Python
把vgg-face.mat权重迁移到pytorch模型示例
Dec 27 Python
解决Jupyter因卸载重装导致的问题修复
Apr 10 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
Jun 24 Python
Python数据分析入门之数据读取与存储
May 13 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_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
JavaScript 变量命名规则
2009/09/23 Javascript
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
2016/05/16 Javascript
javascript如何创建对象
2016/08/29 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
2017/02/27 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
php使用递归与迭代实现快速排序示例
2014/01/23 Python
python根据文件大小打log日志
2014/10/09 Python
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
初步探究Python程序的执行原理
2015/04/11 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2018/05/16 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
DC Shoes澳大利亚官方网上商店:购买DC鞋子
2019/10/25 全球购物
英国床垫和床架购物网站:Bedman
2019/11/04 全球购物
蟋蟀的住宅教学反思
2014/04/26 职场文书
优秀班组长事迹
2014/05/31 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
党的群众路线教育实践活动专题组织生活会发言材料
2014/10/17 职场文书
《打电话》教学反思
2016/02/22 职场文书
详解Python中__new__方法的作用
2022/03/31 Python
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL