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 相关文章推荐
Django自定义用户认证示例详解
Mar 14 Python
python爬取足球直播吧五大联赛积分榜
Jun 13 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 Python
python实现AES和RSA加解密的方法
Mar 28 Python
Django框架中序列化和反序列化的例子
Aug 06 Python
用Python抢火车票的简单小程序实现解析
Aug 14 Python
Django框架下静态模板的继承操作示例
Nov 08 Python
python中图像通道分离与合并实例
Jan 17 Python
利用Python实现朋友圈中的九宫格图片效果
Sep 03 Python
Pycharm新手使用教程(图文详解)
Sep 17 Python
Python基于Serializer实现字段验证及序列化
Nov 04 Python
基于Python的EasyGUI学习实践
May 07 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 socke 向指定页面提交数据
2008/07/23 PHP
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
PHP开发之用微信远程遥控服务器
2018/01/25 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
js对文章内容进行分页示例代码
2014/03/05 Javascript
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
AngularJS基础 ng-dblclick 指令用法
2016/08/01 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
JavaScript实现的select点菜功能示例
2017/01/16 Javascript
浅析bootstrap原理及优缺点
2017/03/19 Javascript
vue.js封装switch开关组件的操作
2020/10/26 Javascript
python通过zlib实现压缩与解压字符串的方法
2014/11/19 Python
总结Python编程中三条常用的技巧
2015/05/11 Python
Python利用IPython提高开发效率
2016/08/10 Python
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
python异常处理、自定义异常、断言原理与用法分析
2020/03/23 Python
在keras里面实现计算f1-score的代码
2020/06/15 Python
pandas实现导出数据的四种方式
2020/12/13 Python
css实例教程 一款纯css3实现的超炫动画背画特效
2014/11/05 HTML / CSS
纯css3实现的动画按钮的实例教程
2014/11/17 HTML / CSS
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
药剂专业自荐书
2014/06/20 职场文书
解除聘用合同证明书范本
2014/09/11 职场文书
单位在职证明书
2014/09/11 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
奖学金个人总结
2015/03/04 职场文书