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

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

[复制链接]
( m& v7 m7 \: W( F
. Y0 H7 `, I# P5 M3 j/ T' u

铁甲将军夜渡关

7 o& Y! K# D' L0 H

朝臣带漏五更寒

* U8 ~* D/ ^" o# H; J$ D

山寺日高僧未起

& _" S5 i& r: W" Y' d) p' U

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

( `+ o3 g% O5 y. H! Z. e7 ]

一周没有更新了【吃瓜】

' z# m; R' L5 W3 }5 W

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

! C& {8 D8 `' y" Y! x2 b$ x$ S. h3 \

6 J. j' A, V' k! {$ U$ H, \

都忙

* h5 D! F6 `# @" T) m5 G

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

4 P9 T# D: O8 E& s
5 L3 p1 ^' g( m& @! l

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

# p5 i* F% u! K( t

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

) f2 M1 q! j* J$ l3 T

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

+ r$ d& g8 v; k* J* X$ a& o" ?! [

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

! |( o) p/ F7 |6 f. b+ B A

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

6 d" S' T) j% _0 c! A1 [. Z

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

, M& e1 P' |! v% C+ f

数据预处理(无量纲化

) V9 ]! C. B: A$ a

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

! s- N. N4 x! N

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

, Q1 B1 f/ {( a

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

8 j$ _! i/ {" S" k, l3 a* P

这会放大温度的影响效果

p/ u1 ~/ [ F) Z9 n4 }% @

数据归一化

9 Y) k* f% x# j

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

! ^% W: ~' G# k3 K1 y

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

" z# G/ s) \9 p/ _- W* [( U1 x5 _

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

! D( k- }3 n# `" O% z3 a
from sklearn.preprocessing import MinMaxScaler$ n, R# Z3 v+ U5 b 7 m4 z1 y" W' h6 o! S& d def mm(): 8 e' X, [# }# H4 q7 p* n5 b9 N """ # g. S" q3 h# { 归一化处理 / L7 z( F# [+ ]$ a: \ """4 f$ \4 G% F) d# u6 J # 实例化MinMaxScaler函数,不填写feature_range参数默认为0,12 F8 D8 q8 s& z% q j/ L* z7 q0 Z mm = MinMaxScaler(feature_range=(2, 3))3 [$ f( \. Z- p$ G7 T ; H: b" ]8 m4 ]4 G$ V. m data = mm.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]]) C# G! F! L' b9 |8 c8 N O& e7 a % \' H v5 `& p: x, t! v2 W print(data)2 V! t. B: j( J; S/ D( O ; a8 x x1 w! {5 j/ S return None @) [, m U) [, Y/ L! S ) v1 ?. @3 A% G+ @" f1 M, o if __name__ == "__main__": 4 L8 A/ r2 \7 G8 f; w- C+ T1 e mm() " [/ M# `) g2 H+ E! I
+ I7 M5 B: `" [0 g& h$ K/ G

数据标准化

/ O8 ^! O1 N% c. [" q

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

# F, U- e5 }' v% O. ]& q( X
from sklearn.preprocessing import StandardScaler , U6 z9 n: m5 M1 a' | % W2 c6 {$ `; f # x = x-mean/γ mean:平均值 γ:标准差 4 ^1 P" b8 q2 A# f # 方差 = (x1-mean)²+(x2-mean)²+(xn-mean)² / n 标准差 = 方差开根号 8 D9 _5 R* K5 K; f+ U! L6 K # 优点,不易受异常数据印象0 m' m3 T) L2 G1 Z6 Z % F% _. M8 e. {6 ?( p # 一个目标变量由多个特征变量影响,当一个特征变量很大时,影响程度更大,所以我们进行标准化,消除这样的影响# ^4 {" q7 W6 \& Z9 K def stand():* i$ r" P5 ?! ]8 J% v """ $ M( U$ ]2 {" [- x6 _ 标准化缩放 2 X) d7 H& \( O Q """ ; M7 Z, O1 s7 o) i% x std = StandardScaler()$ q! }# {* `: Y0 P3 h: W1 Q; a 1 v1 L/ O4 K9 P' a8 c# i pre_data = [[ 1000., -1., 3.],[ 2000., 4., 2.],[ 4000., 6., -1.]] ( \% Z" e: `- S, ^ 9 M9 H' q+ O. q" Y data = std.fit_transform(pre_data) u# c3 Q. ]+ B4 \ print((1000-2000)) . B- r7 V0 z/ Z' ` print(pre_data) % Q+ h* R: E; F print(data) 4 J6 v6 [9 L0 u. F6 |+ ^$ B" D G; m* S2 k) }, m- [! ~/ F G return None $ d. j8 x# q$ y$ {8 w - }3 T& J e1 M$ r* A if __name__ == "__main__": , H+ m8 {* L& o( n stand() 7 {* N4 R' i9 P
2 ~" v3 _! B, M8 o* C0 z8 S* a: `

下一期讲一讲特征工程

3 Z5 x# B& @ t% c4 D2 C

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

8 T* [# l ?2 j! U7 V$ L/ R# }, x# ]
K5 c: [( f- w3 h 0 q; n' r' @* q$ Q7 K, {' K! W1 |; j: F, J, ^, m r! s( Z % E) s8 v& q" d J" S7 c9 W 7 O7 F U( x# ?; L
回复

举报 使用道具

相关帖子

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