• 机器学习笔记--数学库


    代码 【随机生成10行两列个0到1之间的小数】

    1. import numpy as np
    2. data = np.random.rand(10,2)
    3. print(data)

    初始数据

    [[0.85482143 0.87208392]
     [0.15226363 0.52549581]
     [0.85199583 0.63840434]
     [0.37461595 0.7699527 ]
     [0.62885774 0.50949107]
     [0.13442721 0.33380331]
     [0.72998008 0.01574827]
     [0.20302876 0.19834324]
     [0.78084008 0.34859342]
     [0.1350378  0.55653729]]

    python行索引【0,1,2,3】行

    print(data[[0,1,2,3]])

    [[0.85733026 0.51441212]
     [0.9297203  0.32537354]
     [0.55053671 0.98026599]
     [0.01811309 0.78720568]]

    python列索引【0】列 

    print(data[:,0])
    

    [0.85733026 0.9297203  0.55053671 0.01811309 0.72665786 0.51680252
     0.89344144 0.80729948 0.05969606 0.71608088]

    代码【利用随机数据绘制扇形】

    1. import numpy as np
    2. import matplotlib.pyplot as plt
    3. data = np.random.rand(10000,2) #随机生成10000行两列个数据
    4. x = data[:,0]
    5. y = data[:,1]
    6. idx = x**2+y**2 < 1 #索引条件圆形中x和y都大于0的数据
    7. plt.plot(x[idx],y[idx],'go',markersize=1)
    8. plt.show()

    效果

    代码【用随机数据绘制圆形图案】

    1. import numpy as np
    2. import matplotlib.pyplot as plt
    3. data = 2*np.random.rand(10000,2) - 1 #定义域转为[-1,1]
    4. x = data[:,0]
    5. y = data[:,1]
    6. idx = x**2+y**2 < 1 #圆形
    7. plt.plot(x[idx],y[idx],'go',markersize=1)
    8. plt.show()

    效果

    代码【利用随机数据绘制圆环】

    1. import numpy as np
    2. import matplotlib.pyplot as plt
    3. data = 2*np.random.rand(10000,2) - 1
    4. x = data[:,0]
    5. y = data[:,1]
    6. idx = x**2+y**2 < 1
    7. hole = x**2 + y**2 < 0.25
    8. idx = np.logical_and(idx,~hole) #numpy中的逻辑与,大圆和不包含小圆区域取相同的部分
    9. plt.plot(x[idx],y[idx],'go',markersize=1)
    10. plt.show()

    效果 

    代码【利用随机数据绘制直方图】【均匀分布】

     

    1. import numpy as np
    2. import matplotlib.pyplot as plt
    3. p = np.random.rand(10000)
    4. np.set_printoptions(edgeitems=5000, suppress=True)
    5. plt.hist(p,bins=20,color='g') #分成20份
    6. plt.show()

    效果

    1. import numpy as np
    2. import matplotlib.pyplot as plt
    3. p = np.random.rand(10000)
    4. np.set_printoptions(edgeitems=5000, suppress=True)
    5. plt.hist(p,bins=20, color='g', edgecolor='k')
    6. plt.show()

    效果

    代码【利用随机数据绘制直方图】【高斯分布】【验证中心极限定理】

    1. import numpy as np
    2. import matplotlib.pyplot as plt
    3. N = 10000
    4. times = 100
    5. z = np.zeros(N)
    6. for i in range(times):
    7. z += np.random.rand(N)
    8. z /= times
    9. plt.hist(z, bins = 20, color = 'm', edgecolor='k')
    10. plt.show()

    效果

    代码【pandas的dataframe类型】

    1. import numpy as np
    2. import pandas as pd
    3. d = np.random.rand(3,4)
    4. print(d)
    5. print(type(d))
    6. data = pd.DataFrame(data=d,columns = list('abcd'))
    7. print('='*50)
    8. print(data)
    9. print(type(data))
    10. print(data['b'])
    11. data.to_csv('./data.dsv', index=False, header=True)
    12. print('文件保存成功')

    效果

    代码【产生100个随机数据,范围为[-4,2],散点图显示】

    1. import numpy as np
    2. import matplotlib.pyplot as plt
    3. # [-4,2]
    4. d = np.random.rand(100)*6-4
    5. print(d)
    6. plt.plot(d,'r.')
    7. plt.show()

    效果

    代码【圆周率的演算模拟】

    1. import numpy as np
    2. if __name__=='__main__':
    3. a = np.arange(1,10000)
    4. print(a)
    5. print(np.sqrt(6*np.sum(1/(a**2))))

     效果

    [   1    2    3 ... 9997 9998 9999]
    3.141497154397623

    代码【自然对数e的演算模拟】

    1. import numpy as np
    2. if __name__=='__main__':
    3. x = np.arange(1,20)
    4. print(np.sum(1/x.cumprod()) + 1) #cumprod求阶乘

    效果

    2.7182818351251554

    代码【实线,虚线绘制图形】

    1. import numpy as np
    2. import matplotlib.pyplot as plt
    3. x = np.linspace(0,1,100)
    4. print(x)
    5. y = x**x
    6. plt.plot(x,y,'r-',linewidth=2)
    7. plt.show()

    效果

    1. import numpy as np
    2. import matplotlib.pyplot as plt
    3. x = np.linspace(0,1,100)
    4. print(x)
    5. y = x**x
    6. plt.plot(x,y,'r--',linewidth=2)
    7. plt.show()

    效果

    1. import numpy as np
    2. import matplotlib.pyplot as plt
    3. x = np.linspace(0,1,100)
    4. print(x)
    5. y = x**x
    6. plt.plot(x,y,'r:',linewidth=2)
    7. plt.show()

    效果

    1. import numpy as np
    2. import matplotlib.pyplot as plt
    3. x = np.linspace(0,1,100)
    4. print(x)
    5. y = x**x
    6. plt.plot(x,y,'r.',linewidth=2)
    7. plt.show()

     

     

  • 相关阅读:
    第5讲:Python运算符的优先级以及结核性
    MySQL数据类型总结与使用
    【华为OD机试真题 python】单词接龙【2022 Q4 | 100分】
    Auto.js脚本开发入门
    搜索技术【广度优先搜索】 - 嵌套广度优先搜索 【POJ No. 1475】 推箱子 Pushing Boxes
    OpenCV常用功能——灰度处理和图像二值化处理
    能迪科技智能控制系统对中央空调进行精准、单独调控医院案例
    Nacos升级2.2.2 相关版本升级及升级中问题【下篇】
    5VUSB输入双节磷酸铁锂电池串联应用升压充电管理IC-YB5081
    数据结构名词解释详细总结
  • 原文地址:https://blog.csdn.net/weixin_54627824/article/details/126085671