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 相关文章推荐
MySQL中表的复制以及大型数据表的备份教程
Nov 25 Python
Python 2.7中文显示与处理方法
Jul 16 Python
对web.py设置favicon.ico的方法详解
Dec 04 Python
Ubuntu下Anaconda和Pycharm配置方法详解
Jun 14 Python
Python 实现数据结构-堆栈和队列的操作方法
Jul 17 Python
django实现用户注册实例讲解
Oct 30 Python
解决pyshp UnicodeDecodeError的问题
Dec 06 Python
Python3实现mysql连接和数据框的形成(实例代码)
Jan 17 Python
浅谈keras的深度模型训练过程及结果记录方式
Jan 24 Python
python编写一个会算账的脚本的示例代码
Jun 02 Python
django rest framework使用django-filter用法
Jul 15 Python
Python调用SMTP服务自动发送Email的实现步骤
Feb 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 年龄计算函数(精确到天)
2012/06/07 PHP
wamp安装后自定义配置的方法
2014/08/23 PHP
PHP实现CSV文件的导入和导出类
2015/03/24 PHP
PHP示例演示发送邮件给某个邮箱
2019/04/03 PHP
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
js控制文本框输入的字符类型方法汇总
2015/06/19 Javascript
JavaScript数组去重的两种方法推荐
2016/04/05 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
2017/03/25 jQuery
SpringMVC简单整合Angular2的示例
2017/07/31 Javascript
JavaScript编写的网页小游戏,很给力
2017/08/18 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
python读取html中指定元素生成excle文件示例
2014/04/03 Python
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
深入浅析python继承问题
2016/05/29 Python
详解python的几种标准输出重定向方式
2016/08/15 Python
使用Python写CUDA程序的方法
2017/03/27 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
2018/04/23 Python
python实现飞机大战微信小游戏
2020/03/21 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
Python shutil模块用法实例分析
2019/10/02 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
html5自带表单验证体验优化及提示气泡修改功能
2017/09/12 HTML / CSS
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
后勤岗位职责
2013/11/26 职场文书
公务员政审个人鉴定
2014/02/25 职场文书
音乐学专业求职信
2014/07/22 职场文书
户外活动总结
2015/02/04 职场文书
能让Python提速超40倍的神器Cython详解
2021/06/24 Python
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记
使用scrapy实现增量式爬取方式
2022/06/21 Python