В настоящее время я пытаюсь построить модель классификации, для которой я использую этот набор данных для обучения и тестирования.Он извлечен из базы данных TIMIT и содержит оцифрованные частоты пяти различных классов фонем.Частоты находятся под 256 столбцами, помеченными «x.1» - «x.256», в то время как сам класс фонем обозначен «g».Кроме того, есть также колонка «докладчики», в которой указаны разные докладчики.
Мой вопрос: возможно ли разделить этот набор данных на соотношение тренировочных и тестовых данных 50:50 с учетом столбца динамиков?На самом деле, я хочу разделить данные так, чтобы ни один из выступавших не входил в оба набора, чтобы я не проверял обученную модель с помощью тестовых данных, содержащих те же самые говорящие, которые уже есть в обучающих данных.
Myподход заключался в том, чтобы извлечь все динамики из исходного набора данных с помощью NumPy и использовать параметр stratify
train_test_split
:
X_train, X_test, y_train, y_test = train_test_split(input_data, phonemes, random_state=42, test_size=0.5, stratify=speakers)
Но это, скорее всего, не является решением.Буду очень признателен за любую помощь в решении этой проблемы!