Questions tagged «data-preprocessing»

1
Scikit学习中的一键式与虚拟编码
编码分类变量有两种不同的方法。假设一个分类变量具有n个值。一键编码将其转换为n个变量,而伪编码将其转换为n-1个变量。如果我们有k个分类变量,每个分类变量都有n个值。一种热编码以kn个变量结束,而伪编码以kn-k个变量结束。 我听说对于一键编码,拦截会导致共线性问题,这会使模型不可靠。有人称其为“ 虚拟变量陷阱 ”。 我的问题: Scikit-learn的线性回归模型允许用户禁用拦截。因此,对于一键编码,我应该始终设置fit_intercept = False吗?对于虚拟编码,fit_intercept应该始终设置为True吗?我在网站上没有看到任何“警告”。 由于一键编码会生成更多变量,因此它是否比伪编码具有更大的自由度?


2
神经网络:一个热门变量压倒性连续吗?
我有大约20列(20个功能)的原始数据。其中有10个是连续数据,有10个是分类数据。某些分类数据可能具有50个不同的值(美国各州)。在我对数据进行预处理之后,连续的10列变成了10列准备好的列,而10个分类值变得像200个一键编码变量。我担心如果将所有这些200 + 10 = 210个特征都放入神经网络,那么200个热门特征(10个分类列)将完全占据10个连续特征。 也许一种方法是将列“分组”或类似的东西。这是一个有效的问题吗?有没有标准的方法可以解决这个问题? (尽管我认为这没什么大不了,但我正在使用Keras。)


1
关于在训练/有效/测试集上减去平均值的问题
我正在进行数据预处理,然后在数据上构建一个Convonets。 我的问题是:假设我有100个图像的总数据集,我正在为100个图像中的每个图像计算平均值,然后从每个图像中减去它,然后将其拆分为训练集和验证集,我这样做给定测试集上进行处理的步骤,但根据此链接,看来这不是正确的方法:http : //cs231n.github.io/neural-networks-2/#datapre “ 常见的陷阱。进行预处理的重要一点是,任何预处理统计信息(例如数据均值)都必须仅在训练数据上计算,然后应用于验证/测试数据。例如,计算均值并从中减去整个数据集中的每幅图像然后将数据拆分为训练/验证/测试分割将是一个错误,相反,必须仅对训练数据计算平均值,然后从所有分割(训练/验证/测试)中均等地减去均值。 ” 我猜作者在说什么,不要计算平均值并在每个图像中减去它,而是计算整个图像集的平均值(即(image1 + ... + image100)/ 100),然后减去平均值每个图像。 我不太明白有人可以解释吗?并且还可能解释为什么我在做什么错了(如果确实错了)。

2
什么是桶装?
我一直在四处寻找没有运气的机器学习中“桶化”的清晰解释。到目前为止,我了解到的是,存储桶化类似于数字信号处理中的量化,其中一系列连续值被一个离散值代替。它是否正确? 应用存储桶化有什么利弊(除了丢失信息的明显影响)?关于如何应用存储分区是否有任何经验法则?在应用机器学习之前,是否有任何准则/算法可用于应用桶化?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.