python numpy模块教程与使用numpy进行机器学习相关用法示例
本博客介绍 numpy 模块的使用方法,并对机器学习中应用到的较多的一些方法进行重点讲解。 机器学习入门系列博客 文章目录一、创建numpy的数组(矩阵)1 np.array()2 np.asarray()3 生成某一个值的特定矩阵4 创建等步长数组5 使用随机的方法创建数组二、numpy array 的基本属性和操作1 基本属性2 数据访问方法3 数组形状改变三、numpy数组合并和分割1 合并操作2 分割操作四、numpy 相关运算1 Universial Function2 矩阵运算3 向量和矩阵的运算五、numpy 聚合运算六、索引相关运算(arg… 函数的使用)七、Fancy Ind 【numpy模块】是Python科学计算库,它是机器学习和数据分析的核心工具之一。它提供了一种高效的方式来处理大型多维数组和矩阵,具有大量的数学函数来处理这些数组。 **一、创建numpy数组(矩阵)** 在numpy中,创建数组通常通过`np.array()`或`np.asarray()`函数完成。`np.array()`接受Python列表、元组或其他序列,可以指定数据类型(dtype)。例如,创建一个整数数组: ```python import numpy as np arr = np.array([1, 2, 3, 4], dtype=int) ``` `np.asarray()`与`np.array()`类似,但主要用于将已存在的数组转换为numpy数组,如果输入已经是numpy数组则不进行任何操作。 **二、numpy array的基本属性和操作** 1. **基本属性**:如`shape`表示数组的维度,`dtype`表示数组元素的数据类型。 2. **数据访问方法**:可以通过索引来访问数组元素,支持切片操作。 3. **数组形状改变**:`reshape()`函数可以改变数组的形状,`resize()`会直接修改原数组,`flatten()`返回一维数组。 **三、numpy数组合并和分割** 1. **合并操作**:`concatenate()`、`stack()`、`vstack()`、`hstack()`等函数用于将多个数组按不同轴向合并。 2. **分割操作**:`split()`、`hsplit()`、`vsplit()`、`dsplit()`用于按指定位置或比例将数组分开。 **四、numpy相关运算** 1. **Universial Function (ufunc)**:numpy的ufunc是一类能够对数组进行元素级操作的函数,如加减乘除、指数、对数等。 2. **矩阵运算**:包括矩阵乘法(`@`或`np.dot()`)、求逆(`np.linalg.inv()`)、求行列式(`np.linalg.det()`)等。 3. **向量和矩阵的运算**:如向量点乘(`np.dot()`)、外积(`np.outer()`)、转置(`T`或`np.transpose()`)等。 **五、numpy聚合运算** 包括求和(`sum()`)、平均(`mean()`)、最大值(`max()`)、最小值(`min()`)等,可以按指定轴进行计算。 **六、索引相关运算** `argmin()`、`argmax()`等函数返回数组中最小值或最大值的索引位置,`argwhere()`返回满足条件的元素的索引。 **七、Fancy Indexing** 这是一种高级索引方式,允许使用布尔数组、整数数组或切片的组合来选取数组中的特定元素。 在机器学习中,numpy模块被广泛用于数据预处理、特征工程、模型训练和评估等多个环节,其高效性和灵活性使得处理大规模数据变得更加便捷。通过学习和熟练掌握numpy,可以极大地提高编程效率,为机器学习项目打下坚实的基础。
剩余9页未读,继续阅读
- 粉丝: 7
- 资源: 961
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 学校课程软件工程常见10道题目以及答案demo
- javaweb新手开发中常见的目录结构讲解
- 新手小白的git使用的手册入门学习demo
- 基于Java观察者模式的info-express多对多广播通信框架设计源码
- 利用python爬取豆瓣电影评分简单案例demo
- 机器人开发中常见的几道问题以及答案demo
- 基于SpringBoot和layuimini的简洁美观后台权限管理系统设计源码
- 实验报告五六代码.zip
- hdw-dubbo-ui基于vue、element-ui构建开发,实现后台管理前端功能.zip
- (Grafana + Zabbix + ASP.NET Core 2.1 + ECharts + Dapper + Swagger + layuiAdmin)基于角色授权的权限体系.zip
评论0