Как разбить очищенные текстовые данные на обучающие и тестовые наборы данных, кроме случайной выборки - PullRequest
1 голос
/ 17 октября 2019

Я очистил и дедуплицировал текстовые данные с помощью столбца count_raw_id, который подразумевает количество необработанных идентификаторов, сопоставленных с одним очищенным идентификатором. Чистый идентификатор представляет, что он уникален, и ему сопоставлены некоторые необработанные идентификаторы. Теперь яне хочу разбивать мои очищенные текстовые данные ('clean_df') случайным образом. Мне нужна некоторая выборка на основе критериев для создания двух наборов данных из всего этого очищенного файла, состоящего из примерно 2 тыс. строк, один для обучения модели и один для тестирования модели

Я не хочу использовать train_test_split из sklearn, чтобы разделить мои данные, так как они будут случайным образом мои данные. Я хочу какой-то выход для запроса моих данных, чтобы я мог использовать другой метод выборки, а также я не могу использовать стратифицированную выборкупоскольку у меня нет настоящих ярлыков для этих записей

import pandas as pd
data = {'clean_id': [1,2,3,4],
   'all_terms': [['activation', 'brand', 'admin', 'sale', 'commission', 
                  'administration', 'assistant', 'manager'],
                 ['activation', 'brand', 'group', 'commission', 'mktg', 
                  'marketing', 'manager'],
                 ['activation', 'brand', 'info', 'specialist', 'service', 
                  'manager', 'customer'],
                 ['activation', 'brand', 'lead', 'greece', 'commission', 
                  'mktg', 'mgr', 'marketing']],
   'count_raw_id': [8,2,4,5]}
clean_df = pd.DataFrame(data)
len(clean_df)
#output : 2150

1 Ответ

0 голосов
/ 17 октября 2019

Кросс-валидатор K-Folds должен быть полезен.

Он предоставляет индексы поезда / теста для разделения данных в наборах поезда / теста. Разбить набор данных на k последовательных сгибов (по умолчанию без тасования). Каждый фолд затем используется один раз в качестве проверки, в то время как оставшиеся k - 1 фолды образуют тренировочный набор. https://scikit -learn.org / stable / modules / generate / sklearn.model_selection.KFold.html

Или вы можете создать свою собственную логику для получения образцов. какой запрос ты имеешь в виду?

...