gpt4 book ai didi

python - 使用 Python 预处理机器学习中的原始数据

转载 作者:行者123 更新时间:2023-11-30 09:34:35 25 4
gpt4 key购买 nike

我有一个包含 9 个特征 [数字] 的原始数据集,第 10 列是分类 [国家 = 法国、德国、印度、中国、墨西哥]。数据集有 20000 行。许多数值特征列缺少数据且未按比例绘制。我应该预测位于数据集中第五列位置的特征值。

我应该如何处理它?

我应该:

  1. 使用 Imputer 预处理整个原始数据集(对于缺失的数据),分类和特征尺度的编码器。

  2. 将预处理后的数据拆分为训练集和测试集。

或者反过来:

  1. 将原始数据分为训练集和测试集
  2. 仅预处理训练集。

我感到困惑的原因:一旦我预处理原始数据集,分类列就会分解为 5 个新列。那么,如何从该数据集中剪出自变量和因变量(第 5 列)以分别生成 x 和 y 数组,我可以将其拆分为 x_trainx_test、此公式中的 y_trainy_test:

 from sklearn.cross_validation import train_test_split
x_train,x_test,y_train,y_test =
train_test_split(x,y,test_size=1/3,random_state=0)

最佳答案

据我所知,您应该首先分离数据,然后从训练集中推断出需要应用的转换,并将其应用于训练和验证/测试集。

原因是,如果您使用所有数据,您将比仅使用训练数据集获得更多信息(假设您更好地测量用于处理列的平均值或标准差)。这意味着您使用训练数据集和验证/测试数据集的提示来训练数据,这对于您稍后从中得出的预测不利。这称为数据窥探或数据挖掘 ( https://en.wikipedia.org/wiki/Data_dredging )。

关于python - 使用 Python 预处理机器学习中的原始数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46489565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com