• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python数据分析:常见的数据预处理方法

python 搞java代码 3年前 (2022-05-21) 39次浏览 已收录 0个评论

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

以下文章来源于数据杂论,作者:Wpc7113

 

Python 数据分析入门案例讲解

https://www.bilibili.<a href="https://www.gaodaima.com/tag/com" title="查看更多关于com的文章" target="_blank">com</a>/video/BV18f4y1i7q9/

www#gaodaima.com来源gao@!dai!ma.com搞$$代^@码!网搞代码

 

1.标准化:去均值,方差规模化

Standardization标准化:将特征数据的分布调整成标准正态分布,也叫高斯分布,也就是使得数据的均值为0,方差为1.

标准化的原因在于如果有些特征的方差过大,则会主导目标函数从而使参数估计器无法正确地去学习其他特征。

标准化的过程为两步:去均值的中心化(均值变为0);方差的规模化(方差变为1)。

<span>from</span> sklearn <span>import</span><span> preprocessing
</span><span>from</span> sklearn.datasets <span>import</span><span> load_iris
iris </span>=<span> load_iris()
X, y </span>=<span> iris.data, iris.target
</span><span>"""</span><span>标准变换</span><span>"""</span><span>
scaler </span>=<span> preprocessing.StandardScaler().fit(X)
x_scaler</span>=scaler.transform(X)

 

2. 最小-最大规范化

最小-最大规范化对原始数据进行线性变换,变换到[0,1]区间(也可以是其他固定最小最大值的区间)

min_max_scaler =<span> preprocessing.MinMaxScaler()
x_train_minmax </span>= min_max_scaler.fit_transform(X)

 

3.MaxAbsScaler

max_abs_scaler =<span> preprocessing.MaxAbsScaler()
x_train_maxabs </span>= max_abs_scaler.fit_transform(X)

 

4.RobustScaler:带有outlier的数据的标准化

transformer =<span> preprocessing.RobustScaler().fit(X)
x_robust_scaler</span>=transformer.transform(X)

 

5.QuantileTransformer 分位数变换

quantile_transformer = preprocessing.QuantileTransformer(random_state=<span>0)
X_train_trans </span>= quantile_transformer.fit_transform(X)

 

6.Box-Cox

Box-Cox变换是Box和Cox在1964年提出的一种广义幂变换方法,是统计建模中常用的一种数据变换,用于连续的响应变量不满足正态分布的情况。Box-Cox变换之后,可以一定程度上减小不可观测的误差和预测变量的相关性。Box-Cox变换的主要特点是引入一个参数,通过数据本身估计该参数进而确定应采取的数据变换形式,Box-Cox变换可以明显地改善数据的正态性、对称性和方差相等性,对许多实际数据都是行之有效。变化方式如下:

 

pt = preprocessing.PowerTransformer(method=<span>"</span><span>box-cox</span><span>"</span>, standardize=<span>False)
pt.fit_transform(X)</span>

 

 

7.规范化(Normalization)

规范化是将不同变化范围的值映射到相同的固定范围,常见的是[0,1],此时也称为归一化。

X_normalized = preprocessing.normalize(X, norm=<span>"</span><span>l2</span><span>"</span>)

 

8.独热编码

enc = preprocessing.OneHotEncoder(categories=<span>"</span><span>auto</span><span>"</span><span>)
enc.fit(y.reshape(</span>-1,1<span>))
y_one_hot</span>=enc.transform(y.reshape(-1,1<span>))
y_one_hot.toarray()</span>

 

9.Binarizer二值化

binarizer = preprocessing.Binarizer(threshold=1.1<span>)
binarizer.fit(X)
binarizer.transform(X)</span>

 

10.多项式变换

poly =preprocessing.PolynomialFeatures(2<span>)
poly.fit_transform(X)</span>

 

11.自定义变换

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

 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python数据分析:常见的数据预处理方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址