机器学习库:numpy

 

☁️主页 Nowl

🔥专栏《机器学习实战》 《机器学习》

📑君子坐而论道,少年起而行之 

文章目录

写在开头

基本数据格式

array

数据定位

argmax

数据生成

random.rand

random.randn

random.randint

维度拓展

expand_dim

结语


写在开头

在机器学习中,我们除了关注模型的性能外,数据处理更是必不可少,本文将介绍一个重要的数据处理库numpy,将随着我的学习过程不断增加内容

基本数据格式

array

array矩阵是numpy中的数据格式,array格式有很多便捷的操作,如矩阵运算,广播等

使用代码

import numpy as np


arr = np.array([1, 2, 3, 4, 5])
print(type(arr))

矩阵运算

numpy数据与普通数据的一个重要区别就是它能调用函数进行矩阵运算

创建矩阵

import numpy as np

# 创建矩阵
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

矩阵加法 

# 矩阵加法
C = A + B
print("Matrix Addition:")
print(C)

矩阵减法

# 矩阵减法
D = A - B
print("Matrix Subtraction:")
print(D)

矩阵乘法

# 矩阵乘法
E = np.dot(A, B)
print("Matrix Multiplication:")
print(E)

矩阵转置

# 矩阵转置
A_transposed = A.T
print("Matrix Transposition:")
print(A_transposed)

数据定位

argmax

argmax函数返回array矩阵中元素值最大的下标

使用代码

import numpy as np


arr = np.array([1, 4, 5, 2, 3])
print(np.argmax(arr))

数据生成

random.rand

这个函数会生成指定格式的(0,1)之间的数

import numpy as np


arr = np.random.rand(3, 4)
print(arr)

这段代码生成一个3x4的矩阵 

random.randn

这个函数生成标准正态分布(均值为 0,标准差为 1)的随机样本

import numpy as np


arr = np.random.randn(3, 4)
print(arr)

random.randint

这个函数生成在指定范围内的随机整数。

import numpy as np


arr = np.random.randint(1, 10, size=(3, 4))
print(arr)

这个代码将生成数据从1到10(不包括)的整数,形状为3x4的矩阵 

维度拓展

expand_dim

在机器学习任务中,有些模型对数据的格式有要求,这时我们可以使用expand_dim函数来拓展数据的维度

import numpy as np


arr = np.random.randint(1, 10, size=(3, 4))
print(arr)
print(np.expand_dims(arr, axis=0)) # 在第0个维度上拓展
print(np.expand_dims(arr, axis=1)) # 在第1个维度上拓展

可以看看效果

结语

numpy作为一个数据处理库,它主要用来进行数据生成,数据计算等任务,支撑着人工智能必不可少的数据处理任务

感谢阅读,觉得有用的话就订阅下本专栏吧 

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

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

相关文章

python桌面开发PyQt6库和工具库QTDesigner安装和配置

一、安装PyQt6 二、安装pyqt6-tools 三、安装外部工具 四、创建QTDesigner 1.首先查找designer.exe的路径(可以自己在窗口中选择,也可以使用Everything搜索) 2.使用Everything搜索后会出现多个designer.exe,选中,OpenPath 3.选择…

单片机学习7——定时器/计数器编程

#include<reg52.h>unsigned char a, num; sbit LED1 P1^0;void main() {num0;EA1;ET01;//IT00;//设置TMOD的工作模式TMOD0x01;//给定时器装初值&#xff0c;50000,50ms中断20次&#xff0c;就得到1sTH0(65536-50000)/256;TL0(65536-50000)%256;TR01; // 定时器/计数器启…

【Spring Boot】如何集成Swagger

Swagger简单介绍 Swagger是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化RESTful风格的Web服务。功能主要包含以下几点&#xff1a; 可以使前后端分离开发更加方便&#xff0c;有利于团队协作接口文档可以在线自动生成&#xff0c;有利于降低后端开发人员编写…

二叉树经典面试题—折纸

与其明天开始&#xff0c;不如现在行动&#xff01; 文章目录 1 折纸问题1.1 解决思路1.2 实现代码 &#x1f48e;总结 1 折纸问题 1.1 解决思路 请把一段纸条竖着放在桌子上&#xff0c;然后从纸条的下边向上方对折1次&#xff0c;压出折痕后展开。此时折痕是凹下去的&#xf…

包你学会十大内排序算法,广度深度兼备,动图演示,详细源码

内排序算法合集 文章目录 内排序算法合集前言冒泡排序冒泡排序的实现冒泡排序的简单实现冒泡排序的优化版本冒泡排序的复杂度分析 简单选择排序简单选择排序的实现简单选择排序的复杂度分析 直接插入排序直接插入排序的实现直接插入排序的复杂度分析 希尔排序希尔排序原理希尔排…

059-第三代软件开发-巧用工控板LED指示灯引脚

第三代软件开发-巧用工控板LED指示灯引脚 文章目录 第三代软件开发-巧用工控板LED指示灯引脚项目介绍巧用工控板LED指示灯引脚第一种方式第二种方式 总结 关键字&#xff1a; Qt、 Qml、 Power、 继电器、 IO 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项…

Leetcode—28.找出字符串中第一个匹配项的下标【简单】

2023每日刷题&#xff08;四十&#xff09; Leetcode—28.找出字符串中第一个匹配项的下标 实现代码 int strStr(char* haystack, char* needle) {int len1 strlen(haystack);int len2 strlen(needle);int idx -1;int i 0;while(i < len1 - len2) {if(strncmp(haystac…

Django之admin页面样式定制(Simpleui)

好久不见&#xff0c;各位it朋友们&#xff01; 本篇文章我将向各位介绍Django框架中admin后台页面样式定制的一个插件库&#xff0c;名为Simpleui。 一&#xff09;简介 SimpleUI是一款简单易用的用户界面&#xff08;UI&#xff09;库&#xff0c;旨在帮助开发人员快速构建…

数据库基础教程之创建触发器,实现自动更新时间戳(四)

postgresql 更新时间戳需要通过触发器来实现,这里给出两种方法来实现。 创建字段create_time和edit_time 通过Navicat在添加字段时候将字段设置为timestamp类型,生成时间戳方式为CURRENT_TIMESTAMP或者设置为now(),然后点击保存。 新建函数 点击函数,然后在弹出的函数向导中…

ubuntu22.04中ros2 安装rosbridge

ros2 启动rosbridge&#xff1a; 要启动ROS2中的rosbridge&#xff0c;需要先安装ROS2的rosbridge_suite软件包。使用以下命令安装&#xff1a; 更新过可忽略 sudo apt-get update安装命令 sudo apt-get install ros--rosbridge-suite 注意&#xff1a; 将替换为正在使用的R…

rtsp点播异常出现‘circluar_buffer_size‘ option was set but it is xx

先说现象: 我使用potplay播放器来点播rtsp码流的时候可以点播成功&#xff0c;同事使用vlc和FFplay来点播rtsp码流的时候异常。 排查思路: 1.开始怀疑是oss账号问题&#xff0c;因为ts切片数据是保存在oss中的&#xff0c;我使用的是自己的oss账号&#xff0c;同事使用的是公司…

常见的1/2/3位数码管接线详解

今天玩数码管的时候接触到了数码管的接线&#xff0c;分享一下供刚开始接触的童鞋参考 首先了解什么是数码管 数码管是一种可以显示数字和其他信息的电子设备&#xff0c;是显示屏其中一类&#xff0c; 通过对其不同的管脚输入相对的电流&#xff0c;会使其发亮&#xff0c;从而…

哲学家就餐问题

文章目录&#xff1a; 问题描述及分析一次错误的尝试解决方案一解决方案二 问题描述及分析 哲学家就餐问题规定了有5位哲学家正在进行思考和就餐两种活动。用餐在一个桌子上进行&#xff0c;桌子上面有5个盘子和5个叉子&#xff0c;按照循环的方式分配。 问题的约束条件&#…

【数据中台】开源项目(2)-Wormhole流式处理平台

Wormhole 是一个一站式流式处理云平台解决方案&#xff08;SPaaS - Stream Processing as a Service&#xff09;。 Wormhole 面向大数据流式处理项目的开发管理运维人员&#xff0c;致力于提供统一抽象的概念体系&#xff0c;直观可视化的操作界面&#xff0c;简单流畅的配置管…

【React】Memo

组件重新渲染时缓存计算的结果。 实例&#xff1a;count1计算斐波那契数列&#xff0c;count2和count1可以触发数值变化。使用memo可以使只有在count1变化时触发斐波那契数列计算函数&#xff0c;而count2变化时不触发斐波那契数列计算函数。 import { useMemo } from "r…

二十六、搜索结果处理(排序、分页、高亮)

目录 一、排序 二、分页 1、深度分页问题 2、三种方案的优缺点 &#xff08;1&#xff09;fromsize 优点&#xff1a; 缺点&#xff1a; 场景&#xff1a; &#xff08;2&#xff09;after search 优点&#xff1a; 缺点&#xff1a; 场景&#xff1a; &#xff0…

git的使用:本地git下载、sshkey的添加、github仓库创建及文件上传

一、github创建账号 即github注册账号&#xff0c;登录github官网&#xff0c;根据提示注册即可 github官网 二、git客户端下载安装 已有很多git下载安装的博文了&#xff0c;在此就不赘述 三、sshkey的生成与添加 1、sshkey的生成以及查看 // sshkey的生成命令&#xff…

【代码】考虑电解槽变载启停特性与阶梯式碳交易机制的综合能源系统优化调度matlab-yalmip-cplex/gurob

程序名称&#xff1a;考虑电解槽变载启停特性与阶梯式碳交易机制的综合能源系统优化调度 实现平台&#xff1a;matlab-yalmip-cplex/gurobi 代码简介&#xff1a;提出了一种考虑 变载启停特性的电解槽混合整数线性模型&#xff0c;根据电 氢负荷可以实时调整设备工作状态&…

Leetcode211. 添加与搜索单词 - 数据结构设计

Every day a Leetcode 题目来源&#xff1a;211. 添加与搜索单词 - 数据结构设计 解法1&#xff1a;字典树 字典树&#xff08;前缀树&#xff09;是一种树形数据结构&#xff0c;用于高效地存储和检索字符串数据集中的键。前缀树可以用 O(∣S∣) 的时间复杂度完成如下操作…

Linux进程通信——信号量

概念 信号量(semaphore) 与已经介绍过的 PC 结构不同&#xff0c;它是一个计数器。信号量用于实现进程间的互斥与同步&#xff0c;而不是用于存储进程间通信数据。 特点 1.信号量用于进程间同步&#xff0c;若要在进程间传递数据需要结合共享内存 2.信号量基于操作系统的 PV…