机器学习3--numpy

Numpy

  • 一、numpy是什么?
  • 二、N维数组
  • 三、数组基本操作
  • 四、数组的运算

一、numpy是什么?

  1. numpy是一个开源的python科学计算库,用于处理任意维度的数组。
  2. numpy用ndarray处理多维数组。

import numpy as np
np.array创建数组

  1. 机器学习数据量很大,ndarray速度快。
  2. ndarray的优势:
    • 内存块风格,一体式存储,数据类型一样(存储数据地址连续,直接存取,不需要找地址);
    • 支持并行化运算;
    • 效率高于python

二、N维数组

数组属性

.shape
.ndim 数组维数
.size 元素数量
.itemsize 元素字节大小
.dtype 元素类型

import numpy as np
a = np.array(["python","hello","i"],dtype = np.string_)
#指定类型

三、数组基本操作

  1. 生成数组

(1)0,1数组,固定范围数组

import numpy as np
#生成0、1数组
ones = np.ones([4,8])
np.zeros_like(ones)
#生成现有数组
a = np.array([[1,2,3],[4,5,6]])
a1 = np.array(a)#深拷贝
a2 = np.asarray(a)#浅拷贝
a[0,0]=1000###a1不变;a2改变
#生成固定范围数组
np.linspace(0,100,10)#等差数组,指定差值
np.arange(10,50,2)#等差数组,指定步长
np.logspace(0,2,3)#10的次方

(2) 正态分布

import numpy as np
import matplotlib.pyplot as plt
#生成正太分布
x1 = np.random.normal(1.75,1,1000)
plt.figure(figsize=(20,8),dpi=100)
plt.hist(x1,100)
plt.show()

(3) 均匀分布

import numpy as np
import matplotlib.pyplot as plt
#生成正太分布
x1 = np.random.uniform(-1,1,1000)
plt.figure(figsize=(20,8),dpi=100)
plt.hist(x2,100)
plt.show()
  1. 数组的索引、切片
    对象[:,:] 先行后列

  2. 数组的形状修改
    (1)reshape 展成一行,重新排列
    (2)resize
    (3)T 转置

  3. 数组的类型修改

ndarray.astype(type)
ndarray.tostring()

  1. 数组的去重

np.unique()

四、数组的运算

  1. 逻辑运算
    大于小于和赋值。
    大于号可以直接判断数组里的值,赋值在判断结果说赋值
#生成10名同学,5门功课的数据
score=np.random.randint(40,100,(10,5))
#取出最后4名同学的成绩,
用于逻辑判断
test_score = score[6:,0:5]
#逻辑判断,如果成绩大于60就标记为True否则为False
test_score > 60
array([[True,True,True,False,True],
[True,True,True,False,True],
[True,True,False,False,True],
[False,True,True,True,True]])
#B00L赋值,将满足条件的设置为指定的值-布尔索引
test_score[test_score > 60] = 1
test_score
array([1,1,1,59,1],
[1,1,1,59,1],
[1,1,44,44,1],
[59,1,1,1,1]])
  1. 通用函数
    np.all, np.any

#判断前两名同学的成绩[0:2,:]是否全及格
np.all(score[0:2,:]>60)
False
#判断前两名同学的成绩[0:2,:]是否有大于90分的
np.any(scoret[0:2,:]>90)
True

  1. 数组与数值运算,对数组中所有值都与数值运算;注意,对列表运算,乘积会复制粘贴
  2. 数组与数组运算
    广播机制:数组在进行矢量化运算时,要求数组的形状是相等的。当形状不相等的数组执行算术运算的时候,就会出现广播机制,该机制会对数组进行扩展,使数组的shape属性值一样,这样,就可以进行矢量化运算了。下面通过一个例子进行说明:
arr1=np.array([[0],[1],[2],[3])
arr1.shape
#(4,1)
arr2 np.array([1,2,3])
arr2.shape
#(3,)
arrl+arr2
#结果是
array([[1,2,3],
[2,3,4],
[3,4,5],
[4,5,6])

广播机制实现了时两个或两个以上数组的运算,即使这些数组的shape不是完全相同的,只需要满足如下任意一个条件即可。

  • 数组的某一维度等长。
  • 其中一个数组的某一维度为1。

广播机制需要扩展维度小的数组,使得它与维度最大的数组的shape值相同,以便使用元素级函数或者运算符进行运算。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/883814.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

语言模型发展史

四个阶段 第一阶段:基于规则和统计的语言模型 由人工设计特征并使用统计方法对固定长度的文本窗口序列进行建模分析,这种建模方式也被称为N-gram语言模型。 优点: 1)采用极大似然估计, 参数易训练 2)完全包含了前n-…

Python和C++及MATLAB距离相关性生物医学样本统计量算法及数据科学

🎯要点 统计观测值之间距离计算代谢组学和脂质组学分析相关距离矩阵计算卡方检验偏差校正快速计算距离协方差算法大规模生物系统分析距离矩阵相关性测试石油勘探统计学关系 Python距离矩阵 在数学、计算机科学,尤其是图论中,距离矩阵是一…

mysql 内存被打满记录

一:早上收到报警:提示:您的云数据库RDS的1个实例因存储空间满将被锁定,请关注实例的存储空间使用情况,可通过存储扩容或空间清理解除锁定。后续查看错误日志如下:磁盘没有空间了 没有多余的空间写binlog和…

随记——机器学习

前言 本来有个500块钱的单子,用机器学习做一个不知道什么鸟的识别,正好有数据集,跑个小项目,过一下机器学习图像识别的流程,用很短的时间记录下来..... 一、数据预处理 将数据集分为训练集和测试集,直接…

onload_tcpdump命令抓包报错Onload stack [7,] already has tcpdump process

最近碰到Onload 不支持同时运行多个 tcpdump 进程的报错,实际上使用了ps查询当时系统中并没有tcpdump相关进程存在。需要重启服务器本机使用onload加速的相关进程后才能使用onload_tcpdump正常抓包,很奇怪,之前确实没遇到这样的问题&#xff…

李宏毅机器学习2023-HW10-Adversarial Attack

文章目录 TaskBaselineFGSM (Fast Gradient Sign Method (FGSM)I-FGSM(Iterative Fast Gradient Sign Method)MI-FGSM(Momentum Iterative Fast Gradient Sign Method)M-DI2-FGSM(Diverse Input Momentum Iterative Fast Gradient Sign Method) Reportfgsm attackJepg Compress…

【ADC】ΔΣ ADC 中数字滤波器的延迟以及 SAR ADC 与 ΔΣ ADC 的差异对比总结

本文学习于TI 高精度实验室课程,深入探讨 delta-sigma 转换器中使用的数字滤波器。具体来说,本文将重点介绍数字滤波器如何引入延迟,因为这是 SAR 和 delta-sigma ADC 之间的显著差异。 文章目录 一、低延迟数字滤波器二、高延迟数字滤波器三…

探索EasyCVR视频融合平台:在视频编解码与转码领域的灵活性优势

随着视频监控技术的飞速发展,各类应用场景对视频数据的处理需求日益复杂多样。从公共安全到智慧城市,再到工业监控,高效、灵活的视频处理能力成为衡量视频融合平台性能的重要标准。在众多解决方案中,EasyCVR视频融合平台凭借其在视…

大规模预训练语言模型的参数高效微调

人工智能咨询培训老师叶梓 转载标明出处 大规模预训练语言模型(PLMs)在特定下游任务上的微调和存储成本极高,这限制了它们在实际应用中的可行性。为了解决这一问题,来自清华大学和北京人工智能研究院的研究团队探索了一种优化模型…

基础漏洞——SSRF

目录 一.原理 二.引起ssrf的函数 三.这些函数具体作用 (1)File_get_content() (2)Fsockopen() (3)Curl_exec() 四.常见的业务场景(可能出现的漏洞的地方,漏洞挖掘&#xff09…

展锐平台的手机camera 系统isptool 架构

展锐平台的isptool 主要用于支持展锐各代芯片isp的各效果模块快速tuning和参数生成打包。 具体需要: 一、工具段能在线实时预览到调试sensor经过isp 处理后的图像,也就是各模块的参数在当下实时生效,通过工具能在PC 上在线观看到修改的效果。…

【理解 Java 中的 for 循环】

理解 Java 中的 for 循环 for 循环是 Java 中用于迭代的常用控制结构,它可以帮助我们重复执行某段代码,直到满足特定条件。本文将介绍 for 循环的基本语法、执行流程、注意事项及一些练习。 基本语法 for 循环的基本语法如下: for (循环变…

FBX福币连续2天破万亿,沪指重回3000点,后续怎么走?

查查配分析今日,A股继续强势上攻。有关#A股重回3000点#、#A股成交额连续2天破万亿#的讨论迅速登上微博热搜。 FBX福币凭借用户友好的界面和对透明度的承诺,迅速在加密货币市场中崭露头角,成为广大用户信赖的平台。 白马蓝筹股领涨市场,上证50指数劲升逾4.69%,创近4个月来新高,…

Java语法-类和对象之继承与多态(中)

1. 继承 为什么要继承? 从生物学角度来说,继承就是把父辈的基因遗传给子代,然后子代再在细胞分裂的途中产生变异,生成比父辈更加适应环境的物种.其中很重要的就是继承给子代的基因(父类的方法和属性)和子代在父辈的基础上产生的变异(方法的重写). 比如猫和狗都是哺乳动物,是在…

了解独享IP的概念及其独特优势

在网络世界中,IP地址是用来识别和定位设备的标识符。独享IP是一种服务模式。使用代理服务器时,用户拥有一个不与其他用户共享的专用独立IP地址。与共享IP相比,独享IP为用户提供了更高的独立性和隐私保护。下面详细介绍独享IP的定义、工作原理…

什么是unix中的fork函数?

一、前言 在本专栏之前的文档中已经介绍过unix进程环境相关的概念了,本文将开始介绍unix中一个进程如何创建出新进程,主要是通过fork函数来实现此功能。本文将包含如下内容: 1.fork函数简介 2.父进程与子进程的特征 3.如何使用fork创建新进程…

C语言实现归并排序(Merge Sort)

目录 一、递归实现归并排序 1. 归并排序的基本步骤 2.动图演示 3.基本思路 4.代码 二、非递归实现 1.部分代码 2.代码分析 修正后代码: 归并过程打印 性能分析 复杂度分析 归并排序是一种高效的排序算法,采用分治法(Divide and Con…

Spring6梳理13——依赖注入之引入集合Bean属性

以上笔记来源: 尚硅谷Spring零基础入门到进阶,一套搞定spring6全套视频教程(源码级讲解)https://www.bilibili.com/video/BV1kR4y1b7Qc 13 依赖注入之引入集合Bean属性 13.1 创建Lesson类,student类和teacher实体类…

Ansbile-变量

文章目录 零、Ansible的事实变量和内置变量?Ansible 的内置变量Ansible 的事实变量示例 一、Ansible的事实变量有哪些(不全)1. ansible_hostname2. ansible_fqdn3. ansible_os_family4. ansible_distribution5. ansible_version6. ansible_al…

从 Shapley 到 SHAP — 数学理解

如何计算 SHAP 特征贡献的概述 假设你(玩家 1)和朋友(玩家 2)参加了一场 Kaggle 比赛,你最终赢得了 10,000 元的一等奖。现在,你想公平地分配这笔钱。你的朋友建议你平分。但是,你的超参数调整技能更出色。你相信你应该得到更大的份额,因为你为团队做出了更多贡献。考虑…