• <利用python进行数据分析>笔记 4.5~4.8


      今年项目很多,人手又不够,市场销售又不时催新功能,每个人手上都赶着几个项目的任务。领导说你们要抓紧呀,要提需求呀,我想说的是,提加班给加班费能行吗?

    4.5 线性代数

    dot 函数是矩阵的点乘积,就是有两个合适的矩阵 a和b,a的第n行每一个元素乘b的n列的每一个元素,积的和作为结果矩阵的一个元素

    比如 a = [[1,2],

        [3,4]]

      b = [[1,1],

        [2,2]]

      c =a.dot(b)

           c = [[5,5].

        [11,11]]

    也可以 a@b

    numpy.linalg 里有inv 函数就是求矩阵的逆矩阵

    你矩阵就是 如果 a@b = b@a = E,存在E的话,那么a和b互为逆矩阵(这个好像是大学线性代数的知识,基本忘光了,好像那时候考的还不错的呀)

    b = inv(a),如果不报错,就说明存在b作为a的逆矩阵

    inv函数求出的值,可能是精度很高的浮点数:

    a
    Out[137]: 
    array([[1, 2],
           [3, 4]])
    
    b = inv(a)
    
    b[0][0]
    Out[139]: -1.9999999999999998

    理论上 a@b == b@a,运算一下

    a@b
    Out[140]: 
    array([[1.00000000e+00, 1.11022302e-16],
           [0.00000000e+00, 1.00000000e+00]])
    
    b@a
    Out[141]: 
    array([[1.0000000e+00, 4.4408921e-16],
           [0.0000000e+00, 1.0000000e+00]])

    结果来看,精确到小数点后面时,是不一样的,所以inv求出来的应该是近似值

    4.6 伪随机数生成

    npmpy.random 模块,可以设置局部的随机数种子 np.random.RandomState(),全局的是np.random.seed()

    np.random.normal(size=(n,k)),生成n*k的正太分布样本数组

    4.7 随机漫步

    用 np.random.randint(n,k,size=number) 可以生成一个number大小的 n~k之间的数组

  • 相关阅读:
    jBox使用方法
    第五章 引用类型
    第四章 变量、作用域、内存问题
    第二章 在HTML中使用JavaScript
    第三章 基本概念
    第一章 JavaScript简介
    ecmall 添加自定义挂件以及解决一直loading的问题
    急急如律令!火速搭建一个C#即时通信系统!(附源码分享——高度可移植!)
    委托笔记
    Oracle ORA-01461:仅可以为插入LONG列的LONG值赋值
  • 原文地址:https://www.cnblogs.com/yemeng/p/14579570.html
Copyright © 2020-2023  润新知