作者 | Aakash
来源 | Medium
编辑 | 代码医生团队
什么是分类问题?
对对象进行分类就是将其分配给特定的类别。这本质上是一个分类问题是什么,即将输入数据从一组这样的类别,也称为类分配到预定义的类别。
机器学习中的分类问题示例包括:识别手写数字,区分垃圾邮件和非垃圾邮件或识别核中的不同蛋白质。
https://www.kaggle.com/c/jovian-pytorch-z2g
使用的数据集
为了演示分类问题的工作原理,将使用UrbanSound8K数据集。该数据集包括10种类别的城市声音:空调,汽车喇叭,儿童游戏,狗吠,钻探,enginge_idling,gun_shot,手提钻,警笛和street_music。
https://urbansounddataset.weebly.com/urbansound8k.html
目的是将数据提供给模型(目前可以将其视为黑匣子),并确定模型预测的准确性。
数据集的结构
该数据集可以作为压缩包使用,大小约为5.6GB。与某些机器学习数据集不同,此特定数据集中的音频数据与元数据文件夹一起存在于10个不同的文件夹中,元数据文件夹包含名为“ UrbanSound8K.csv”的文件。
D:\DL\ZEROTOGANS\06-URBAN8K-CLASSIFICATION\DATA\URBANSOUND8K├───audio│ ├───fold1│ ├───fold10│ ├───fold2│ ├───fold3│ ├───fold4│ ├───fold5│ ├───fold6│ ├───fold7│ ├───fold8│ └───fold9└───metadata
大多数ML数据集都有训练/测试文件夹,每个文件夹分别包含用于训练和测试的数据。但是在此数据集中,所有文件夹中都可以使用所有(10)类数据。建议使用10折中的9折作为训练数据,其余的折作为测试数据。
依赖关系
import torchimport pandas as pdimport librosaimport numpy as npfrom torch.utils.data import TensorDataset, DataLoader, random_splitimport librosa.displayimport matplotlib.pyplot as pltimport tarfileimport torch.nn as nnimport torch.nn.functional as F
上面的库以python编程语言提供。专门使用它们来创建两个具有不同架构的模型。用来进行此项目的环境在anaconda云上可用。
https://anaconda.o