溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中有哪些數據預處理方法

發布時間:2021-07-10 14:21:49 來源:億速云 閱讀:377 作者:Leah 欄目:大數據

Python中有哪些數據預處理方法,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

1.標準化:去均值,方差規?;?/strong>

Standardization標準化:將特征數據的分布調整成標準正態分布,也叫高斯分布,也就是使得數據的均值為0,方差為1.

標準化的原因在于如果有些特征的方差過大,則會主導目標函數從而使參數估計器無法正確地去學習其他特征。

標準化的過程為兩步:去均值的中心化(均值變為0);方差的規?;ǚ讲钭優?)。

from sklearn import preprocessing
from sklearn.datasets import load_iris
iris = load_iris()
X, y = iris.data, iris.target
'''標準變換'''
scaler = preprocessing.StandardScaler().fit(X)
x_scaler=scaler.transform(X)

2. 最小-最大規范化

最小-最大規范化對原始數據進行線性變換,變換到[0,1]區間(也可以是其他固定最小最大值的區間)

min_max_scaler = preprocessing.MinMaxScaler()
x_train_minmax = min_max_scaler.fit_transform(X)

3.MaxAbsScaler

max_abs_scaler = preprocessing.MaxAbsScaler()
x_train_maxabs = max_abs_scaler.fit_transform(X)

4.RobustScaler:帶有outlier的數據的標準化

transformer = preprocessing.RobustScaler().fit(X)
x_robust_scaler=transformer.transform(X)

5.QuantileTransformer 分位數變換

quantile_transformer = preprocessing.QuantileTransformer(random_state=0)
X_train_trans = quantile_transformer.fit_transform(X)

6.Box-Cox

Box-Cox變換是Box和Cox在1964年提出的一種廣義冪變換方法,是統計建模中常用的一種數據變換,用于連續的響應變量不滿足正態分布的情況。Box-Cox變換之后,可以一定程度上減小不可觀測的誤差和預測變量的相關性。Box-Cox變換的主要特點是引入一個參數,通過數據本身估計該參數進而確定應采取的數據變換形式,Box-Cox變換可以明顯地改善數據的正態性、對稱性和方差相等性,對許多實際數據都是行之有效。變化方式如下:

pt = preprocessing.PowerTransformer(method='box-cox', standardize=False)
pt.fit_transform(X)

Python中有哪些數據預處理方法

7.規范化(Normalization)

規范化是將不同變化范圍的值映射到相同的固定范圍,常見的是[0,1],此時也稱為歸一化。

X_normalized = preprocessing.normalize(X, norm='l2')

8.獨熱編碼

enc = preprocessing.OneHotEncoder(categories='auto')
enc.fit(y.reshape(-1,1))
y_one_hot=enc.transform(y.reshape(-1,1))
y_one_hot.toarray()

9.Binarizer二值化

binarizer = preprocessing.Binarizer(threshold=1.1)
binarizer.fit(X)
binarizer.transform(X)

10.多項式變換

poly =preprocessing.PolynomialFeatures(2)
poly.fit_transform(X)

11.自定義變換

transformer = preprocessing.FunctionTransformer(np.log1p, validate=True)
transformer.fit(X)
log1p_x=transformer.transform(X)

看完上述內容,你們掌握Python中有哪些數據預處理方法的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女