python - 如何将清理后的文本数据拆分为训练数据集和测试数据集(随机采样除外)

标签 python text nlp text-mining sampling

我已经使用“count_raw_id”列对文本数据进行了清理和去重,这意味着映射到一个已清理 ID 的原始 ID 数量 干净的 id 表示它是唯一的,并且有一些原始 id 映射到它 现在我不想随机分割我清理过的文本数据('clean_df') 我需要一些基于标准的采样,从大约 2k 行的整个清理文件中创建两个数据集,一个用于训练模型,另一个用于测试模型

我不想使用sklearn的train_test_split来分割我的数据,因为它会随机地分割我的数据。我想要一些方法来查询我的数据,这样我就可以使用其他一些采样技术,但我也不能使用分层采样因为我没有这些记录的实际标签

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

最佳答案

K-Folds 交叉验证器应该会有所帮助。

它提供训练/测试索引来分割训练/测试集中的数据。将数据集拆分为 k 个连续折叠(默认情况下不进行打乱)。 然后将每个折叠用作验证一次,而剩余的 k-1 个折叠形成训练集。 https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.KFold.html

或者您可以创建自己的逻辑来获取示例。你指的是什么查询?

关于python - 如何将清理后的文本数据拆分为训练数据集和测试数据集(随机采样除外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58426956/

相关文章:

android - 从 android 调用 Python 谷歌云端点 api

jquery - 文本不会切换回来

Python tkinter,使两个文本小部件的滚动同步

python - 从Python中表示Unicode代码点的字符串获取Unicode字符?

python - 将类与其自身相关联

python - pandas如何以周为单位进行统计?

text - 围绕主题聚集短语

nlp - 自然语言图灵完备吗?

machine-learning - 如何为针对命名实体识别的分类器形成特征向量?

nlp - huggingface longformer内存问题