gpt4 book ai didi

Python:根据特定列拆分数据集

转载 作者:行者123 更新时间:2023-11-30 09:05:15 25 4
gpt4 key购买 nike

我目前正在尝试构建一个我正在使用的分类模型 this用于训练和测试的数据集。它是从 TIMIT 数据库中提取的,包含五种不同音素类别的数字化频率。频率位于标记为“x.1”-“x.256”的 256 列下,而音素类本身标记为“g”。此外,还有一个“发言人”列,用于标识不同的发言人。

我的问题是,考虑到发言者列,是否可以将此数据集拆分为 50:50 比例的训练数据和测试数据?事实上,我想划分数据,以便任何说话者都不在两个集合中,这样我就不会使用包含训练数据中已存在的相同说话者的测试数据来验证训练模型。

我的方法是使用 NumPy 从原始数据集中提取所有说话者,并利用 train_test_splitstratify 参数:

X_train, X_test, y_train, y_test = train_test_split(input_data, phonemes, random_state=42, test_size=0.5, stratify=speakers)

但这很可能不是解决方案。如果您能帮助解决这个问题,我将不胜感激!

最佳答案

您好,您可以使用 python 的 pandas 库将 csv 加载到数据框中

将 pandas 导入为 pd

df = pd.read_csv(path_to_csv)

然后您可以使用以下方法获取音柱扬声器的所有唯一值

arrayOfSpeaker = df['speaker'].unique()

现在您可以轻松使用 arrayOfSpeaker 将数据拆分为训练集和测试集。另外,我建议在切片数组之前首先随机化 arrayOfSpeaker。

我通常将数据按照 70:20:10 的比例分为训练:验证:测试。我没明白 50:50 分割的意义!

关于Python:根据特定列拆分数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53631898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com