1.數(shù)據(jù)預(yù)處理

?數(shù)據(jù)挖掘:也就是data mining,是一個很寬泛的概念刊咳,字面意思就是從大型數(shù)據(jù)存儲庫中挖掘有用的信息彪见。

數(shù)據(jù)挖掘是統(tǒng)計學(xué),機器學(xué)習(xí)芦缰,數(shù)據(jù)庫三者的統(tǒng)一企巢。它利用的思想有:

(1)統(tǒng)計學(xué)的抽樣枫慷、估計让蕾、假設(shè)檢驗;

(2)人工智能或听、機器學(xué)習(xí)的算法探孝、建模技術(shù)和理論;

(3)此外需要數(shù)據(jù)庫提供有效的存儲誉裆、索引顿颅、查詢等處理支持。

之后的數(shù)據(jù)挖掘?qū)W習(xí)就分這幾部分去學(xué)習(xí):

數(shù)據(jù)預(yù)處理足丢,關(guān)聯(lián)分析粱腻,回歸分析,分類斩跌,聚類绍些,預(yù)測,診斷

在開始數(shù)據(jù)挖掘六大任務(wù)之前的耀鸦,先了解數(shù)據(jù)預(yù)處理相關(guān)知識柬批。

由于數(shù)據(jù)挖掘的數(shù)據(jù)基本來自生產(chǎn)啸澡、生活、商業(yè)中的實際數(shù)據(jù)氮帐,現(xiàn)實中我們采集到的數(shù)據(jù)往往存在:不正確嗅虏、不完整、不一致這三個問題上沐。因此需要提高數(shù)據(jù)質(zhì)量皮服,滿足數(shù)據(jù)挖掘的需要。

數(shù)據(jù)預(yù)處理一般就四種:

數(shù)據(jù)清洗

用來清除數(shù)據(jù)中的噪聲参咙,糾正不一致冰更。一般包括缺失值處理和異常值處理。

一昂勒、缺失值的處理:

總的來說分刪除法和插補法

判斷是否有缺失值:isnull(缺失True)蜀细、notnull(缺失False)

結(jié)合bool索引篩選不為空的數(shù)據(jù):df[df['col1'].notnull()]

刪除缺失值:df.dropna( )

填充缺失值:df.fillna()填充缺失值

替換缺失數(shù)據(jù):df.replace()

缺失值插補-均值mean/中位數(shù)median/眾數(shù)mode

臨近值插補:method參數(shù):pad / ffill → 用之前的數(shù)據(jù)填充,backfill / bfill → 用之后的數(shù)據(jù)填充

(1)刪除法:刪除存在缺失值的記錄(僅當(dāng)樣本量很大且缺失值記錄所占樣本比例<5%時可行)

# 判斷是否有缺失值數(shù)據(jù) - isnull戈盈,notnull?

df = pd.DataFrame({'value1':[12,33,45,23,np.nan,np.nan,66,54,np.nan,99,190],

? ? ? ? ? ? ? ? ? 'value2':['a','b','c','d','e',np.nan,np.nan,'f','g',np.nan,'g']})

print(df.notnull())? # Dataframe直接判斷是否是缺失值奠衔,返回一個兩列的Series

print(df['value1'].notnull())? # 通過索引判斷

# 刪除缺失值 - dropna

s = pd.Series([12,33,45,23,np.nan,np.nan,66,54,np.nan,99])

df = pd.DataFrame({'value1':[12,33,45,23,np.nan,np.nan,66,54,np.nan,99,190],

? ? ? ? ? ? ? ? ? 'value2':['a','b','c','d','e',np.nan,np.nan,'f','g',np.nan,'g']})

s.dropna(inplace = True)? ? # 5.26發(fā)現(xiàn)可以這樣寫:s[s>0]

df2 = df['value1'].dropna()

(2)插補法:對稱數(shù)據(jù)可以使用均值,傾斜數(shù)據(jù)應(yīng)該使用中位數(shù)塘娶。

# 填充/替換缺失數(shù)據(jù) - fillna归斤、replace

s = pd.Series([12,33,45,23,np.nan,np.nan,66,54,np.nan,99])

s.fillna(0,inplace = True)

s.replace(np.nan,'缺失數(shù)據(jù)',inplace = True)? ?

# 缺失值插補

# 幾種思路:均值/中位數(shù)/眾數(shù)插補、臨近值插補刁岸、插值法

#? 1)均值/中位數(shù)/眾數(shù)插補

s.fillna(s.mean(),inplace = True)? ? ? ? ??# 用均值填補脏里,s.median()? # 中位數(shù)

s.replace(np.nan,s.mean(),inplace = True)? ??

#? 2)臨近值插補

s.fillna(method = 'ffill',inplace = True)? ? # 用前值插補

# method參數(shù):# pad / ffill → 用之前的數(shù)據(jù)填充 # backfill / bfill → 用之后的數(shù)據(jù)填充

二、異常值處理方法?

異常值是指樣本中的個別值虹曙,其數(shù)值明顯偏離其余的觀測值迫横。異常值也稱離群點,異常值的分析也稱為離群點的分析酝碳。

異常值分析:

3σ原則:數(shù)據(jù)服從正態(tài)分布矾踱,異常值被定義為一組測定值中與平均值的偏差超過3倍的值 → p(|x - μ| > 3σ) ≤ 0.003 error=data[np.abs(data-u)>3*std]

箱型圖:dat.plot.box()借助describe函數(shù)計算分位差I(lǐng)QR,下限mi=q1-1.5*iqr疏哗,上限ma=q3+1.5*iqrerror = data[(data < mi) | (data > ma)]

散點圖:利用散點圖觀察異常點位置

(1)呛讲、3σ原則:如果數(shù)據(jù)服從正態(tài)分布,異常值被定義為一組測定值中與平均值的偏差超過3倍的值 → p(|x - μ| > 3σ) ≤ 0.003

data = pd.Series(np.random.randn(10000)*100)? ? ? # 創(chuàng)建數(shù)據(jù)

u = data.mean()? ? # 計算均值

error = data[np.abs(data - u) > 3*std]?? ? ? # 篩選出異常值error

data_c = data[np.abs(data - u) <= 3*std]?? ?# 剔除異常值之后的數(shù)據(jù)data_c

print('異常值共%i條' % len(error))

(2)返奉、箱型圖分析

s = data.describe()

q1 = s['25%']

q3 = s['75%']

iqr = q3 - q1? ? # # 計算分位差

mi = q1 - 1.5*iqr

ma = q3 + 1.5*iqr

print('分位差為:%.3f贝搁,下限為:%.3f,上限為:%.3f' % (iqr,mi,ma))

ax2 = fig.add_subplot(2,1,2)

error = data[(data < mi) | (data > ma)]? ? ? ? ??# 篩選出異常值error

data_c = data[(data >= mi) & (data <= ma)]

print('異常值共%i條' % len(error))? ? ? ? ? ? ? ? ?# 剔除異常值之后的數(shù)據(jù)data_c

數(shù)據(jù)集成

將數(shù)據(jù)由多個數(shù)據(jù)源合并成一個一致的數(shù)據(jù)存儲芽偏,減少數(shù)據(jù)集的冗余和不一致雷逆,去除重復(fù)。

數(shù)據(jù)規(guī)約

刪除冗余特征或聚類降低數(shù)據(jù)的規(guī)模哮针,仍接近原始數(shù)據(jù)的完整性关面。

數(shù)據(jù)變換

數(shù)據(jù)變化是將數(shù)據(jù)由一種表現(xiàn)形式變?yōu)榱硪环N表現(xiàn)形式坦袍。常見的數(shù)據(jù)變換方式是:數(shù)據(jù)標(biāo)準(zhǔn)化、數(shù)據(jù)離散化等太、語義轉(zhuǎn)換捂齐。

0-1標(biāo)準(zhǔn)化 將數(shù)據(jù)的最大最小值記錄下來,并通過Max-Min作為基數(shù)(即Min=0缩抡,Max=1)進(jìn)行數(shù)據(jù)的歸一化處理 x = (x - Min) / (Max - Min)

Z-score標(biāo)準(zhǔn)化z=(x-μ)/σ奠宜,其中x為某一具體分?jǐn)?shù),μ為平均數(shù)瞻想,σ為標(biāo)準(zhǔn)差Z值的量代表著原始分?jǐn)?shù)和母體平均值之間的距離压真,有正負(fù)。在分類蘑险、聚類算法中滴肿,需要使用距離來度量相似性的時候,Z-score表現(xiàn)更好

(1)數(shù)據(jù)標(biāo)準(zhǔn)化

0-1標(biāo)準(zhǔn)化:

# 將數(shù)據(jù)的最大最小值記錄下來佃迄,并通過Max-Min作為基數(shù)(即Min=0泼差,Max=1)進(jìn)行數(shù)據(jù)的歸一化處理

# x = (x - Min) / (Max - Min)

Z-score標(biāo)準(zhǔn)化:

# Z分?jǐn)?shù)(z-score),是一個分?jǐn)?shù)與平均數(shù)的差再除以標(biāo)準(zhǔn)差的過程 → z=(x-μ)/σ,其中x為某一具體分?jǐn)?shù)呵俏,μ為平均數(shù)堆缘,σ為標(biāo)準(zhǔn)差

# Z值的量代表著原始分?jǐn)?shù)和母體平均值之間的距離,是以標(biāo)準(zhǔn)差為單位計算普碎。在原始分?jǐn)?shù)低于平均值時Z則為負(fù)數(shù)吼肥,反之則為正數(shù)

# 數(shù)學(xué)意義:一個給定分?jǐn)?shù)距離平均數(shù)多少個標(biāo)準(zhǔn)差?

# 經(jīng)過處理的數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分布,即均值為0麻车,標(biāo)準(zhǔn)差為1

# 什么情況用Z-score標(biāo)準(zhǔn)化:

# 在分類缀皱、聚類算法中,需要使用距離來度量相似性的時候绪氛,Z-score表現(xiàn)更好

(2)離散化

指將連續(xù)性數(shù)據(jù)切分為多個“段”唆鸡,有些數(shù)據(jù)挖掘算法要求數(shù)據(jù)是分類屬性的形式涝影。

(3)語義轉(zhuǎn)換

將{非常好枣察,好,一般燃逻,差序目,非常差}這種轉(zhuǎn)化為{1,2,3,4,5}來替代。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伯襟,一起剝皮案震驚了整個濱河市猿涨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌姆怪,老刑警劉巖叛赚,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件澡绩,死亡現(xiàn)場離奇詭異,居然都是意外死亡俺附,警方通過查閱死者的電腦和手機肥卡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來事镣,“玉大人步鉴,你說我怎么就攤上這事×в矗” “怎么了氛琢?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長随闪。 經(jīng)常有香客問我阳似,道長,這世上最難降的妖魔是什么铐伴? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任障般,我火速辦了婚禮,結(jié)果婚禮上盛杰,老公的妹妹穿的比我還像新娘挽荡。我一直安慰自己,他們只是感情好即供,可當(dāng)我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布定拟。 她就那樣靜靜地躺著,像睡著了一般逗嫡。 火紅的嫁衣襯著肌膚如雪青自。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天驱证,我揣著相機與錄音延窜,去河邊找鬼。 笑死抹锄,一個胖子當(dāng)著我的面吹牛逆瑞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播伙单,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼获高,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了吻育?” 一聲冷哼從身側(cè)響起念秧,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎布疼,沒想到半個月后摊趾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體币狠,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年砾层,在試婚紗的時候發(fā)現(xiàn)自己被綠了总寻。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡梢为,死狀恐怖渐行,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情铸董,我是刑警寧澤祟印,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站粟害,受9級特大地震影響蕴忆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜悲幅,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一套鹅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧汰具,春花似錦卓鹿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至聚蝶,卻和暖如春杰妓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背碘勉。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工巷挥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人验靡。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓倍宾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親晴叨。 傳聞我的和親對象是個殘疾皇子凿宾,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,573評論 2 353