《机器学习实战》NumPy函数库

NumPy函数库基础

>>> from numpy import *
>>> random.rand(4,4)
array([[ 0.74535323,  0.9731331 ,  0.24320585,  0.77917169],
       [ 0.82597332,  0.50762721,  0.56235416,  0.17493286],
       [ 0.49456655,  0.89247559,  0.32198986,  0.35571187],
       [ 0.00657507,  0.98809466,  0.30347264,  0.16599267]])   
# 产生的是4*4的随机数组,数组与矩阵的运算不同,想要得到矩阵还需要使用mat()函数将数组进行转换。
>>> randMat = mat(random.rand(4,4))    # 将得到的随机矩阵赋值给randMat
>>> randMat                            #输出矩阵
matrix([[ 0.06153882,  0.62020192,  0.28165063,  0.76017688],
        [ 0.75465893,  0.3767218 ,  0.43440454,  0.13498272],
        [ 0.18896218,  0.11315171,  0.18267606,  0.50232175],
        [ 0.02827114,  0.51110539,  0.10798217,  0.1608311 ]])
>>> randMat.I                            #.I操作符实现了矩阵求逆的运算
matrix([[ -9.31775448,  -1.10971455,  11.31935339,   9.61863989],
        [ -2.65515656,  -0.61466831,   2.56180922,   5.06435483],
        [ 19.4077398 ,   5.17490995, -23.67768247, -22.12273405],
        [ -2.95466136,  -1.32601723,   5.76630986,   3.28612935]])
>>> invRandMat = randMat.I
>>> randMat*invRandMat
matrix([[  1.00000000e+00,  -2.22044605e-16,   8.88178420e-16,
           0.00000000e+00],
        [  6.66133815e-16,   1.00000000e+00,  -1.55431223e-15,
          -8.88178420e-16],
        [  0.00000000e+00,   0.00000000e+00,   1.00000000e+00,
           0.00000000e+00],
        [  0.00000000e+00,  -1.11022302e-16,   0.00000000e+00,
           1.00000000e+00]])
#结果应为单位矩阵,由于计算机处理误差产生的结果。输入下面命令,可以得到误差值,函数eye()函数创建的是单位矩阵。
>>> myEye = randMat*invRandMat
>>> myEye - eye(4)
matrix([[  0.00000000e+00,  -2.22044605e-16,   8.88178420e-16,
           0.00000000e+00],
        [  6.66133815e-16,   2.22044605e-16,  -1.55431223e-15,
          -8.88178420e-16],
        [  0.00000000e+00,   0.00000000e+00,  -4.44089210e-16,
           0.00000000e+00],
        [  0.00000000e+00,  -1.11022302e-16,   0.00000000e+00,
          -4.44089210e-16]])

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值