精华内容
下载资源
问答
  • 日常学习中总是遇到数据需要处理等问题,这时候我们就可以借助numpy这个工具来做一些有意思事。1.生成随机数几种方式x=np.random.random(12) ###生成12个随机数,也可以写成np.random.rand(12)、np.random....

    日常学习中总是遇到数据需要处理等问题,这时候我们就可以借助numpy这个工具来做一些有意思的事。

    1.生成随机数的几种方式

    x=np.random.random(12) ###生成12个随机数,也可以写成np.random.rand(12)、

    np.random.random_integers、np.random.uniform、np.random.randint(np.random.randint(1,20,(3,4),dtype='int32'))、等形式

    x=np.random.rand(3,4)  ###生成3行4列12个随机数

    x=np.random.normal(0,1,shape=(3,4))   ###生成以0为均值,1为方差的3行4列12个随机数

    x=np.arange(12)         ####生成0到11的矩阵

    2、运算

    (1)常规运算

    对于加减就不多说,乘除多说两句,就是乘法需要注意矩阵的点乘(数学正常乘法和np.matmul(a,b.T)效果一样)和*乘(俗称数乘)。例子如下:

    除法的话记住   a/b表示带余数除法   a//b表示整除

    (2)广播机制

    广播”指的是在不同维度的数组之间进行算术运算的一种执行机制,其通过将数据矢量化进行高效的运算,而不是按照传统的对标量数据进行循环运算达到目的。

    “广播”的一个工作原则是:两个数组的维度应该相同(即要对一个二维数组进行广播,那么用来广播的数组也应该是二维的),并且只能有一个维度的长度允许不一样,且那个不一样的维度在用来广播的数组里面的长度应该为1(比如,对于一个(3,4)的二维数组,那么用来广播的数组必须是(3,1)或(1,4);比如对于一个三维的数组(3,4,5),用来广播的数组必须是(1,4,5)或(3,1,5)或(3,4,1)),这样子,我们才说两个数组是广播兼容的。广播会在沿着长度为1的那个维度进行扩散进行。(这里就知道,为什么我们需要一个长度为1的维度,其实就是广播进行扩散的维度)。例如:

    补充注意:

    numpy中a.shape为(m,)的数组在矩阵运算的过程中看作行向量处理,及a为1行m列。

    3、切片

    对于一维数组来说,python原生的list和numpy的array的切片操作都是相同的,记住一个规则arr_name[start: end: step]就可以了。同时需要注意下面几个特殊点:

    [:]表示复制源列表

    负的index表示,从后往前。-1表示最后一个元素。

    相对于一维数组而言,二维(多维)数组用的会更多。一般语法是arr_name[行操作, 列操作]

    示例:

    4、拼接

    Python中numpy数组的合并有很多方法,如np.append() 、np.concatenate() 、np.stack() 、np.hstack()(水平拼接) 、np.vstack()(垂直拼接) 、np.dstack()(按位拼接) 其中最泛用的是第一个和第二个。第一个可读性好,比较灵活,但是占内存大。第二个则没有内存占用大的问题。

    说了numpy的诸多好处,也来说下它的不足吧--不能自动求导。这时我们可以考虑ndarray,而ndarray 和 numpy 的多维数组非常类似。然而, NDArray 提供 GPU 计算和⾃动求梯度等更多功能,这些使得 NDArray 更加适合深度学习。具体学习可以参考mxnet.ndarray官网教程。

    参考链接:

    展开全文
  • Numpy内部解除了PythonPIL(全局解释器锁),运算效率极好,是大量机器学习框架基础库!Numpy简单创建数组import numpy as np# 创建简单列表a = [1, 2, 3, 4]# 将列表转换为数组b = np.array(b)Numpy查...

    Numpy

    NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!

    Numpy简单创建数组

    import numpy as np

    # 创建简单的列表

    a = [1, 2, 3, 4]

    # 将列表转换为数组

    b = np.array(b)

    Numpy查看数组属性

    数组元素个数

    b.size

    数组形状

    b.shape

    数组维度

    b.ndim

    数组元素类型

    b.dtype

    快速创建N维数组的api函数

    创建10行10列的数值为浮点1的矩阵

    array_one = np.ones([10, 10])

    创建10行10列的数值为浮点0的矩阵

    array_zero = np.zeros([10, 10])

    从现有的数据创建数组

    array(深拷贝)

    asarray(浅拷贝)

    Numpy创建随机数组np.random

    均匀分布

    np.random.rand(10, 10)创建指定形状(示例为10行10列)的数组(范围在0至1之间)

    np.random.uniform(0, 100)创建指定范围内的一个数

    np.random.randint(0, 100) 创建指定范围内的一个整数

    正态分布

    给定均值/标准差/维度的正态分布np.random.normal(1.75, 0.1, (2, 3))

    数组的索引, 切片

    # 正态生成4行5列的二维数组

    arr = np.random.normal(1.75, 0.1, (4, 5))

    print(arr)

    # 截取第1至2行的第2至3列(从第0行算起)

    after_arr = arr[1:3, 2:4]

    print(after_arr)

    数组索引

    改变数组形状(要求前后元素个数匹配)

    改变数组形状

    print("reshape函数的使用!")

    one_20 = np.ones([20])

    print("-->1行20列

    print (one_20)

    one_4_5 = one_20.reshape([4, 5])

    print("-->4行5列

    print (one_4_5)

    Numpy计算(重要)

    条件运算

    原始数据

    条件判断

    import numpy as np

    stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])

    stus_score > 80

    三目运算

    import numpy as np

    stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])

    np.where(stus_score < 80, 0, 90)

    统计运算

    指定轴最大值amax(参数1: 数组; 参数2: axis=0/1; 0表示列1表示行)

    求最大值

    stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])

    # 求每一列的最大值(0表示列)

    print("每一列的最大值为:")

    result = np.amax(stus_score, axis=0)

    print(result)

    print("每一行的最大值为:")

    result = np.amax(stus_score, axis=1)

    print(result)

    指定轴最小值amin

    求最小值

    stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])

    # 求每一行的最小值(0表示列)

    print("每一列的最小值为:")

    result = np.amin(stus_score, axis=0)

    print(result)

    # 求每一行的最小值(1表示行)

    print("每一行的最小值为:")

    result = np.amin(stus_score, axis=1)

    print(result)

    指定轴平均值mean

    求平均值

    stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])

    # 求每一行的平均值(0表示列)

    print("每一列的平均值:")

    result = np.mean(stus_score, axis=0)

    print(result)

    # 求每一行的平均值(1表示行)

    print("每一行的平均值:")

    result = np.mean(stus_score, axis=1)

    print(result)

    方差std

    求方差

    stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])

    # 求每一行的方差(0表示列)

    print("每一列的方差:")

    result = np.std(stus_score, axis=0)

    print(result)

    # 求每一行的方差(1表示行)

    print("每一行的方差:")

    result = np.std(stus_score, axis=1)

    print(result)

    数组运算

    数组与数的运算

    加法

    stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])

    print("加分前:")

    print(stus_score)

    # 为所有平时成绩都加5分

    stus_score[:, 0] = stus_score[:, 0]+5

    print("加分后:")

    print(stus_score)

    乘法

    stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])

    print("减半前:")

    print(stus_score)

    # 平时成绩减半

    stus_score[:, 0] = stus_score[:, 0]*0.5

    print("减半后:")

    print(stus_score)

    数组间也支持加减乘除运算,但基本用不到

    image.png

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

    b = np.array([10, 20, 30, 40])

    c = a + b

    d = a - b

    e = a * b

    f = a / b

    print("a+b为", c)

    print("a-b为", d)

    print("a*b为", e)

    print("a/b为", f)

    矩阵运算np.dot()(非常重要)

    根据权重计算成绩

    计算规则

    (M行, N列) * (N行, Z列) = (M行, Z列)

    矩阵计算总成绩

    stus_score = np.array([[80, 88], [82, 81], [84, 75], [86, 83], [75, 81]])

    # 平时成绩占40% 期末成绩占60%, 计算结果

    q = np.array([[0.4], [0.6]])

    result = np.dot(stus_score, q)

    print("最终结果为:")

    print(result)

    矩阵拼接

    矩阵垂直拼接

    垂直拼接

    print("v1为:")

    v1 = [[0, 1, 2, 3, 4, 5],

    [6, 7, 8, 9, 10, 11]]

    print(v1)

    print("v2为:")

    v2 = [[12, 13, 14, 15, 16, 17],

    [18, 19, 20, 21, 22, 23]]

    print(v2)

    # 垂直拼接

    result = np.vstack((v1, v2))

    print("v1和v2垂直拼接的结果为")

    print(result)

    矩阵水平拼接

    水平拼接

    print("v1为:")

    v1 = [[0, 1, 2, 3, 4, 5],

    [6, 7, 8, 9, 10, 11]]

    print(v1)

    print("v2为:")

    v2 = [[12, 13, 14, 15, 16, 17],

    [18, 19, 20, 21, 22, 23]]

    print(v2)

    # 垂直拼接

    result = np.hstack((v1, v2))

    print("v1和v2水平拼接的结果为")

    print(result)

    Numpy读取数据np.genfromtxt

    csv文件以逗号分隔数据

    读取csv格式的文件

    如果数值据有无法识别的值出现,会以nan显示,nan相当于np.nan,为float类型.

    展开全文
  • Python中机器学习的Numpy指南由于了解Numpy是数据预处理的起点,也是后来实施ML算法的起点,因此您可以成为即将在不久的将来学习机器学习或刚刚开始并希望获得更多实践经验的人ML的Numpy。因为我们大多数人都倾向于...

    Python中机器学习的Numpy指南

    由于了解Numpy是数据预处理的起点,也是后来实施ML算法的起点,因此您可以成为即将在不久的将来学习机器学习或刚刚开始并希望获得更多实践经验的人ML的Numpy。

    因为我们大多数人都倾向于忘记(对于已经实施了ML算法的人而言),各种库函数最终会使用纯粹的逻辑为预先存在的函数编写代码,这在这种情况下既浪费时间又浪费精力,如果人们了解机器学习各个库之间的的细微差别,有效合理的选择库函数解决实际中的编码问题。就变得至关重要。因此,Numpy作为机器学习必不可少的库之一。同样也要有它独有的定位。

    热门AI文章

    本文目的

    在撰写本文时,我的主要重点是使它成为Numpy的快速入门,以供那些有使用该库经验但需要快速回顾的人参考。

    Numpy库的定位

    Numpy是Python编程语言的库,它增加了对大型多维数组和矩阵的支持,以及用于在这些数组上进行操作的大量高级数学函数的集合。

    核心操作

    4.1 创建向量

    在这里,我们使用Numpy创建一维数组,然后将其称为向量。

    #Load Library

    import numpy as np

    #将向量创建为行

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

    #将向量创建为列

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

    4.2 建立矩阵

    我们在Numpy中创建一个二维数组,并将其称为矩阵。它包含2行3列。

    #Load Library

    importnumpy asnp

    #Create a Matrix

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

    print(matrix)

    4.3 创建稀疏矩阵(Sparse Matrix)

    给定的数据具有非常少的非零值,您想要有效地表示它。

    机器学习中的一种常见情况是拥有大量数据。但是数据中的大多数元素都是零。例如,假设有一个矩阵,其中的列是Amazon上的所有产品,而行则表示给定的用户是否曾经购买过该商品。就像您可能已经猜到的那样,到现在为止甚至只有一次都没有购买过许多产品,因此绝大多数元素将为零。

    稀疏矩阵仅存储非零元素,并假设所有其他值将为零,从而节省了大量计算量。

    #Load Library

    importnumpy asnp

    #Create a Matrix

    matrix = np.array([[0,0],[0,1],[3,0]])

    print(matrix)

    #Create Compressed Sparse Row(CSR) matrix

    matrix_sparse = sparse.csr_matrix(matrix)

    print(matrix_sparse)

    4.4 选择元素

    当您需要选择向量或矩阵中的一个或多个元素时

    #Load Library

    import numpy as np

    #Create a vector as a Row

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

    #Create a Matrix

    matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

    print(matrix)

    #Select 3rd element of Vector

    print(vector_row[2])

    #Select 2nd row 2nd column

    print(matrix[1,1])

    #Select all elements of a vector

    print(vector_row[:])

    #Select everything up to and including the 3rd element

    print(vector_row[:3])

    #Select the everything after the 3rd element

    print(vector_row[3:])

    #Select the last element

    print(vector[-1])

    #Select the first 2 rows and all the columns of the matrix

    print(matrix[:2,:])

    #Select all rows and the 2nd column of the matrix

    print(matrix[:,1:2])

    4.5 描述矩阵

    当您想了解矩阵的形状大小和尺寸时。

    import numpy as np

    #Create a Matrix

    matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

    #View the Number of Rows and Columns

    print(matrix.shape)

    #View the number of elements (rows*columns)

    print(matrix.size)

    #View the number of Dimensions(2 in this case)

    print(matrix.ndim)

    4.6 操作元素

    您想将某些函数应用于数组中的多个元素。

    Numpy的vectorize类将函数转换为可以应用于数组或数组切片中的多个元素的函数。

    #Load Library

    importnumpy asnp

    #Create a Matrix

    matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

    print(matrix)

    #Create a function that adds 100 to something

    add_100 =lambdai: i+100

    #Convert it into a vectorized function

    vectorized_add_100= np.vectorize(add_100)

    #Apply function to all elements in matrix

    print(vectorized_add_100(matrix))

    4.7 查找最大值和最小值

    我们使用Numpy的max和min函数:

    #Load Library

    import numpy as np

    #创建一个矩阵

    matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

    print(matrix)

    #返回max element

    print(np.max(matrix))

    #返回最小元素

    print(np.min(matrix))

    #查找每一列中的max元素

    print(np.max(matrix,axis = 0))

    #查找每行中的最大元素

    print(np.max(matrix,axis = 1))

    4.8 计算平均值,方差和标准偏差

    #Load Library

    import numpy as np

    #Create a Matrix

    matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

    print(matrix)

    #Mean

    print(np.mean(matrix))

    #Standard Dev.

    print(np.std(matrix))

    #Variance

    print(np.var(matrix))

    4.9 重塑数组

    当您想改变数组的形状(更改行数和列数)而不更改元素时。

    #Load Library

    import numpy as np

    #Create a Matrix

    matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

    print(matrix)

    #Reshape

    print(matrix.reshape(9,1))

    #Here -1 says as many columns as needed and 1 row

    print(matrix.reshape(1,-1))

    #If we provide only 1 value Reshape would return a 1-d array of that length

    print(marix.reshape(9))

    #We can also use the Flatten method to convert a matrix to 1-d array

    print(matrix.flatten())

    4.10 矩阵的转置

    #Load Library

    import numpy as np

    #Create a Matrix

    matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

    print(matrix)

    #Transpose the matrix

    print(matrix.T)

    4.11 查找矩阵的行列式和秩

    矩阵的秩是其行或列所跨越的向量空间的维数。

    #Load Library

    import numpy as np

    #Create a Matrix

    matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

    print(matrix)

    #Calculate the Determinant

    print(np.linalg.det(matrix))

    #Calculate the Rank

    print(np.linalg.matrix_rank(matrix))

    4.12 计算矩阵的对角线

    提取矩阵的对角线元素

    #Load Library

    import numpy as np

    #Create a Matrix

    matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

    print(matrix)

    #Print the Principal diagonal

    print(matrix.diagonal())

    #Print the diagonal one above the Principal diagonal

    print(matrix.diagonal(offset=1))

    #Print the diagonal one below Principal diagonal

    print(matrix.diagonal(offset=-1))

    4.13 计算矩阵的trace

    矩阵的迹线是矩阵主对角线上的元素之和。

    #Load Library

    import numpy as np

    #Create a Matrix

    matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

    print(matrix)

    #Print the Trace

    print(matrix.trace())

    4.14 查找矩阵的特征值和特征向量

    特征向量在机器学习库中被广泛使用。直观地给出由矩阵A表示的线性变换,特征向量是应用该变换时仅在比例上(而不是方向)变化的向量。

    Av = Kv

    这里A是一个方矩阵,K包含特征值,v包含特征向量。

    #Load Library

    importnumpy asnp

    #Create a Matrix

    matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

    print(matrix)

    # Calculate the Eigenvalues and Eigenvectors of that Matrix

    eigenvalues ,eigenvectors=np.linalg.eig(matrix)

    print(eigenvalues)

    print(eigenvectors)

    4.15 计算矩阵的点积

    #Load Library

    import numpy as np

    #Create vector-1

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

    #Create vector-2

    vector_1 = np.array([ 4,5,6 ])

    #Calculate Dot Product

    print(np.dot(vector_1,vector_2))

    #Alternatively you can use @ to calculate dot products

    print(vector_1 @ vector_2)

    4.16 矩阵的四则运算

    #Load Library

    import numpy as np

    #Create Matrix-1

    matrix_1 = np.array([[1,2,3],[4,5,6],[7,8,9]])

    #Create Matrix-2

    matrix_2 = np.array([[7,8,9],[4,5,6],[1,2,3]])

    #Add the 2 Matrices

    print(np.add(matrix_1,matrix_2))

    #Subtraction

    print(np.subtract(matrix_1,matrix_2))

    #Multiplication(Element wise, not Dot Product)

    print(matrix_1*matrix_2)

    4.17 求矩阵的逆运算

    #Load Library

    import numpy as np

    #Create a Matrix

    matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

    print(matrix)

    #Calculate its inverse

    print(np.linalg.inv(matrix))

    4.18 产生随机数

    Numpy提供了多种生成随机数的方法。

    此外,有时返回相同的随机数以获得可预测的,可重复的结果可能会很有用。我们可以通过设置伪随机数生成器的“种子”(整数)来实现。具有相同种子的随机过程将始终产生相同的结果。

    #Load Library

    import numpy as np

    #Set seed

    np.random.seed(1)

    #Generate 3 random integers b/w 1 and 10

    print(np.random.randint(0,11,3))

    #Draw 3 numbers from a normal distribution with mean 1.0 and std 2.0

    print(np.random.normal(1.0,2.0,3))

    因此,这几乎涵盖了您使用Python启动机器学习之旅所需的所有标准Numpy操作。对于其他人,我希望这对您在该领域的现有知识有所帮助。

    展开全文
  • 机器学习的必不可少工具。本文是在学习了Numpy数值计算课程之后,所做些许笔记。文章目录Numpy生成随机数Numpy数学函数Numpy数据修约Numpy数组数学运算Numpy生成随机数生成随机数几种方法rand(d0, d1, ..., ...

    Numpy库是支持 Python 语言的数值计算第三方库,其拥有强大的多维数组处理与矩阵运算能力;是机器学习的必不可少的工具。本文是在学习了Numpy数值计算课程之后,所做的些许笔记。

    文章目录

    Numpy生成随机数Numpy数学函数Numpy数据修约Numpy数组的数学运算

    Numpy生成随机数

    生成随机数几种方法

    rand(d0, d1, ..., dn)

    //[0, 1) 区间随机数据填充,这些数据均匀分布

    示例:

    np.random.rand(2,2)

    结果:

    array([[0.43496349, 0.04208836],

    [0.30749565, 0.71794792]])

    randn(d0, d1, ..., dn)

    //从标准正态分布中返回一个或多个样本值

    示例:

    np.random.randn(2,2)

    一种结果:

    array([[ 1.84516611, -0.75413734],

    [ 0.93102001, -1.34265842]])

    标准正态分布

    randint(low, high, size, dtype)

    //生成 [low, high) 的随机整数,半开半闭区间。

    示例:

    np.random.randint(2, 5, (2,2))

    结果:

    array([[4, 2],

    [3, 4]])

    random_sample(size)

    //在 [0, 1) 区间内生成随机浮点数

    示例:

    np.random.random_sample((2,2))

    结果:

    array([[0.3032088 , 0.15382612],

    [0.56393681, 0.29961032]])

    choice(a, size, replace, p)

    //在给定的数组里随机抽取几个值

    示例:

    np.random.choice(6,3)

    结果:

    array([1, 4, 5])

    //注意,必须为一维数组:若np.random.choice(np.arange(6).reshape(3,2), 3),则报错 a must be 1-dimensional

    概率密度分布

    //使用时查阅即可

    numpy.random.beta(a,b,size):从 Beta 分布中生成随机数。

    numpy.random.binomial(n, p, size):从二项分布中生成随机数。

    numpy.random.chisquare(df,size):从卡方分布中生成随机数。

    numpy.random.dirichlet(alpha,size):从 Dirichlet 分布中生成随机数。

    numpy.random.exponential(scale,size):从指数分布中生成随机数。

    numpy.random.f(dfnum,dfden,size):从 F 分布中生成随机数。

    numpy.random.gamma(shape,scale,size):从 Gamma 分布中生成随机数。

    numpy.random.geometric(p,size):从几何分布中生成随机数。

    numpy.random.gumbel(loc,scale,size):从 Gumbel 分布中生成随机数。

    numpy.random.hypergeometric(ngood, nbad, nsample, size):从超几何分布中生成随机数。

    numpy.random.laplace(loc,scale,size):从拉普拉斯双指数分布中生成随机数。

    numpy.random.logistic(loc,scale,size):从逻辑分布中生成随机数。

    numpy.random.lognormal(mean,sigma,size):从对数正态分布中生成随机数。

    numpy.random.logseries(p,size):从对数系列分布中生成随机数。

    numpy.random.multinomial(n,pvals,size):从多项分布中生成随机数。

    numpy.random.multivariate_normal(mean, cov, size):从多变量正态分布绘制随机样本。

    numpy.random.negative_binomial(n, p, size):从负二项分布中生成随机数。

    numpy.random.noncentral_chisquare(df,nonc,size):从非中心卡方分布中生成随机数。

    numpy.random.noncentral_f(dfnum, dfden, nonc, size):从非中心 F 分布中抽取样本。

    numpy.random.normal(loc,scale,size):从正态分布绘制随机样本。

    numpy.random.pareto(a,size):从具有指定形状的 Pareto II 或 Lomax 分布中生成随机数。

    numpy.random.poisson(lam,size):从泊松分布中生成随机数。

    numpy.random.power(a,size):从具有正指数 a-1 的功率分布中在 0,1 中生成随机数。

    numpy.random.rayleigh(scale,size):从瑞利分布中生成随机数。

    numpy.random.standard_cauchy(size):从标准 Cauchy 分布中生成随机数。

    numpy.random.standard_exponential(size):从标准指数分布中生成随机数。

    numpy.random.standard_gamma(shape,size):从标准 Gamma 分布中生成随机数。

    numpy.random.standard_normal(size):从标准正态分布中生成随机数。

    numpy.random.standard_t(df,size):从具有 df 自由度的标准学生 t 分布中生成随机数。

    numpy.random.triangular(left,mode,right,size):从三角分布中生成随机数。

    numpy.random.uniform(low,high,size):从均匀分布中生成随机数。

    numpy.random.vonmises(mu,kappa,size):从 von Mises 分布中生成随机数。

    numpy.random.wald(mean,scale,size):从 Wald 或反高斯分布中生成随机数。

    numpy.random.weibull(a,size):从威布尔分布中生成随机数。

    numpy.random.zipf(a,size):从 Zipf 分布中生成随机数。

    Numpy数学函数

    //三角函数

    numpy.sin(x):三角正弦。

    numpy.cos(x):三角余弦。

    numpy.tan(x):三角正切。

    numpy.arcsin(x):三角反正弦。

    numpy.arccos(x):三角反余弦。

    numpy.arctan(x):三角反正切。

    numpy.hypot(x1,x2):直角三角形求斜边。

    numpy.degrees(x):弧度转换为度。

    numpy.radians(x):度转换为弧度。

    numpy.deg2rad(x):度转换为弧度。

    numpy.rad2deg(x):弧度转换为度。

    示例:

    np.radians(180)

    结果:

    3.141592653589793

    //双曲函数

    numpy.sinh(x):双曲正弦。

    numpy.cosh(x):双曲余弦。

    numpy.tanh(x):双曲正切。

    numpy.arcsinh(x):反双曲正弦。

    numpy.arccosh(x):反双曲余弦。

    numpy.arctanh(x):反双曲正切。

    示例:

    np.sinh(6)

    结果:

    201.71315737027922

    Numpy数据修约

    //指在进行具体的数字运算前, 按照一定的规则确定一致的位数, 然后舍去某些数字后面多余的尾数的过程。比如四舍五入。

    numpy.around(a):平均到给定的小数位数。

    numpy.round_(a):将数组舍入到给定的小数位数。

    numpy.rint(x):修约到最接近的整数。

    numpy.fix(x, y):向 0 舍入到最接近的整数。

    numpy.floor(x):返回输入的底部(标量 x 的底部是最大的整数 i)。

    numpy.ceil(x):返回输入的上限(标量 x 的底部是最小的整数 i).

    numpy.trunc(x):返回输入的截断值。

    示例:

    a = np.random.randn(6)

    np.rint(a)

    结果:

    array([ 0.92754855,  0.27373658, -0.9136258 , -2.01339339, -1.51977432,

    0.48426261])

    array([ 1.,  0., -1., -2., -2.,  0.])

    Numpy数组的数学运算

    //求和、求积、差分

    numpy.prod(a, axis, dtype, keepdims):返回指定轴上的数组元素的乘积。

    numpy.sum(a, axis, dtype, keepdims):返回指定轴上的数组元素的总和。

    numpy.nanprod(a, axis, dtype, keepdims):返回指定轴上的数组元素的乘积, 将 NaN 视作 1。

    numpy.nansum(a, axis, dtype, keepdims):返回指定轴上的数组元素的总和, 将 NaN 视作 0。

    numpy.cumprod(a, axis, dtype):返回沿给定轴的元素的累积乘积。

    numpy.cumsum(a, axis, dtype):返回沿给定轴的元素的累积总和。

    numpy.nancumprod(a, axis, dtype):返回沿给定轴的元素的累积乘积, 将 NaN 视作 1。

    numpy.nancumsum(a, axis, dtype):返回沿给定轴的元素的累积总和, 将 NaN 视作 0。

    numpy.diff(a, n, axis):计算沿指定轴的第 n 个离散差分。

    numpy.ediff1d(ary, to_end, to_begin):数组的连续元素之间的差异。

    numpy.gradient(f):返回 N 维数组的梯度。

    numpy.cross(a, b, axisa, axisb, axisc, axis):返回两个(数组)向量的叉积。

    numpy.trapz(y, x, dx, axis):使用复合梯形规则沿给定轴积分。

    示例:

    a = np.arange(6).reshape(2,3)

    np.sum(a,0)

    结果:

    array([[0, 1, 2],

    [3, 4, 5]])

    array([3, 5, 7])

    //指数与对数求解

    numpy.exp(x):计算输入数组中所有元素的指数。

    numpy.log(x):计算自然对数。

    numpy.log10(x):计算常用对数。

    numpy.log2(x):计算二进制对数。

    //

    numpy.add(x1, x2):对应元素相加。

    numpy.reciprocal(x):求倒数 1/x。

    numpy.negative(x):求对应负数。

    numpy.multiply(x1, x2):求解乘法。

    numpy.divide(x1, x2):相除 x1/x2。

    numpy.power(x1, x2):类似于 x1^x2。

    numpy.subtract(x1, x2):减法。

    numpy.fmod(x1, x2):返回除法的元素余项。

    numpy.mod(x1, x2):返回余项。

    numpy.modf(x1):返回数组的小数和整数部分。

    numpy.remainder(x1, x2):返回除法余数。

    //求解矩阵和向量积

    numpy.dot(a, b):求解两个数组的点积。

    numpy.vdot(a, b):求解两个向量的点积。

    numpy.inner(a, b):求解两个数组的内积。

    numpy.outer(a, b):求解两个向量的外积。

    numpy.matmul(a, b):求解两个数组的矩阵乘积。

    numpy.tensordot(a, b):求解张量点积。

    numpy.kron(a, b):计算 Kronecker 乘积。

    //其他的一些数学方法

    numpy.angle(z, deg):返回复参数的角度。

    numpy.real(val):返回数组元素的实部。

    numpy.imag(val):返回数组元素的虚部。

    numpy.conj(x):按元素方式返回共轭复数。

    numpy.convolve(a, v, mode):返回线性卷积。

    numpy.sqrt(x):平方根。

    numpy.cbrt(x):立方根。

    numpy.square(x):平方。

    numpy.absolute(x):绝对值, 可求解复数。

    numpy.fabs(x):绝对值。

    numpy.sign(x):符号函数。

    numpy.maximum(x1, x2):最大值。

    numpy.minimum(x1, x2):最小值。

    numpy.nan_to_num(x):用 0 替换 NaN。

    numpy.interp(x, xp, fp, left, right, period):线性插值。

    //矩阵运算方法

    numpy.linalg.cholesky(a):Cholesky 分解。

    numpy.linalg.qr(a ,mode):计算矩阵的 QR 因式分解。

    numpy.linalg.svd(a ,full_matrices,compute_uv):奇异值分解。

    numpy.linalg.eig(a):计算正方形数组的特征值和右特征向量。

    numpy.linalg.eigh(a, UPLO):返回 Hermitian 或对称矩阵的特征值和特征向量。

    numpy.linalg.eigvals(a):计算矩阵的特征值。

    numpy.linalg.eigvalsh(a, UPLO):计算 Hermitian 或真实对称矩阵的特征值。

    numpy.linalg.norm(x ,ord,axis,keepdims):计算矩阵或向量范数。

    numpy.linalg.cond(x ,p):计算矩阵的条件数。

    numpy.linalg.det(a):计算数组的行列式。

    numpy.linalg.matrix_rank(M ,tol):使用奇异值分解方法返回秩。

    numpy.linalg.slogdet(a):计算数组的行列式的符号和自然对数。

    numpy.trace(a ,offset,axis1,axis2,dtype,out):沿数组的对角线返回总和。

    numpy.linalg.solve(a, b):求解线性矩阵方程或线性标量方程组。

    numpy.linalg.tensorsolve(a, b ,axes):为 x 解出张量方程 a x = b

    numpy.linalg.lstsq(a, b ,rcond):将最小二乘解返回到线性矩阵方程。

    numpy.linalg.inv(a):计算逆矩阵。

    numpy.linalg.pinv(a ,rcond):计算矩阵的(Moore-Penrose)伪逆。

    numpy.linalg.tensorinv(a ,ind):计算 N 维数组的逆。

    展开全文
  • 原标题:【Data Mining】机器学习三剑客之Numpy常用用法总结作者:陈老师个人公众号:接地气学堂陈老师新课:商业分析全攻略 https://edu.hellobi.com/course/308 用数据分析方法解决商业问题,目前已经100+学员加入...
  • Numpy是专门为数据科学或者数据处理相关需求设计一个高效组件。听起来是不是挺绕口,其实简单来说就2个方面,一是Numpy是专门处理数据,二是Numpy在处理数据方面很牛逼(肯定比Python原生组件牛逼,否则也...
  • Numpy数组形状处理改变数组形状可以通过多个函数改变数组形状import numpy as npa = np.ones((3,4))print(a.ravel()) #将数组转化为一维数组'''array([ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])'''a...
  • (一)前言 1、总结大数据、人工智能机器学习中的数学知识2、已经调试通过直接运用,减少查找资料的时间3、您的关注就是对我对大的支持,也是对科技的支持 机器学习的核心技术是以 数学和数据结构算法为主的基础学科,...
  • 写在前面:机器学习者不知道numpy的话,那就不能称为机器学习者;上网找了半天也没看到完整的numpy的相关教程,冲动之下自己写一个,就这么任性;在很多的讲解看到都在说的这句话:在NumPy维度(dimensions)叫做...
  • 1)%run# 机械学习中主要应用两个魔法命令:%run、%timeit# 魔法命令格式:% + 命令# %run:将模块引用并在Jupyter Notebook中执行(这是与import区别),模块被引用后,其内部函数可以在Jupyter Notebook中直接被...
  • 两大魔法命令(%run与%timeit)%run%表示run命令后面只能由一个操作语句,如有两个操作语句甚至是更多,可以按照语句个数添加相应%%run用于对于文件导入,文件主要是python语言文件例如:%run machinestudy/...
  • 本文列举了在机器学习中的特征工程相关知识点:将原始数据映射到特征、良好特征的特点以及两类特征的组合。>>加入极市CV技术交流群,走在计算机视觉的最前沿结构总览特征工程传统编程的关注点是代码。在机器...
  • 1. mat()mat()与array的区别:mat是矩阵,数据必须是2维,是array的子集,包含array的所有特性,所做运算都是针对矩阵来进行array是数组,数据可以是多维,所做运算都是针对数组来进行(1) 数据能表示...
  • Pandas 快速入门笔记Xu An 2018-4-6######Numpy部分######1、创建arrayimportnumpyasnpa=np.array([[2,23,4],[21,3,43],[34,43,234]],dtype=np.int32)#创建矩阵使用dtype进行数组内容格式规定,默认为int64,通常...
  • 作者 | Jason Brownlee 译者 | Sambodhi 策划&编辑 | 刘燕 机器学习涉及到机器学习算法和模型使用。对于初学者来说,这很容易让人混淆,因为“机器学习算法”经常与“机器...在本文,我将阐述机器学习...
  • 作者 | Walker编辑 | 磐石出品 | 磐创AI技术团队【磐创AI导读】:本文主要介绍了常用一些机器学习中常用优化算法。想要学习更多机器学习知识,欢迎大家点击上方蓝字关注我们:磐创AI。在机器学习世界中,...
  • Numpy简单创建数组importnumpyasnp#创建简单列表a=[1,2,3,4]#将列表转换为数组b=np.array(b)Numpy查看数组属性数组元素个数b.size数组形状b.shape数组维度b.ndim数组元素类型b.dtype快速创建N维数组api函数创建...
  • Numpy(Numerical Python简称)是高性能科学计算和数据分析基础包。它是所有高级工具构建基础,Pandas就是构建在Numpy之上。Numpy最重要一个特点就是N维数组对象(ndarray),其是一个快速而灵活大数据集容器...
  • 机器学习项目,关注点变成了特征表示。也就是说,开发者通过添加和改善特征来调整模型。“Garbage in, garbage out”。对于一个机器学习问题,数据和特征往往决定了结果上限,而模型、算法选择及优化则是在...
  • 机器学习numpy.array中的运算 矩阵的运算 乘法 import numpy as np import array n = 10 L = [i for i in range(n)] print(L) #乘法,不能是2*L,这个是将L中的两个元素首尾相接起来。 print(2*L) A = [] for ...
  • 文章首发于我个人博客【Data Mining】机器学习三剑客之Numpy常用算法总结​blog.csdn.net喜欢手机观看朋友也可以在我个人公号:AI蜗牛车 获取。废话不多说直接上干货一、前言 玩数据分析、数据挖掘、AI...
  • 机器学习python的numpy的小技巧

    千次阅读 2017-04-09 21:44:36
    ———最近在忙面试,这个东西得搁浅一段时间了————–不管是matlab还是python实现机器学习算法,也就是matrix或者array操作时都有一些很好用的API,numpy的reference就有1500+页,matlab的操作也有很多,想把所有的...
  • 机器学习的必不可少工具。本文是在学习了Numpy数值计算课程之后,所做些许笔记。 文章目录Numpy生成随机数Numpy数学函数Numpy数据修约Numpy数组数学运算 Numpy生成随机数 生成随机数几种方法 rand(d0, d1, ...
  • 本文介绍在机器学习中常用一些包——Numpy以及matplotlib。 Numpy主要是封装了一些向量、矩阵运行操作,而matplotlib主要用于画图。 文章目录引言NumpyNumpy基础创建Numpy数据和矩阵 Numpy Numpy中核心数据结构...
  • numpy的主要对象是多维数组,数组中元素是同一种的(通常是数字)。numpy中的数组对象叫做ndarray,通常称为数组。 numpy.array和标准Python库类array.array并不相同,后者只处理一维数组和提供少量功能。 在numpy...
  • Numpy.array相较于Python原生List的性能优势 No.2. 将向量或矩阵中的每个元素 + 1 No.2. 将向量或矩阵中的所有元素 - 1 No.3. 将向量或矩阵中的所有元素 * 2 No.4. 将向量或矩阵中的所有元素 / 2 或 //...
  • import numpy as np import random #处理数值型数据 #使用numpy生成数组,类型为ndarray t1=np.array([1,2,3]) print(t1) print(type(t1)) t2=np.array(range(10)) ...'在2行3列所有元素都为10' ...
  • 机器学习入门4_numpy的运算与聚合 目录机器学习入门4_numpy的运算与聚合1. numpy数组的运算1.1【回顾】python中List的运算1.2 numpy中array的运算1.2.1 数组自身和数组与数字的运算1.2.2 array的矩阵运算2. numpy...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 339
精华内容 135
关键字:

机器学习中的numpy的array