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() 做啥?它是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章