自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

改進分析的五種鮮為人知的數據轉換技術

譯文 精選
開發(fā) 前端
數據轉換是通過某些計算或方法將數據轉換為另一種值以更好地表示數據的過程。它通常用于滿足某些統(tǒng)計測試假設或澄清數據可視化。有許多數據轉換公式,但不是每種轉換都是一樣的、都能滿足你的需求。

譯者 | 布加迪

審校 | 重樓

數據轉換是通過某些計算或方法將數據轉換為另一種值以更好地表示數據的過程。它通常用于滿足某些統(tǒng)計測試假設或澄清數據可視化。有許多數據轉換公式,但不是每轉換都是一樣、都能滿足的需求。

一些流行的數據轉換(比如正態(tài)轉換和對數轉換占據主導地位,因為它們很容易解釋,并且在不犧牲太多信息的情況下實現(xiàn)轉換目的。

本文將探討五種鮮為人知的數據轉換,它們有望改進分析。

1. Box-Cox轉換

Box-Cox換是一種使數據嚴格遵循正態(tài)分布,λ參數控制的技術。由于我們可以控制轉換的參數,因此它比簡單的對數轉換靈活得多。

當我們的數據必須嚴格遵循正態(tài)分布或我們想要穩(wěn)定數據方差時,通常使用Box-Cox轉換。通過改變λ參數,轉換器可以有多種轉換形式。比如說λ = 1表示數據沒有變化,λ = 0表示對數變換,而任何其他λ值都是對數據進行冪變換。

我們可以用下面的Python代碼實現(xiàn)轉換。

import numpy as np
from scipy.stats import boxcox

data = np.random.exponential(scale=2, size=1000)

transformed_data = boxcox(data, lmbda = 0.5)

一試各種λ,看看它是否適合的分析。

2. Yeo-Johnson轉換

Box-Cox轉換是一種出色的數據轉換技術,因為我們可以控制轉換量,但它有一個缺點:它只適用于正值。基于Box-Cox轉換,Yeo-Johnson轉換可以處理負值。

Box-Cox轉換一樣,Yeo-Johnsonλ參數控制,可以根據的要求進行更改。此外,如果需要滿足線性模型假設,它適用于改善數據正態(tài)性和均方差。

可以使用以下代碼運用轉換。

import numpy as np
from scipy.stats import yeojohnson

data = np.random.normal(loc=0, scale=2, size=1000)
transformed_data = yeojohnson(data, lmbda = 0.5)

3. 秩轉換

轉換是一種非參數方法,它通過在數據排序時用數據秩替換數據對數據進行轉換。比如說,將最小的數據點轉換1,下一個最小的數據點轉換2,以此類推。它通常用于值比秩更不重要的情況。

當我們的數據有很多異常值,或者數據規(guī)??梢院雎詴r,秩轉換很有用。這種轉換可以降低異常值的影響,因為普遍的正態(tài)轉換會受到異常值的影響。秩轉換也常與參數統(tǒng)計檢驗結合使用。

我們可以用下面的Python代碼進行秩轉換

from scipy.stats import rankdata
import numpy as np

data = np.random.normal(loc=0, scale=2, size=1000)

ranked_data = rankdata(data)

4. 倒數轉換

倒數轉換是一種數據轉換技術,將數據值替換倒數(1/x),其中x是可以自己決定的值。當處理傾斜的數據分布、大多數數據值都很大時,它很有用。倒數轉換會盡量減少大值的影響,以便數據集適用于任何后續(xù)方法。

這種轉換適用于數據包含遞減關系的情況,因為它可以幫助更線性地表示數據。然而,如果數據包含零或負值,倒數轉換就不好了,因為這種轉換不能正確地表示信息。

至于Python代碼實現(xiàn),可以使用以下代碼

import numpy as np

data = np.random.exponential(scale=2, size=1000) + 1
reciprocal_transformed_data = np.reciprocal(data)

5. 分箱轉換(離散化)

分箱轉換或離散化是一種數據轉換技術,它將連續(xù)的數據值分成一定的區(qū)間(分箱)。轉換將數據值替換成分箱標簽。用的轉換技術將數據預處理具有秩的分類數據,有助于簡化數據并降低噪聲。

這種轉換是有用的,特別是對于那些得益于分類輸的技術,比如決策樹。它對于處理數據異常值和盡量減小影響也很有用。然而必須正確地決定分箱區(qū)間,因為它可能影響數據轉換。可以嘗試遵循許多經驗法則。比如說,Sturges規(guī)則表示分箱的數量=log(N) + 1,其中N是數據的數量。

對于使用Sturges 規(guī)則的分箱轉換,可以使用以下Python代碼

import numpy as np
import pandas as pd
data = np.random.normal(loc=0, scale=1, size=1000)num_bins = int(np.ceil(np.log2(len(data)) + 1))
binned_data = pd.cut(data, bins=num_bins, labels=False)

結論

數據轉換是一種數據預處理技術,它將原始數據轉換遵循某些計算的另一個值。數據轉換在許多情況下都很有用,可以遵循特定的數據分布或更直觀地獲得洞察力。有許多用的數據轉換,但鮮為人知,因此本文探討應該了解的五種轉換技術。

原文標題:5 Lesser-Known Data Transformation Techniques for Better Analysis,作者:Cornellius Yudha Wijaya

責任編輯:華軒 來源: 51CTO
相關推薦

2021-07-07 10:59:48

python代碼編程語言

2023-05-29 19:39:40

Bash腳本

2021-08-03 09:55:37

Python函數編程語言

2010-01-07 10:05:51

IT顧問特質

2024-05-07 00:00:00

工具類開發(fā)者功能

2024-10-31 11:19:33

2011-05-03 13:13:52

編程PHPJava

2014-04-22 16:38:12

GitHubGitHub 使用技巧

2022-06-23 10:17:00

Git技術Linux

2018-12-10 19:30:45

2009-07-09 17:38:35

2022-05-30 09:01:13

CSS技巧前端

2009-09-14 09:45:20

Chrome谷歌操作系統(tǒng)

2014-07-29 14:25:43

Unix命令

2019-10-08 16:24:33

Chrome瀏覽器

2023-04-23 15:11:26

2017-11-08 14:55:16

Linux命令sudo

2015-08-18 10:57:52

機房制冷數據中心

2015-06-09 11:12:31

Swift語言Swift特性

2024-04-30 08:32:18

CSS元素網格
點贊
收藏

51CTO技術棧公眾號