numpy np.squeeze 用法

numpy np.squeeze 用法

numpy提供了numpy.squeeze(a, axis=None)函数,从数组的形状中删除单维条目。

其中a表示输入的数组。axis用于指定需要删除的维度,但是指定的维度必须为单维度,否则将会报错。

axis的取值可为None 或 int 或 tuple of ints,若axis为空时则删除所有单维度的条目。

import numpy as np

a = np.array([[[0], [1], [2]]])

b = np.squeeze(a)

c = np.squ

独热编码 One-Hot 编码

独热编码 One-Hot 编码

独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。

import numpy as np

correct = np.array([0, 1, 2, 3, 4, 5,

6])

n_data = len(correct)

# — 将 周一至周日 转换为独热编码格式 —

correct_data = np.zeros((n_data, 7))

print(c

numpy np.pad 填充 用法

numpy np.pad 填充 用法

np.pad(array,pad_width,mode,**kwargs)  # 返回填充后的numpy数组

array:要填充的numpy数组【要对谁进行填充】

pad_width:每个轴要填充的数据的数目【每个维度前、后各要填充多少个数据】

mode:填充的方式【采用哪种方式填充】

import numpy as np

# 一维

a = np.array([1, 2, 3, 4, 5])

print(“a.shape”, a.shape)

b = np.

numpy np.random.shuffle(x)和np.random.permutation(x)数组打乱随机排列

numpy np.random.shuffle(x)和np.random.permutation(x)数组打乱随机排列

import numpy as np

#将数组打乱随机排列 两种方法:

#1 np.random.shuffle(x):在原数组上进行,改变自身序列,无返回值。

x = np.arange(5)

print(x)

np.random.shuffle(x)

print(x)

#2 np.random.permutation(x):不在原数组上进行,返回新的数组,不改变自身数组。

y = np.arange(5)

print(y)

z = np.random.

numpy np.dot 向量点积和矩阵乘法

numpy np.dot 向量点积和矩阵乘法

#1. np.dot(a, b), 其中a为一维的向量,b为一维的向量,当然这里a和b都是np.ndarray类型的, 此时因为是一维的所以是向量点积。

import numpy as np

a = np.array([0, 1, 2])

b = np.array([1, 2, 3])

# 0*1 + 1*2 + 2*3

print(np.dot(a, b))

# 8

#2. np.dot(a, b), 其中a为二维矩阵,b为一维向量,这时b会被当做一维矩阵进行计算。

神经网络 激励函数

神经网络 激励函数

神经网络中的每个节点接受输入值,并将输入值传递给下一层,输入节点会将输入属性值直接传递给下一层(隐藏层或输出层)。在神经网络中,隐层和输出层节点的输入和输出之间具有函数关系,这个函数称为激励函数。

1、Sigmoid函数

%matplotlib inline

import numpy as np

import matplotlib.pylab as plt

def sigmoid_function(x):

return 1/(1 + np.exp(-x))

x = n

数据预处理 min-max标准化

数据预处理 min-max标准化

Min-Max normalization也称离差标准化法,是消除变量量纲和变异范围影响最简单的方法。对原始数据的线性变换,使结果落到[0,1]区间,转换函数如下:

import numpy as np

def normalize(x):

x_max = np.max(x)

x_min = np.min(x)

return (x – x_min) / (x_max

– x_min)

x = [14,6,7]

y = normalize(x)

print(

高斯分布的概率密度函数numpy.random.normal

高斯分布的概率密度函数numpy.random.normal

我们更经常会用到的np.random.randn(size)所谓标准正态分布(μ=0,σ=1),对应于numpy.random.normal(loc=0.0, scale=1.0, size=None)

loc:float 此概率分布的均值(对应着整个分布的中心centre)。

scale:float 此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)。

size:int or tuple of ints 输出的shape,默认为None,只输

导数微分积分三者关系

导数微分积分三者关系

1、导数是指 函数图像在某一点处的斜率,是纵坐标增量Δy和横坐标增量Δx在Δx>0时的比值。

2、微分是指 函数图像在某一点处的切线在横坐标取得增量Δx以后,纵坐标取得的增量,一般表示为dy。

3、积分是微分的逆运算,即知道了函数的导函数,反求原函数。

用SymPy库进行测试。

pip install sympy -i https://pypi.tuna.tsinghua.edu.cn/simple/

import sympy as sp

import num

初等函数的ln.lg.log对数函数

初等函数的ln.lg.log对数函数

这三种函数都是对数函数,对数函数的基本表示形式是:。式中a为对数的底数,y叫做真数。

如果a的x次方等于y(a>0,且a不等于1),那么数x叫做以a为底y的对数。

如果对数的底数为10,那么对数函数就可以写成“lg”,这种对数算法叫做“常用对数”。

如果对数的底数为e(自然常数),那么对数函数就可以写成“ln”,这种对数算法叫做“自然对数”。