【问题标题】:Why does sampling the DataFrame of my entire dataset have better results in a prediction model than sampling my training set?为什么在预测模型中对整个数据集的 DataFrame 进行采样比对训练集进行采样具有更好的结果?
【发布时间】:2022-11-11 03:01:59
【问题描述】:

假设我有一个名为 original_df 的数据框,有 20,000 行。我拆分了前 18,000 行用作我的训练集和最后 2,000 行用作我的测试集。当我在original_df 上使用sample 函数时分裂前并在训练集上运行分类器模型,它会产生合理的预测结果:一些假阳性、一些假阴性、一些真阳性和一些真阴性。

但是,当我在训练集和测试集上使用sample 函数拆分非混洗的original_df 后,分类器永远无法做出正面预测:我只会得到真阴性和假阴性;和零假阳性和真阳性。

我只是想了解为什么会发生这种情况,尽管具有相同的采样技术,下面是一些示例 sn-ps。

# This example samples the original dataset directly

training_len = math.ceil(len(X) * 0.9)
X.sample(frac=1, random_state=2) # Features 
Y.sample(frac=1, random_state=2) # Labels
X_train = X.loc[:training_len]
Y_train = Y.loc[:training_len]
X_test = X.loc[training_len+1:]
Y_test = Y.loc[training_len+1:]

# fp, fn, tp, tn
# 1314, 1703, 455, 8842
# This example samples the training set directly

training_len = math.ceil(len(X) * 0.9)
X # Features 
Y # Labels
X_train = X.loc[:training_len].sample(frac=1, random_state=2)
Y_train = Y.loc[:training_len].sample(frac=1, random_state=2)
X_test = X.loc[training_len+1:]
Y_test = Y.loc[training_len+1:]

# fp, fn, tp, tn
# 0, 425, 0, 2518

我正在使用来自sklearn.naive_bayesGaussianNB()

我试图检查训练集和测试集之间是否存在任何索引不匹配,但事实并非如此。

我试图不从训练集和原始集中采样任何东西,它的预测结果与仅对训练集数据集采样时的预测结果相同。这让我觉得X_trainY_train 根本没有被洗牌,但是我在采样后打印了训练集的内容,它们确实被洗牌了(X_trainY_train 的匹配索引)。

【问题讨论】:

  • 不是一个编程问题,因此在这里题外话;请参阅stackoverflow.com/tags/machine-learning/info 中的介绍和注意事项
  • 这不是一个编程问题。我可以改写一下,然后问“如何使样本在应用于训练集时发挥作用?”,或者“为什么我的实现没有产生0‘好’的结果”

标签: python pandas dataframe machine-learning classification


【解决方案1】:

您的初始数据集是否按标签排序?如果是这样,在第二种情况下,您的训练集可能只有一个标签(负),并且您的分类器学会总是预测该标签。

【讨论】:

  • 不以任何方式排序。
【解决方案2】:

这是因为我必须在sampling 之后对训练集进行reset_index()。如果索引为training_length 的行被改组为数据帧的第一行,X.loc[:training_length] 只会获取索引为training_length 的行之前和处的所有元素,这将只用一行训练我的模型;从而产生如此糟糕的结果。

【讨论】:

    猜你喜欢
    • 2021-01-25
    • 2020-06-25
    • 2018-10-29
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 2020-12-30
    相关资源
    最近更新 更多