У меня есть набор данных, состоящий из около 500 различных параграфов.Для каждого абзаца я пытаюсь увидеть, есть ли ссылка на какой-либо другой абзац.На основании этого я создал пара абзацев.Ранее я пытался решить эту проблему как бинарные проблемы (0 или 1, есть ссылка или нет), но теперь я хочу попробовать ранжирование (присвоение вероятности каждой паре параграфов).
Моя проблема: Как разделить мой набор тестов и обучений случайным образом, но сохранить все пары абзацев для каждого абзаца в одном наборе?Например, для пункта 1 я хочу, чтобы все связанные пары (1-2, 1-3, 1-4, 1-5 ... 1-500) были либо в тестовом наборе, либо в наборе поездов.Мой рейтинг не сработает, если, например, половина пары входит в тренировочный набор, с тех пор в рейтинге набора тестов будут отсутствовать некоторые пары ...
Формат
Пункт A |Параграф Б |Этикетка |Особенности ...
Пункт 1 |Параграф 4 |1 |...
Пункт 2 |Параграф 6 |1 |...
Пункт 6 |Параграф 8 |0 |...
Пункт 10 |Параграф 2 |1 |...
Я использую sklearn train_test_split:
import pandas as pd
from sklearn.model_selection import train_test_split
feature_headers = ['tfidf_cosine', 'count_vec_cosine', 'lda_50topics_cosine', 'lda_200topics_cosine']
target_header = ['label']
train_x, test_x, train_y, test_y = train_test_split(result[feature_headers], result[target_header],
train_size=0.7)