《机器学习测试》笔记(1)——numpy

简介: 《机器学习测试》笔记(1)——numpy

NumPy(NumericalPython) Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。


NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPyNumPy 为开放源代码并且由许多协作者共同维护开发。


NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:

  • 一个强大的N维数组对象 ndarray
  • 广播功能函数
  • 整合 C/C++/Fortran 代码的工具
  • 线性代数、傅里叶变换、随机数生成等功能

 

相关链接

NumPy 官网 http://www.numpy.org/

NumPy 源代码:https://github.com/numpy/numpy

SciPy 官网:https://www.scipy.org/

SciPy 源代码:https://github.com/scipy/scipy

Matplotlib 官网:https://matplotlib.org/

Matplotlib 源代码:https://github.com/matplotlib/matplotlib


# coding:utf-8
import numpy asnp


1产生数组


defcreate_array():
    a = np.empty([3,2], dtype = int)
    print("随机整数数组:\n",a)
    #随机整数数组:
    #[[ 81060032     32765]
    #[ 81064576     32765]
    #[-67197712     32764]]
    a = np.zeros([2,2], dtype = float)
    print("全0数组:\n",a)
    #全0数组:
    #[[0. 0.]
    #[0. 0.]]
    a = np.ones([2,2], dtype = int)
    print("全1数组:\n",a)
    #全1数组:
    #[[1 1]
    #[1 1]]
    a =np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
    print("创建数组:\n",a)
    #创建数组:
    #[[ 1 2  3  4]
    #[ 5 6  7  8]
    #[ 9 10 11 12]
    #[13 14 15 16]]
    x = [(1,2,3,4),(5,6,7,8)]
    a = np.asarray(x)
    print("从原来的数组或元组创建数组:\n",a)
    #从原来的数组或元组创建数组:
    #[[1 2 3 4]
    #[5 6 7 8]]
    a = np.random.random([2,3])
    print("产生随机数组:\n",a)
    #产生0-1随机数组:
    #[[0.67427601 0.11907    0.99459619]
    #[0.60160757 0.86183888 0.73418104]]
    a = np.linspace(start=0,stop=20,num=11)
    print("产生一维等差数组:\n",a)
    #产生一维等差数组:
    #[ 0. 2.  4.  6.  8.10. 12. 14. 16. 18. 20.]
    a =np.logspace(start=1,stop=3,num=3,endpoint=True,base=2)
    print("产生[base^start,base^stop] 个数组:\n",a)
    #产生[base^start,base^stop] 个数组:
    #[2. 4. 8.]


2 获得属性


defget_attribute():
    a =np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
    print("a的行列数:\n",a.shape)
    print("a的数据类型:\n",a.dtype)
    print("a的秩:\n",a.ndim)
    print("a的总个数:\n",a.size)


     a的行列数:

(4, 4)

a的数据类型:

int32

a的秩:

2

a的总个数:

16


3 操作


def np_operator():
    a =np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
    print("a:\n",a)
    #[[ 1 2  3]
    #[ 4 5  6]
    #[ 7 8  9]
    #[10 11 12]]
    print("a数组调整:\n",a.reshape(3,4))
    #a数组调整:
    #[[ 1 2  3  4]
    #[ 5 6  7  8]
    #[ 9 10 11 12]]
    print("a前两2行:\n",a[0:2])
    #a前两行:
    #[[1 2 3]
    #[4 5 6]]
    print("a第3列:\n",a[:,2])
    #a第3列:
    #[ 3 6  9 12]
    print("a每个元素+1:\n",a+1)
    #a每个元素+1:
    #[[ 2 3  4]
    #[ 5 6  7]
    #[ 8 9 10]
    #[11 12 13]]
    print("a每个元素平方:\n",a**2)
    #a每个元素平方:
    #[[ 1   4   9]
    #[ 16 25  36]
    #[ 49 64  81]
    #[100 121 144]]
    print("判断a每个元素是否等于5:\n",a==5)
    #判断a每个元素是否等于5:
    #[[False False False]
    #[False True False]
    #[False False False]
    #[False False False]]
    print("a列求和:\n",a.sum(axis=0))
    #a列求和:
    #[22 26 30]
    print("a行求和:\n",a.sum(axis=1))
    #a行求和:
    #[6 15 24 33]
    A = np.array([[1,1],[2,1]])
    B = np.array([[1,2],[3,4]])
    print("A:\n",A)
    #A:
    #[[1 1]
    #[2 1]]
    print("B:\n",B)
    #B:
    #[[1 2]
    #[3 4]]
    print("A*B:\n",A*B)
    #A*B:
    #[[1 2]
    #[6 4]]
    print("矩阵内积:\n",A.dot(B))
    #矩阵内积:
    #[[4 6]
    #[5 8]]
    print("矩阵乘法:\n",np.dot(A,B))
    #矩阵乘法:
    # [[4 6]
    # [5 8]]
    print("A的扩展:\n",np.tile(A,(2,3)))
    #A的扩展:
    # [[1 1 1 1 1 1]
    # [2 1 2 1 2 1]
    # [1 1 1 1 1 1]
    # [2 1 2 1 2 1]]
    print("纵向量与横向量内积:\n",X.dot(Y))
    print("纵向量与横向量乘法:\n",np.dot(X,Y))
    print("横向量与纵向量内积:\n",Y.dot(X))
    print("横向量与纵向量内积:\n",np.dot(Y,X))
    #X = [1,2]
    #Y = [3,
    #   4]
    #横向量与纵向量内积:
    #[[3 4]
    #[6 8]]
    #横向量与纵向量乘法:
    #[[3 4]
    #[6 8]]
    #纵向量与横向量内积:
    #[[11]]
    #纵向量与横向量内积:
    #[[11]]


4 排序和索引


def ord_index():
    a =np.array([[1,3,2],[6,5,4],[7,8,9],[11,10,12]])
    print("a:\n",a)
    #a:
    #[[ 1 3  2]
    #[ 6 5  4]
    #[ 7 8  9]
    #[11 10 12]]
    index = a.argmax(axis=0)
    print("a中每一列最大值索引:\n",index)
    #a中每一列最大值索引:
    #[3 3 3]
    print("a中每一列最大值:\n",a[index,range(a.shape[1])])
    #a中每一列最大值:
    #[11 10 12]
    print("a中每行元素从小到大排序:\n",np.sort(a,axis=1))
    #a中每行元素从小到大排序:
    #[[ 1 2  3]
    #[ 4 5  6]
    # [ 7 8  9]
    #[10 11 12]]
    print("返回数组从小到大的索引值:\n",np.argsort(a))
    #返回数组从小到大的索引值:
    #[[0 2 1]
    #[2 1 0]
    #[0 1 2]
    #[1 0 2]]


5 读取文件


def load_file():
    a = range(10)
    np.save('testfile',a)
    b = np.load('testfile.npy')
    print(b)
    #[0 1 2 3 4 5 6 7 8 9]
    a = range(15)
    np.savetxt('mydata.txt',a)
    b = np.loadtxt('mydata.txt')
    print(b)
    #[ 0. 1.  2.  3. 4.  5.  6. 7.  8.  9. 10. 11. 12. 13. 14.]


if __name__=="__main__":
    create_array()
    get_attribute()
    np_operator()
    ord_index()
    load_file()


————————————————————


软件安全测试

https://study.163.com/course/courseMain.htm?courseId=1209779852&share=2&shareId=480000002205486

接口自动化测试

https://study.163.com/course/courseMain.htm?courseId=1209794815&share=2&shareId=480000002205486

DevOps 和Jenkins之DevOps

https://study.163.com/course/courseMain.htm?courseId=1209817844&share=2&shareId=480000002205486

DevOps与Jenkins 2.0之Jenkins

https://study.163.com/course/courseMain.htm?courseId=1209819843&share=2&shareId=480000002205486

Selenium自动化测试

https://study.163.com/course/courseMain.htm?courseId=1209835807&share=2&shareId=480000002205486

性能测试第1季:性能测试基础知识

https://study.163.com/course/courseMain.htm?courseId=1209852815&share=2&shareId=480000002205486

性能测试第2季:LoadRunner12使用

https://study.163.com/course/courseMain.htm?courseId=1209980013&share=2&shareId=480000002205486

性能测试第3季:JMeter工具使用

https://study.163.com/course/courseMain.htm?courseId=1209903814&share=2&shareId=480000002205486

性能测试第4季:监控与调优

https://study.163.com/course/courseMain.htm?courseId=1209959801&share=2&shareId=480000002205486

Django入门

https://study.163.com/course/courseMain.htm?courseId=1210020806&share=2&shareId=480000002205486

啄木鸟顾老师漫谈软件测试

https://study.163.com/course/courseMain.htm?courseId=1209958326&share=2&shareId=480000002205486

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
3天前
|
机器学习/深度学习 人工智能 资源调度
机器学习之numpy基础——线性代数,不要太简单哦
机器学习之numpy基础——线性代数,不要太简单哦
30 6
|
2天前
|
机器学习/深度学习 人工智能 测试技术
自动化测试的未来:AI与机器学习的融合
【6月更文挑战第20天】本文探讨了自动化软件测试领域中人工智能(AI)和机器学习(ML)技术的应用趋势。文章首先概述了自动化测试的基本概念,随后深入分析了AI和ML在测试用例生成、缺陷预测、测试执行和结果分析等方面的应用。最后,文章讨论了这些技术带来的挑战和机遇,并展望了未来的发展。
|
3天前
|
机器学习/深度学习 算法 BI
机器学习笔记(一) 感知机算法 之 原理篇
机器学习笔记(一) 感知机算法 之 原理篇
|
6天前
|
机器学习/深度学习 人工智能 监控
探索自动化测试的未来:AI与机器学习的融合之路
【6月更文挑战第16天】随着技术的快速发展,软件测试领域正经历着前所未有的变革。自动化测试,作为提高软件质量与效率的关键手段,正在逐步融入人工智能(AI)和机器学习(ML)的先进技术。本文将探讨AI与ML如何赋能自动化测试,提升测试用例的智能生成、优化测试流程、预测潜在缺陷,并分析面临的挑战与未来的发展趋势。
16 3
|
27天前
|
机器学习/深度学习 敏捷开发 测试技术
深入探索软件测试中的持续集成与持续部署(CI/CD)实践利用机器学习提升网络安全防御效能
【5月更文挑战第27天】 在现代软件开发的快节奏环境中,持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)已成为确保产品质量和加快交付速度的关键策略。本文将深入探讨CI/CD在软件测试中的应用,分析其对提高自动化测试效率、缩短反馈周期以及优化发布流程的重要性。通过实际案例研究,我们揭示了成功实施CI/CD的最佳实践,并讨论了面临的挑战及其解决方案。
|
27天前
|
机器学习/深度学习 敏捷开发 测试技术
深入理解自动化测试:框架选择与实践挑战利用机器学习技术优化数据中心冷却系统
【5月更文挑战第27天】 在现代软件开发周期中,自动化测试已成为确保产品质量和加快市场投放的关键步骤。本文深入探讨了自动化测试的框架选择问题,并剖析了实施过程中面临的挑战及其解决方案。通过比较不同测试框架的特点,我们旨在为读者提供一套明确的指导原则,帮助他们根据项目需求做出恰当的技术决策。同时,文中还分享了实际案例和最佳实践,以期帮助开发团队克服实施自动化测试时可能遇到的障碍。
|
1月前
|
机器学习/深度学习 人工智能 测试技术
自动化测试中AI与机器学习的融合应用
【4月更文挑战第29天】 随着技术的不断进步,人工智能(AI)和机器学习(ML)在软件测试中的应用越来越广泛。本文将探讨AI和ML如何改变自动化测试领域,提高测试效率和质量。我们将讨论AI和ML的基本概念,以及它们如何应用于自动化测试,包括智能测试用例生成,缺陷预测,测试执行优化等方面。最后,我们还将讨论AI和ML在自动化测试中的挑战和未来发展趋势。
|
1月前
|
机器学习/深度学习 算法 UED
【Python 机器学习专栏】A/B 测试在机器学习项目中的应用
【4月更文挑战第30天】A/B测试在数据驱动的机器学习项目中扮演关键角色,用于评估模型性能、算法改进和特征选择。通过定义目标、划分群组、实施处理、收集数据和分析结果,A/B测试能帮助优化模型和用户体验。Python提供工具如pandas和scipy.stats支持实验实施与分析。注意样本量、随机性、时间因素和多变量分析,确保测试有效性。A/B测试助力于持续改进机器学习项目,实现更好的成果。
|
1月前
|
存储 C++ Python
学会使用 NumPy:基础、随机、ufunc 和练习测试
NumPy是Python的数值计算库,提供高效的多维数组对象`ndarray`和相关运算函数。它比Python列表快50倍,广泛用于数据科学,其中数组操作至关重要。要创建数组,可以使用`np.array()`。安装NumPy只需运行`pip install numpy`,导入时常用`import numpy as np`作为别名。要检查版本,使用`np.__version__`。
28 0
|
1月前
|
机器学习/深度学习 数据采集 PyTorch
《Numpy 简易速速上手小册》第9章:Numpy 在机器学习中的应用(2024 最新版)
《Numpy 简易速速上手小册》第9章:Numpy 在机器学习中的应用(2024 最新版)
21 0

热门文章

最新文章