我正在使用 MNIST 数据集的一个子集,我想在其中规范化数据集中样本的特征。我正在尝试以 .mat 文件的形式加载数据集。谁能指导我如何将 .mat 转换为 numpy 数组,以便我可以执行平均和标准等基本操作。特征向量的偏差?
这是我加载 .mat 文件并转换为 numpy 数组的代码:
import scipy.io
import numpy as np
train_0 = scipy.io.loadmat('data/training_data_0.mat')
train_1 = scipy.io.loadmat('data/training_data_1.mat')
test_0 = scipy.io.loadmat('data/testing_data_0.mat')
test_1 = scipy.io.loadmat('data/testing_data_1.mat')
# to return a group of the key-value
# pairs in the dictionary
result = train_0.items()
# Convert object to a list
data = list(result)
# Convert list to an array
numpyArray = np.array(data)
print(numpyArray.mean())
但是执行后我收到此错误:
numpyArray = np.array(data)
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/Applications/PyCharm CE.app/Contents/plugins/python-ce/helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile
pydev_imports.execfile(filename, global_vars, local_vars) # execute the script
File "/Applications/PyCharm CE.app/Contents/plugins/python-ce/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "/Users/mish/Work/ASU/Fall20/CSE 569/main.py", line 20, in <module>
print(numpyArray.mean())
File "/usr/local/lib/python3.8/site-packages/numpy/core/_methods.py", line 160, in _mean
ret = umr_sum(arr, axis, dtype, out, keepdims)
TypeError: can only concatenate str (not "bytes") to str