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

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

[复制链接]
0 j) H% \9 b9 `5 M' k
6 {# m. P' q& V+ l5 }

铁甲将军夜渡关

# m/ I% @& s/ V% ?: E6 n; R* |

朝臣带漏五更寒

( \5 m: |/ j) C5 v, a5 h! j

山寺日高僧未起

/ ?5 d% t( m: v$ q b6 x

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

) S: I0 O8 @* u* c

一周没有更新了【吃瓜】

( H5 m) ~/ N, Z7 u

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

3 l; r# O$ x- e S+ O- Y- ?

( j( z5 |- Z2 J n4 r4 ^& b) Z

都忙

' W6 ^+ A) o# J

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

( P! j' v! V4 S! o
, ]: E# r, G) L& h3 t

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

* F- U* N/ Z5 T5 e

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

W1 |+ ^0 I: `- [, k2 u

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

& x/ ^+ s4 B. d g

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

/ o! e5 `# e5 N; u7 r8 l

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

. W+ s$ D; U- G- K3 @! I

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

% X& U+ o4 P+ L |8 @

数据预处理(无量纲化

! o9 ~0 {6 G' v9 x1 X; _4 y' g

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

) r8 E, K( v9 u# U5 ~) w

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

) n1 c$ \7 M# K

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

( f. t; }- W" r4 D

这会放大温度的影响效果

9 m- r4 ]# P! q( A

数据归一化

: @8 B0 u( y6 L

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

5 h T$ j3 V; i8 x

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

7 ?; g6 D7 h2 W5 v. v: G p( [

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

# L" u% I& f9 c. c+ I
from sklearn.preprocessing import MinMaxScaler 7 x- X6 p! ?- u8 Z3 I # C; Z0 `, n# x def mm(): 5 J# g. V" v% ]3 ^) A" C. e: q( a """) p4 y3 E t$ P q6 H: D. V 归一化处理% {! k6 i2 ?1 B' C- c """ 8 u9 w! S/ R3 }# D0 y: W8 Q # 实例化MinMaxScaler函数,不填写feature_range参数默认为0,1 6 p8 g- }7 a/ ^ mm = MinMaxScaler(feature_range=(2, 3)) 1 ^; R( `. b3 \6 _5 ~& R1 ~8 z0 q( U5 F1 T+ d data = mm.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]]) 6 ?# d4 K" }& Z& |4 r* {4 k/ ]; S0 T3 D print(data)( H. {; b! n% S; y , s6 I o' O1 W& c9 X6 ]$ ~/ V return None 8 M+ x; I c/ k! _" ? ( g: O/ g2 `- n& z) Z if __name__ == "__main__": : b* F! c6 O0 D! T/ d2 b' M+ \ mm()2 M6 k, M) p- `; M7 I
" F5 u$ U, @# s( ~, h* Q8 g

数据标准化

6 ~2 l k; }0 b& Q2 Z, {

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

2 l- r4 l$ t7 P% A
from sklearn.preprocessing import StandardScaler 4 L" p' U# J3 r) W; w$ { ' _/ O$ t! U- V' {7 }8 ? # x = x-mean/γ mean:平均值 γ:标准差, t# V0 O5 \& u# h9 q2 O # 方差 = (x1-mean)²+(x2-mean)²+(xn-mean)² / n 标准差 = 方差开根号! E0 P; M$ u, [4 E # 优点,不易受异常数据印象 / B8 z& \3 L1 f( R" w# ^: U, F- @8 f O. e& p+ V6 I # 一个目标变量由多个特征变量影响,当一个特征变量很大时,影响程度更大,所以我们进行标准化,消除这样的影响 / |; y! I7 h l* x def stand(): ; S. W* M5 Z0 v/ u3 l$ e5 z1 [, Z """ 5 p. e! }0 F- N- g6 r+ G 标准化缩放 0 h$ [0 f* w# T: i+ ` """+ D% r8 a& i6 E. u std = StandardScaler()9 b4 ]: Q; e! t6 A$ M& f! ~5 ] 8 _" O5 S8 y' Y6 v: D' h/ a pre_data = [[ 1000., -1., 3.],[ 2000., 4., 2.],[ 4000., 6., -1.]] 2 A1 Q. C/ P; V: }$ ~) k: V: f( i5 _3 b A. j data = std.fit_transform(pre_data) . o6 |/ }6 X/ b print((1000-2000))( ~8 ^( W4 l; O- K/ [+ G print(pre_data)2 h& _ B& \' F* E! \ print(data)9 M. Y* m% h3 j& L- R4 D & I8 F- ~$ V# ?& q: Q7 c' t) Y+ k* M return None # W6 ^, k' j! J: C1 j T" ^" a # e# }4 V E8 Y: l! N: \ if __name__ == "__main__":% `, k$ ]$ V$ K$ j' c stand()" u0 c) e ?# o* @7 ~
! } c. J$ b7 S2 E. x

下一期讲一讲特征工程

7 r3 m6 x9 v3 P4 x

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

6 _+ c0 t, e4 I( n
6 j0 f2 Q7 \" F" k3 v # Z3 O* p% o+ ?4 } - r. e V" X4 h3 T* ]& N 7 X+ _5 ~0 J: T 3 O4 F+ p; k3 J9 }- {
回复

举报 使用道具

相关帖子

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