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 16 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
Apr 24 Python
python中闭包Closure函数作为返回值的方法示例
Dec 17 Python
详解Python3.6安装psutil模块和功能简介
May 30 Python
Python 判断奇数偶数的方法
Dec 20 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
Jun 04 Python
Django实现文件上传下载功能
Oct 06 Python
关于Numpy数据类型对象(dtype)使用详解
Nov 27 Python
Django 实现对已存在的model进行更改
Mar 28 Python
Python json读写方式和字典相互转化
Apr 18 Python
Django ModelForm组件原理及用法详解
Oct 12 Python
用Python实现职工信息管理系统
Dec 30 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
ftp类(example.php)
2006/10/09 PHP
两种php调用Java对象的方法
2006/10/09 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
2019/09/09 PHP
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
javascript 构造函数方式定义对象
2015/01/02 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
2015/11/24 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
js实现旋转的星空效果
2019/11/01 Javascript
详解Vue 单文件组件的三种写法
2020/02/19 Javascript
[08:29]DOTA2每周TOP10 精彩击杀集锦vol.7
2014/06/25 DOTA
python实现的重启关机程序实例
2014/08/21 Python
Python中optparser库用法实例详解
2018/01/26 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
2018/12/20 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
Python 绘制可视化折线图
2020/07/22 Python
通过代码实例了解Python sys模块
2020/09/14 Python
Myprotein蛋白粉美国官网:欧洲畅销运动营养品牌
2016/11/15 全球购物
Jo Malone美国官网:祖玛珑香水
2017/03/27 全球购物
青年教师典范事迹材料
2014/01/31 职场文书
英文求职信写作小建议
2014/02/16 职场文书
主题班会开场白
2015/06/01 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
Pytorch 如何实现常用正则化
2021/05/27 Python