【发布时间】:2019-05-06 23:58:08
【问题描述】:
我目前正在尝试构建一个分类模型,我正在使用 this 数据集进行训练和测试。它是从 TIMIT 数据库中提取的,包含五种不同音素类别的数字化频率。频率位于标有“x.1”-“x.256”的 256 列下,而音素类本身标有“g”。此外,还有一个“演讲者”列,用于标识不同的演讲者。
我的问题是,考虑到扬声器列,是否可以将此数据集拆分为 50:50 比例的训练和测试数据?事实上,我想对数据进行划分,以使任何说话人都不在两组中,这样我就不会使用包含训练数据中已经存在的相同说话人的测试数据来验证训练模型。
我的方法是使用 NumPy 从原始数据集中提取所有说话者,并利用 train_test_split 的 stratify 参数:
X_train, X_test, y_train, y_test = train_test_split(input_data, phonemes, random_state=42, test_size=0.5, stratify=speakers)
但这很可能不是解决方案。对于解决此问题的任何帮助,我将不胜感激!
【问题讨论】:
标签: python machine-learning scikit-learn classification