首页 > 解决方案 > 如何检查文本数据样本是否正确代表总体?

问题描述

我有一个包含 2 列的大型文本数据集 - 第一个是文本描述,第二个是它所属的类别。我使用以下方法选择分层样本:

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y,
                                                    stratify=y, 
                                                    test_size=0.25)

但我需要证明它代表了原始人口。我如何证明或确保这一点?

我发现 Chi2 用于分类数据,但无法找到如何将其应用于文本数据。我发现的另一种方法是 PCA,但我们如何为文本数据绘制 PCA?

谁能告诉我如何通过使用统计测试方法或任何其他方法分析样本与总体,以确保它代表原始总体?

标签: machine-learningdatasetsamplesamplingstatistical-test

解决方案


您必须对整个总体运行一次分类器,并确保分类器无法确定哪个样本来自您的样本数据,哪个来自您的完整数据。

创建一个新的数据库。将被选为样本行的行标记为“Sample”类,将其余行标记为“Regular”类。现在运行一个决策树分类器,例如使用交叉验证,并确保您的精度和准确度在 50% 左右——这意味着分类器无法区分完整数据和样本数据。

如果分类器可以区分它们 - 这意味着您的样本数据并不能真正代表整个数据。在这种情况下,请增加用作样本的行数。这样做直到您的模型无法区分样本和完整数据。


推荐阅读