Matplotlib ——(分解) Matrix Plot Library
矩阵 绘图 库
· 一个极其强大的Python绘图库。官网:matplotlib.org
· 很少的代码即可绘制2D/3D,静态/动态等各种图形
· 一般常用的是它的子包:PyPlot,提供类似MATLAB的绘图框架。
Matplotlib 的一般绘制流程:
准备数据 ——》 构建图像 ——》 显示图像
示例:vim Basic.py
1 # -*- coding:utf-8 -*- 2 3 #引入 Matplotlib 的分模块 PyPlot 4 import matplotlib.pyplot as plt 5 6 import numpy as np 7 8 #创建数据 9 x = np.linspace(-2, 2, 100) 10 #y = 3 * x + 4 11 y1 = 3 * x + 4 12 y2 = x ** 2 13 14 15 #创建图像 16 #plt.plot(x, y) 17 plt.plot(x, y1) 18 plt.plot(x, y2) 19 20 21 #显示图像 22 plt.show()
示例2:
1 # -*- coding:utf-8 -*- 2 3 #引入 Matplotlib 的分模块 PyPlot 4 import matplotlib.pyplot as plt 5 6 import numpy as np 7 8 #创建数据 9 x = np.linspace(-2, 2, 100) 10 y1 = 3 * x + 4 11 y2 = x ** 2 12 13 14 #构建第一张图 15 plt.figure(num=1, figsize=(7,6)) 16 plt.plot(x, y1) 17 plt.plot(x, y2, color="red", linewidth=3.0, linestyle="--") 18 19 #构建第二张图 20 plt.figure(num=2) 21 plt.plot(x, y2, color="green") 22 23 #显示图像 24 plt.show()
TensorFlow之梯度下降解决线性回归(7)
Operations(操作)
操作类别 操作举例
基本操作 split,rank,reshape,random_shuffle,slice,concat,...
逐元素的数学操作 add,subtract,multiply,div,greater,less,equal,exp,log,...
矩阵操作 eye,matmul,matrix_inverse,matrix_determinant,...
状态型操作 Variable,assign,assign_add,...
神经网络操作 sigmoid,relu,softmax,max_pool,dropout,conv2d,dynamic_rnn,...
保存/还原操作 train.saver.save,train.saver.restore
模型训练操作 train.GradientDescentOptimizer,train.AdamOptimizer,...
一些等价的操作
操作 等价操作
tf.add(a, b) a+b
tf.subtract(a, b) a-b
tf.multiply(a, b) a*b
tf.div(a, b) a/b
tf.mod(a,b) a%b
tf.square(a) a*a
# -*- coding:utf-8 -*-
"""
用梯度下降的优化方法来快速解决线性回归问题
"""
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
#构建数据
points_num = 100
vectors = []
#用 Numpy 的正态随机分布函数生成 100 个点
#这些点的 (x, y) 坐标值对应线性方程 y = 0.1 * x + 0.2
#权重 (Weight) 0.1, 偏差 (Bias) 0.2
for i in xrange(points_num):
x1 = np.random.normal(0.0, 0.66)
y1 = 0.1 * x1 + 0.2 + np.random.normal(0.0, 0.04)
vectors.append([x1, y1])
x_data = [v[0] for v in vectors] #真实的点的 x 的坐标
y_data = [v[1] for v in vectors] #真实的点的 y 的坐标
#图像 1: 展示100个随机数据点
plt.plot(x_data, y_data, "*", label="Original data") #红色星形的点
plt.title("Linear Regression using Gradient Descent")
plt.legend()
plt.show()