神经网络做分类所遇见的一些函数

1  encoder = OneHotEncoder()

独热编码问题,例如一个长方体,具有三个属性,长宽高,长1宽2高3,如果编码为[1,2,3]及为标签编码,如果为[100][,010][001]及为独热编码,每一个单元中只能有一个1其余全是0.

2 Y = encoder.fit_transform(Y.reshape(Y.shape[0], 1))

fit(): Method calculates the parameters μ and σ and saves them as internal objects.
解释:简单来说,就是求得训练集X的均值,方差,最大值,最小值,这些训练集X固有的属性。

transform(): Method using these calculated parameters apply the transformation to a particular dataset.
解释:在fit的基础上,进行标准化,降维,归一化等操作(看具体用的是哪个工具,如PCA,StandardScaler等)。

fit_transform(): joins the fit() and transform() method for transformation of dataset.
解释:fit_transform是fit和transform的组合,既包括了训练又包含了转换。
transform()和fit_transform()二者的功能都是对数据进行某种统一处理(比如标准化~N(0,1),将数据缩放(映射)到某个固定区间,归一化,正则化等)

fit_transform(trainData)对部分数据先拟合fit,找到该part的整体指标,如均值、方差、最大值最小值等等(根据具体转换的目的),然后对该trainData进行转换transform,从而实现数据的标准化、归一化等等。

3  Y = encoder.fit_transform(Y.reshape(Y.shape[0], 1))

Y.shape(),结果为(参数,)形式

reshape()函数用于在不更改数据的情况下为数组赋予新形状。

形式:numpy.reshape(a, newshape, order=‘C’)

import numpy as np
import pandas as pd
c=np.array([[1,2,3],[4,5,6]])
c=c.reshape(2,-2)
pritn(c)
#结果:([1,2,3][4,5,6])

c=c.reshape(3,2)
pritn(c)
#结果:([1,2][3,4],[5,6])

如果其中一个是负数,会自动按照另一个参数进行匹配,比如c=c.reshape(2,-2),变成2行的数组,但是总共只有6个数据,自然只能形成2行3列的矩阵数据。

4 Y = Y.toarray().T

toarray()标志转换,将列表转换为数组

A.T:将矩阵A转置

5 Y = Y.astype('uint8')

astype实现变量类型转换.

Python中与数据类型相关函数及属性有如下三个:type/dtype/astype

type()    返回参数的数据类型    

dtype    返回数组中元素的数据类型    

astype()    对数据类型进行转换    

你可以使用 .astype() 方法在不同的数值类型之间相互转换。a.astype(int).dtype # 将 a 的数值类型从 float64 转换为 int,

在 Python 内建对象中,数组有三种形式:

  • 列表:[1, 2, 3]

  • 元组:(1, 2, 3, 4, 5)

  • 字典:{A:1, B:2}

uint8:表示8进制无符号数

int是带符号的,表示范围是:-2147483648到2147483648,即-2^31到2^31次方。

uint则是不带符号的,表示范围是:2^32即0到4294967295。

uint可以使用十进制,二进制,十六进制。

6  start_time = datetime.datetime.now()

utcnow():读取的时间一直都是系统的“世界标准时间”
now():读取的时间是系统的本地时间

7 z1 = np.dot(w1, X) + b1

dot函数是np中的矩阵乘法,假设 a,b为矩阵,a.dot(b) 等价于 np.dot(a,b) 。

8 Y = iris['species'].values

返回一个字典中所有的值

 a1 = np.tanh(z1)

numpy.tanh(x [,out])= ufunc'tanh'):此数学函数可帮助用户计算所有x(作为数组元素)的双曲正切值。

就是使用双曲正切作为激活函数使用

常见的有:

1 sigmoid

神经网络做分类所遇见的一些函数_第1张图片

2 tanh

 3  Relu

 

4. Leaky Relu激活函数

 

5. P-Relu(Parametric ReLU)激活函数

 6. Elu激活函数

神经网络做分类所遇见的一些函数_第2张图片

7. Gelu激活函数 

 8. Swich激活函数 

9. Selu激活函数 

神经网络做分类所遇见的一些函数_第3张图片

 

你可能感兴趣的:(python,开发语言)