第3章习题与参考答案.docx
人工智能基础-第3章习题与参考答案
填空题
(1)在NumPy中,创建全为1的3×3矩阵,可以使用函数。
参考答案:np.ones((3,3))
解析:在NumPy库中,`np.ones()`函数用于创建一个指定形状的数组,数组中的所有元素都为1。参数为一个元组,表示数组的形状,这里`(3,3)`表示创建一个3行3列的矩阵,所以创建全为1的3×3矩阵可以使用`np.ones((3,3))`。
NumPy数组的维度可以通过属性获取。
参考答案:ndim
解析:在NumPy中,`ndim`是数组对象的一个属性,它返回数组的维度。例如,对于一个一维数组`a=np.array([1,2,3])`,`a.ndim`的值为1;对于一个二维数组`b=np.array([[1,2],[3,4]])`,`b.ndim`的值为2。所以通过`ndim`属性可以获取NumPy数组的维度。
在NumPy中,将数组a中的所有元素乘以2,可以使用表达式。
参考答案**:a*2
解析:在NumPy中,数组的运算具有向量化的特点。当对数组`a`进行`a*2`的操作时,会将数组`a`中的每一个元素都乘以2,返回一个新的数组(在没有其他变量引用的情况下),原数组`a`不变(除非进行了赋值操作)。例如`a=np.array([1,2,3])`,`a*2`的结果是`array([2,4,6])`。所以将数组`a`中的所有元素乘以2可以使用表达式`a*2`。
NumPy中的函数可以用于计算数组的平均值。
参考答案:`np.mean()`
解析:`np.mean()`函数是NumPy库中用于计算数组元素平均值的函数。它可以接受一个数组作为参数,返回该数组所有元素的平均值。例如`a=np.array([1,2,3])`,`np.mean(a)`的值为`2`。所以`np.mean()`函数可以用于计算数组的平均值。
在NumPy中,创建一个形状为(3,4)、元素值为0~1的随机浮点数数组,可以使用函数。
参考答案:np.random.rand(3,4)
解析:`np.random.rand()`函数是NumPy中用于生成指定形状的随机浮点数数组的函数,生成的随机数在0到1之间(包括0但不包括1)。参数为一个元组,表示数组的形状,这里`(3,4)`表示生成一个3行4列的数组。所以创建一个形状为`(3,4)`、元素值为0~1的随机浮点数数组可以使用`np.random.rand(3,4)`。
在NumPy中,创建一个0~10的等差数列,可以使用函数。
参考答案:np.linspace(0,10)
解析:`np.linspace()`函数用于在指定的区间内生成等差数列。它的一般形式为`np.linspace(start,stop,num=50,endpoint=True,retstep=False,dtype=None)`,其中`start`是起始值,`stop`是结束值,`num`是生成的元素个数(默认为50),`endpoint`表示是否包含结束值(默认为`True`)。当只传入`start`和`stop`时,默认生成50个元素的等差数列。所以创建一个0~10的等差数列可以使用`np.linspace(0,10)`。
选择题
在NumPy中,对一个数组进行按列求和,可以使用()函数。
np.sum(a,axis=0) B.np.sum(a,axis=1)
C.np.mean(a) D.np.var(a)
参考答案:A
解析:在NumPy中,`np.sum()`函数用于计算数组元素的和。`axis`参数用于指定沿着哪个轴进行计算,`axis=0`表示沿着列方向(即垂直方向)进行计算,也就是按列求和;`axis=1`表示沿着行方向(即水平方向)进行计算,是按行求和。`np.mean(a)`函数用于计算数组的平均值;`np.var(a)`函数用于计算数组的方差。所以对一个数组进行按列求和,可以使用`np.sum(a,axis=0)`,答案选A。
如果想要改变NumPy数组的形状而不改变其数据,应该使用()函数。
reshape() B.flatten() C.ravel() D.transpose()