NumPy、TensorFlow和scikit-learn怎么使用

发布时间:2022-02-25 16:15:57 作者:iii
来源:亿速云 阅读:135

本篇内容主要讲解“NumPy、TensorFlow和scikit-learn怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“NumPy、TensorFlow和scikit-learn怎么使用”吧!

NumPy

正如模块 4中所述,NumPy 的核心是其 N 维数组,它还提供线性代数和傅立叶变换等功能。NumPy 数组是机器学习库函数中非常常见的输入值。因此,当你拥有一种特定格式的数据集并且必须将其转换为另一种格式时,你往往可以直接使用 NumPy。或者你可以使用 NumPy 作为库函数调用的结果。

只要维度有意义,NumPy 数组就可以直接从嵌套列表、嵌套元组或它们的组合中创建,维度数量不限。

import numpy as np
arr = np.array([ [1, 2, 3], (4, 5, 6) ])
print(arr[0, 1])

在这里,我们把numpy命名为np将它导入。

此外,(0, 1)是用作索引的元组。

NumPy 数组具有切片,可让你获取一行或一列:

# returns the first row as a one-dimensional vector
print(arr[0, :])
# returns the first column as a one-dimensional vector 
print(arr[:, 0])

相同的语法也适用于更多维度(尽管在这里很难称为“行”和“列”):

arr = np.array([ [ [1, 2, 3], [4, 5, 6] ], 
                 [ [7, 8, 9], [10, 11, 12] ] ])
print(arr[:, :, 0]) # [[ 1,  4], [ 7, 10]]
print(arr[1, :, 0]) # [ 7, 10]

NumPy 的索引和切片比这更强大。查看参考资料以获得更完整的概述。

NumPy 数组可以使用hstackand水平或垂直堆叠(如果维度正确)vstack,两者都将数组元组作为参数(正确获得括号的数量!):

arr1 = np.array([ [ 1, 1 ], [ 1, 1 ]])
arr2 = np.array([ [ 2, 2 ], [2, 2]])
print(np.hstack((arr1, arr2)))
print(np.vstack((arr1, arr2)))

reshape 是 NumPy 中的一个强大的方法。顾名思义,它改变了数组的形状。以下就是一个例子:

vector = np.array([ 1, 2, 3, 4, 5, 6, 7, 8, 9 ])
matrix = vector.reshape((3, 3))

reshape的参数是新的形状,一个所需维度的元组。这是一个相当简单的示例,但你也可以使用它来重新调整具有更多维度的数组。元素以特定索引顺序从原始数组中读取,并以相同索引顺序写入新数组。请参阅 reshape 文档 以了解有关索引顺序的更多信息。

TensorFlow

为了在高层次上使用神经网络,我们在 Keras简介中研究了 Keras。从本质上讲,TensorFlow 是一个用于张量计算的库。

张量是向量和多维矩阵的推广:

等等。

张量可以保存任何类型的数据:整数、浮点数、字符串等等。尽管在使用 Keras 等高级库时通常不会遇到这些,但查看它们仍然很有趣,因为它们是 TensorFlow 的基础构建块。

那么,NumPy 数组和张量之间有什么区别?两个对象或多或少代表相同的数据,但张量是不可变的。

TensorFlow 可以对张量执行各种操作。这是一个示例,它以三个矩阵开始,对前两个矩阵执行矩阵乘法,然后将第三个矩阵相加,然后将结果求反。

import tensorflow as tf
a = tf.constant([ [ 0.6, 0.1 ], [ 0.4, -0.3 ] ])
b = tf.constant([ [ 1.2, 0.7 ], [ 0.9, 1.1 ] ])
c = tf.constant([ [ -0.1, 0.2 ], [ 0.3, 0.1 ] ])

d = tf.matmul(a, b)
e = tf.add(c, d)
f = tf.linalg.inv(e)

sess = tf.Session()
result = sess.run(f) # a NumPy array

操作不会立即执行。结果仅在创建并运行会话时计算。在会话创建之前,上述代码构建了一个操作图,然后对其进行评估。

scikit-学习

scikit-learn 是一个广泛的库,提供了许多传统的机器学习方法(非常粗略地说:除了机器学习之外的一切)。您可以在 Jupyter Notebook 单元中使用 pip 安装它:

Python复制代码

!pip install scikit-learn

到此,相信大家对“NumPy、TensorFlow和scikit-learn怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. numpy 和 tensorflow 中的各种乘法(点乘和矩阵乘)
  2. 探秘TensorFlow 和 NumPy 的 Broadcasting 机制

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

numpy tensorflow scikit learn

上一篇:怎么将numpy二维数组中的np.nan值替换为指定的值

下一篇:numpy怎么实现从文件直接读入得到数组对象

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》