【Python】python 机器学习之 Numpy 使用总结(二)

简介: 【Python】python 机器学习之 Numpy 使用总结(二)

Python中Numpy库使用总结


Numpy库的使用

Numpy库和Pandas库均是python机器学习中不可缺少的一个包,其重要性我就不详细

说明,直接上干活


Numpy库的使用


Numpy库的安装


1.windown中提前安装好python,并且配置本地环境,具体方法参照百度

2.检查是否安装好pip(pip是python下一个好基友)

3.window下命令行直接 pip install numpy 就okay


矩阵的基本属性


在本文中,直接套用线性代数的中矩阵代替原文中Numpy array


1.python下使用Numpy,首先需要引入numpy库

import numpy as np
# 以下效果相同
import numpy


python下Numpy元素的类型

import numpy as np
# arange函数是生成0-14的排列 
test_numpy = np.arange(15).reshape(3, 5)
print(type(test_numpy))
# 输出的结果为 <type 'numpy.ndarray'>


ndarray.ndim 函数,求解矩阵的维数

import numpy as np
test_numpy = np.arange(15).reshape(3, 5)
test_ndim = test_numpy.ndim
print(test_ndim)
# 输出的结果为 2


ndarray.shape 函数,求解矩阵的规模,通常情况用元组表示每一维的大小,比如一个3*2的矩阵求解结果为(3,2)

import numpy as np
test_numpy = np.arange(15).reshapes(3, 5)
print(type(test_numpy.shape))
# 输出结果为 <type 'tuple'>
print(test_numpy.shape)
# 输出结果为 (3, 5) Tip:有些版本会输出(3L, 5L)


ndarray.size 函数,返回矩阵元素的个数,等于ndarray.shape元素之积

import numpy as np
test_numpy = np.arange(15).reshapes(3, 5)
print(test_numpy.size)
# 输出结果为 15


ndarray.dtype 函数,返回矩阵中元素的类型,类型可以是自己创建的类型或者是标准的python类型,在Numpy中也有自己的类型,有numpy.int32, numpy.int16, numpy.float64等等类型

import numpy as np
test_numpy = np.arange(15).reshapes(3, 5)
print(test_numpy.dtype)
# 输出结果为 dtype('int32')
print(test_numpy.dtype.name)
# 输出结果为 int32


ndarray.itemsize函数,返回矩阵中每个元素所占的字节数,如同C语言中的sizeof(int)所占4个字节,ndarray.dtype表示当前元素的类型为int32,因此占32/8=4个字节

import numpy as np
test_numpy = np.arange(15).reshapes(3, 5)
print(test_numpy.itemsize)
# 输出结果为 4


ndarray.data 返回矩阵在内存中的具体信息

import numpy as np
test_numpy = np.arange(15).reshapes(3, 5)
print(test_numpy)
# 输出结果 <read-write buffer for 0x0000000006778F30, size 60, offset 0 at 0x00000000061ADC38> 表明在内存中的具体情况


矩阵的创建


1.利用np.array()创建一个矩阵,注意array()里面是一个python列表或者元组

import numpy as np
test_numpy = np.array([1, 2, 3, 4])
# 此种方法是错误的 np.array(1, 2, 3, 4)
test_numpy_two = np.array([(1, 2, 3), (4, 5, 6)])


1.利用np.array()创建指定复杂联系元素

import numpy as np
test_numpy = np.array([1, 2], [3, 4], dtype=complex)
# test_numpy为 array([[1.+0.j, 2.+0.j], [3.+0.j, 4.+0.j]])


1.利用np.zeros()创建矩阵,利用np.zeros时一般矩阵的大小已知,但是内容未知,我们将其所有元素初始化为0

import numpy as np
test_numpy_1 = np.zeros((3, 4))
# 注意此处传入的参数是(3, 4),而非3,4
test_numpy_2 = np.zeros((3, 4), dtype=np.int32)


1.利用np.ones()创建矩阵,使用np.ones条件和np.zeros一样,不过将其所有元素初始化为1

import numpy as np
 test_numpy_1 = np.zeros((3, 4))
 test_numpy_2 = np.zeros((3, 4), dtype=np.int32)


1.利用np.arange()创建矩阵,np.arange()功能和python中的range()函数一样,生成一个序列。

import numpy as np
test_numpy = np.arange(0, 15, 1)


1.利用np.linspace()创建矩阵,np.linspace()的作用和np.arange()类似,但是略有不同,np.arange(begin, end, step)中指定起始区间,和步长,np.linspace(begin, end, num)中指定起始起始区间和需要取的数字。具体细节可以在编程中体会

import numpy as np
test_numpy = np.linspace(0, 15, 16)


1.其他函数同样可以创建矩阵,这里不一一介绍,如zeros_like, ones_like, empty, empty_like, numpy.random.rand, numpy.random.randn, fromfunction, fromfile


矩阵的打印


矩阵的打印,直接使用python中print()函数即可

import numpy as np
numpy_test = np.arange(15)
print(numpy_test)


矩阵的基本运算


矩阵的基本运算和线性代数里面矩阵的运算一致,不明白的建议翻阅《线性代数》一书


矩阵的加法、减法和数乘

import numpy as np
test_numpy_a = np.array([5, 4, 3, 2])
test_numpy_b = np.array([4, 3, 2, 1])
# 矩阵的加法
test_numpy_c = test_numpy_a + test_numpy_b
# 此时test_numpy_c为 array([9, 7, 5, 3])
# 矩阵的减法
test_numpy_d = test_numpy_a - test_numpy_b
# 此时test_numpy_d为 array([1, 1, 1, 1])
#矩阵的数乘
test_numpy_e = test_numpy_a * 2
# 此时的test_numpy_c为 array([10, 8, 6, 4])
目录
相关文章
|
14天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
50 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
17天前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到Python代码实践
【10月更文挑战第36天】本文将深入浅出地介绍机器学习的基本概念、主要算法及其在Python中的实现。我们将通过实际案例,展示如何使用scikit-learn库进行数据预处理、模型选择和参数调优。无论你是初学者还是有一定基础的开发者,都能从中获得启发和实践指导。
36 2
|
19天前
|
机器学习/深度学习 数据采集 搜索推荐
利用Python和机器学习构建电影推荐系统
利用Python和机器学习构建电影推荐系统
35 1
|
19天前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
43 1
|
20天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
37 2
|
25天前
|
机器学习/深度学习 数据采集 算法
Python机器学习:Scikit-learn库的高效使用技巧
【10月更文挑战第28天】Scikit-learn 是 Python 中最受欢迎的机器学习库之一,以其简洁的 API、丰富的算法和良好的文档支持而受到开发者喜爱。本文介绍了 Scikit-learn 的高效使用技巧,包括数据预处理(如使用 Pipeline 和 ColumnTransformer)、模型选择与评估(如交叉验证和 GridSearchCV)以及模型持久化(如使用 joblib)。通过这些技巧,你可以在机器学习项目中事半功倍。
36 3
|
26天前
|
存储 数据处理 Python
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第27天】在科学计算和数据分析领域,Python凭借简洁的语法和强大的库支持广受欢迎。NumPy和SciPy作为Python科学计算的两大基石,提供了高效的数据处理和分析工具。NumPy的核心功能是N维数组对象(ndarray),支持高效的大型数据集操作;SciPy则在此基础上提供了线性代数、信号处理、优化和统计分析等多种科学计算工具。结合使用NumPy和SciPy,可以显著提升数据处理和分析的效率,使Python成为科学计算和数据分析的首选语言。
32 3
|
28天前
|
数据采集 数据可视化 数据处理
如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`)
本文介绍了如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`),加载历史数据,计算均线和其他技术指标,实现交易逻辑,记录和可视化交易结果。示例代码展示了如何根据均线交叉和价格条件进行开仓、止损和止盈操作。实际应用时需注意数据质量、交易成本和风险管理。
49 5
|
27天前
|
存储 机器学习/深度学习 算法
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第26天】NumPy和SciPy是Python科学计算领域的两大核心库。NumPy提供高效的多维数组对象和丰富的数学函数,而SciPy则在此基础上提供了更多高级的科学计算功能,如数值积分、优化和统计等。两者结合使Python在科学计算中具有极高的效率和广泛的应用。
43 2
|
1月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
32 1