preprocessing.scale() 做啥?它是如何工作的?

Posted

技术标签:

【中文标题】preprocessing.scale() 做啥?它是如何工作的?【英文标题】:What preprocessing.scale() do? How does it work?preprocessing.scale() 做什么?它是如何工作的? 【发布时间】:2017-07-08 14:09:49 【问题描述】:

Python 3.5,来自 sklearn 的预处理

df = quandl.get('WIKI/GOOGL')
X = np.array(df)
X = preprocessing.scale(X)

【问题讨论】:

你看过the documentation吗? 是的,但我不明白它对 X 的值有什么影响? 我相信它会减去平均值并除以数据集沿给定轴的标准差。 这里是another link 这可以提供帮助。 【参考方案1】:

preprocessing.scale() 方法有助于数据点的标准化。它会除以标准差并减去每个数据点的平均值。

【讨论】:

有点误导,因为它会先减去你的点的平均值,然后除以标准偏差。或者,您可以除以标准差,计算新的平均值,然后减去。【参考方案2】:

对数据进行缩放可以将您的所有值集中到一个尺度上,从而消除稀疏性,并且它遵循规范化和标准化的相同概念。 要查看效果,您可以在处理前后的数据帧上调用 describe:

df.describe()

#with X is already pre-proccessed 
df2 = pandas.DataFrame(X)
df2.describe()

您将看到 df2 在每个字段中具有 0 均值和标准 1 的变体

【讨论】:

【参考方案3】:

preprocessing.scale() 算法将您的数据放在一个尺度上。这对大量稀疏的数据集很有帮助。简而言之,您的数据非常分散。例如 X 的值可能是这样的:

X = [1, 4, 400, 10000, 100000]

稀疏性的问题在于它非常有偏见或在统计方面存在偏差。因此,因此,缩放数据会将您的所有值带到一个比例上,从而消除稀疏性。关于了解它在数学细节上的工作原理,这遵循规范化和标准化的相同概念。您可以对它们进行研究,以详细了解其工作原理。但是为了让生活更简单,sklearn 算法会为您做所有事情!

【讨论】:

缩放后,此数据仍会偏斜。它只会更接近于零。除非有一些基本事实试图表示,否则一组数字也不能有偏差。

以上是关于preprocessing.scale() 做啥?它是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章

cluster KMeans need preprocessing scale????

python中常用的九种预处理方法

机器学习部分算法 附相关公式

数据预处理(数据的操作2)

如何存储缩放参数以供以后使用

标准化训练数据后使用 sklearn 预测新数据