收藏本站 劰载中...网站公告 | 吾爱海洋论坛交流QQ群:835383472

关于机器学习数据挖掘中的数据预处理问题?

[复制链接]
. u# S0 H0 L3 Y, M% i
9 ~2 V) G( W) h* v- h5 o

铁甲将军夜渡关

) l9 B5 Z8 c5 j9 g& v% G2 v- J) I

朝臣带漏五更寒

; X6 k8 g* a0 B+ m `9 p3 ]8 g

山寺日高僧未起

1 \& A7 n. V* F& e% j& B

看来名利不如闲 啪!(醒木的声音)

, u! z, X2 S7 |; P' W/ e: F

一周没有更新了【吃瓜】

/ t( L1 e3 ^, t8 C/ F0 Q( _

因为了小小的科(摸)研(鱼)任务

; V. {$ H# Q9 u1 W

) X: M1 ?: a! |- B1 q

都忙

6 k/ C6 m5 j% N, S, W, t

忙点好啊(主要是早上不起床)

4 A8 J, o/ q4 n- e- i0 ~2 t
) ]9 v* W5 I8 `2 H! Q

我们在进行数据分析时,有一个非常重要的前期操作--数据预处理

, H* c- c+ F3 [$ p

在学习机器学习算法时,为了更好的理解算法的基本思想

$ R4 i6 X& U, J \% M" M6 r

会用到处理过的很干净的数据集

" ^ G/ h. a' m' f. _$ w; }

而真实的数据中,多种多样的数据类型、输入的错误、数据的质量等等原因

. I) ~( T5 ^0 Z# }

都可能导致无法匹配模型需求

( Y+ b5 N. ]9 A- {5 s

这时候就需要进行数据预处理工作

8 D( O5 ]+ S% g+ Y

数据预处理(无量纲化

" t/ k! v8 Y; V+ f3 P* v: C/ [

把不同规格的数据转为到统一规格就是无量纲化

5 a0 Q. p- s& T4 X

比如我们判断环境参数对浮游植物的影响

& F9 B3 R; x5 X3 e

22.9°的温度显然比0.044μmol/L的磷浓度有更大取值范围

( k# x" I% o/ C$ T$ }2 f' F0 I& ^

这会放大温度的影响效果

, c7 i9 p* U% i+ o9 b, O- q& m

数据归一化

9 n% o: h. w9 F

将数据收敛到[0,1]之间该过程就是数据归一化

2 k& F5 L/ V& Y6 B# Y. I3 D- a

可以使用sklearn中preprocessing.MinMaxScaler来实现这个功能

8 a8 ~" ~% ?/ A& ?2 X3 v' H

归一化后的数据服从正态分布

N4 x1 p7 e0 \4 T% c& j% Q
from sklearn.preprocessing import MinMaxScaler ) Z5 {$ g2 G) \8 A& v! j* { % W1 M0 e( ]( Q, ~; j def mm(): N' H, [2 A! E7 W$ @ """; ~ _/ ]1 s& `& o 归一化处理 ; S2 N3 D. r( A: \: U5 d" z """ & Y% U( `% y) E" L # 实例化MinMaxScaler函数,不填写feature_range参数默认为0,1, H7 @) Y" {* |) ^/ { mm = MinMaxScaler(feature_range=(2, 3)) . C% Q( k: [. |# A4 C" ?' q5 T; X3 b# [- u data = mm.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]]) + x! ]& d$ s2 d2 D/ ^# i + `# g" M- `. l print(data): ?* ^: n" [6 d' y( p0 c 1 ^5 T6 y) I; M$ m, T: _ return None 6 ?, y# K: }& |$ w' E* o7 ^, R, H5 d. Q0 I- l if __name__ == "__main__": 4 N5 y* K8 ~9 o1 {' N mm()# E( U1 H) M$ u' ^" n# ?8 Q% @
! c+ n# M6 v3 Z% e ]0 O3 o! \

数据标准化

, y, S/ A7 p L- w/ R1 U

标准化后的数据服从均值为0方差为1的正态分布

& G& M+ Y4 G8 \: Y
from sklearn.preprocessing import StandardScaler! C% ?4 j2 o4 u6 j( j 7 [+ ]+ M! C, _+ p/ \ # x = x-mean/γ mean:平均值 γ:标准差 s4 u* E$ L% | # 方差 = (x1-mean)²+(x2-mean)²+(xn-mean)² / n 标准差 = 方差开根号 O# }3 B: b: [/ @+ ^" W # 优点,不易受异常数据印象3 R5 n* n! q+ u / ^. I: `- n! y8 X # 一个目标变量由多个特征变量影响,当一个特征变量很大时,影响程度更大,所以我们进行标准化,消除这样的影响7 `3 g2 n. x% D def stand():* Y) j$ }+ e& i" L; e """. f( A( `: [' r' B$ P! A- ~0 p% q 标准化缩放 $ z* N- a+ v5 Y4 @- I9 W& X """ ) ?2 W" ^) u/ V( \ std = StandardScaler()9 X" D- z$ k% I 5 D: O3 C! x$ \8 {. U1 X pre_data = [[ 1000., -1., 3.],[ 2000., 4., 2.],[ 4000., 6., -1.]] , U/ e3 N5 @3 u/ K$ o- g7 i6 I2 j: G9 s5 k& w$ B, l' S data = std.fit_transform(pre_data)7 `* M5 a) s5 l) F print((1000-2000)) & l8 G+ ]! G/ @" A1 ?: K3 Y print(pre_data). V+ U3 M, C% I- i print(data)7 _& D+ u" ?. Y$ D. T6 S ( O. R T7 ~+ |$ D" O1 _ h A5 H- O* ? return None 6 B- b# c* ]! a8 P1 H* y' J$ U( m# n o( U( i if __name__ == "__main__":7 T- f% u: M5 Z' _. f stand() + ~' ^0 x/ I! ^
) i6 a5 |; z# I- a- W0 g

下一期讲一讲特征工程

8 j2 h4 P, b# {: U6 a3 j

关注我【生物海洋计算机支线】,获得更多生物海洋学,数据处理,作图等相关知识

1 n- q% P# w5 ?1 D# b5 c
) P' c @& A8 u" v5 n; L8 E9 J + N7 W2 q- Y% ~1 I1 N " R3 ^5 e% u3 ? O0 h4 b% ^% _9 T8 m5 p \ 0 ^0 A$ a, z. L9 i d0 {& g# f6 _, O" Z" S7 l L0 _
回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
哈依盟
活跃在半小时前
快速回复 返回顶部 返回列表