中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

你會用Python做數(shù)據(jù)預處理嗎?

2021-02-08    分類: 網(wǎng)站建設

在拿到一份數(shù)據(jù)準備做挖掘建模之前,首先需要進行初步的數(shù)據(jù)探索性分析(你愿意花十分鐘系統(tǒng)了解數(shù)據(jù)分析方法嗎?),對數(shù)據(jù)探索性分析之后要先進行一系列的數(shù)據(jù)預處理步驟。因為拿到的原始數(shù)據(jù)存在不完整、不一致、有異常的數(shù)據(jù),而這些“錯誤”數(shù)據(jù)會嚴重影響到數(shù)據(jù)挖掘建模的執(zhí)行效率甚至導致挖掘結(jié)果出現(xiàn)偏差,因此首先要數(shù)據(jù)清洗。數(shù)據(jù)清洗完成之后接著進行或者同時進行數(shù)據(jù)集成、轉(zhuǎn)換、歸一化等一系列處理,該過程就是數(shù)據(jù)預處理。一方面是提高數(shù)據(jù)的質(zhì)量,另一方面可以讓數(shù)據(jù)更好的適應特定的挖掘模型,在實際工作中該部分的內(nèi)容可能會占整個工作的70%甚至更多。

01、缺失值處理

由于人員錄入數(shù)據(jù)過程中或者存儲器損壞等原因,缺失值在一份數(shù)據(jù)中或多或少存在,所以首先就需要對缺失值進行處理,缺失值處理總的原則是:使用最可能的值代替缺失值,使缺失值與其他數(shù)值之間的關系保持大。具體的常用方法如下:

  • 刪除缺失值(缺失值占比很小的情況)
  • 人工填充 (數(shù)據(jù)集小,缺失值少)
  • 用全局變量填充(將缺失值填充一常數(shù)如“null”)
  • 使用樣本數(shù)據(jù)的均值或中位數(shù)填充
  • 用插值法(如拉格朗日法、牛頓法)

Python缺失值處理實例代碼:

a、判斷刪除缺失值- -isnull,notnull

  • 判斷缺失值可以用來計算缺失值占比整個數(shù)據(jù)的大小,如果占比很小可以刪除缺失值。

b、填充替換缺失值--fillna

  • 如果缺失值不可以占比很多,就不能能夠輕易的刪除缺失值,可以用上述的插值方法填充缺失值。

c、核心代碼和結(jié)果圖:

02、異常值處理

異常值是數(shù)據(jù)集中偏離大部分數(shù)據(jù)的數(shù)據(jù)。從數(shù)據(jù)值上表現(xiàn)為:數(shù)據(jù)集中與平均值的偏差超過兩倍標準差的數(shù)據(jù),其中與平均值的偏差超過三倍標準差的數(shù)據(jù)(3σ原則),稱為高度異常的異常值。

  • 異常值分析方法
  • 3σ原則 (數(shù)據(jù)分布為正態(tài)分布)
  • 箱型圖分析(內(nèi)限or外限)。

常用處理方法如下:

  • 直接刪除 (異常值占比小)
  • 暫且保留,待結(jié)合整體模型綜合分析
  • 利用現(xiàn)有樣本信息的統(tǒng)計量填充(均值等)

Python異常值處理實例代碼:

  • 檢驗是否符合正態(tài)分布,符合用3σ原則判斷并處理,核心代碼結(jié)果如下:

2. 當不符合正態(tài)分布時可用箱型圖分析處理,核心結(jié)果代碼如下:

你會用Python做數(shù)據(jù)預處理嗎?

你會用Python做數(shù)據(jù)預處理嗎?

03、數(shù)據(jù)標準化處理

數(shù)據(jù)的標準化(normalization)是將數(shù)據(jù)按比例縮放,使之落入一個小的特定區(qū)間。在某些比較和評價的指標處理中經(jīng)常會用到,去除數(shù)據(jù)的單位限制,將其轉(zhuǎn)化為無量綱的純數(shù)值,便于不同單位或量級的指標能夠進行比較和加權,最典型的就是數(shù)據(jù)歸一化處理就是將數(shù)據(jù)統(tǒng)一映射到[0,1]區(qū)間上 。

常用數(shù)據(jù)標準化方法:

  • MIN- MAX標準化(x - x_min)/(x_max-x_min)
  • z-score標準化(x-x_mean)/x_std
  • 小數(shù)定標標準化
  • 向量歸一化
  • 線性比例變換法
  • 平均值法
  • 指數(shù)轉(zhuǎn)換法

歸一化的目的:

  • 使得預處理的數(shù)據(jù)被限定在一定的范圍
  • 消除奇異樣本數(shù)據(jù)導致的不良影響

在大佬Ng的視頻課中聽過一句話,歸一化會加快梯度下降的求解速度。

應用場景說明:

  • SVM、線性回歸之類的最優(yōu)化問題需要歸一化,是否歸一化主要在于是否關心變量取值;
  • 神經(jīng)網(wǎng)絡需要標準化處理,一般變量的取值在-1到1之間,這樣做是為了弱化某些變量的值較大而對模型產(chǎn)生影響。一般神經(jīng)網(wǎng)絡中的隱藏層采用tanh激活函數(shù)比sigmod激活函數(shù)要好些,因為tanh雙曲正切函數(shù)的取值[-1,1]之間,均值為0;
  • 在K近鄰算法中,如果不對解釋變量進行標準化,那么具有小數(shù)量級的解釋變量的影響就會微乎其微。

注意:沒有一種數(shù)據(jù)標準化的方法,放在每一個問題,放在每一個模型,都能提高算法精度和加快算法的收斂速度。所以對于不同的問題可能會有不同的歸一化方法。在分類、聚類算法中,需要使用距離來度量相似性的時候、或者使用PCA技術進行降維的時候,Z-score standardization表現(xiàn)更好。

04、數(shù)據(jù)連續(xù)屬性離散化

一些數(shù)據(jù)挖掘算法,特別是分類算法,要求數(shù)據(jù)是分類屬性形式。常常需要將連續(xù)屬性變換成分類屬性,即連續(xù)屬性離散化。 常用的離散化方法:

  • 等寬法:將屬性值域分成具有相同寬度的區(qū)間,區(qū)間的個數(shù)由數(shù)據(jù)本身的特點決定,或者由用戶指定,類似于制作頻率分布表。
  • 等頻法:將相同數(shù)量的記錄放進每個區(qū)間。
  • 基于聚類分析的方法。 通過分箱離散化、通過直方圖分析離散化、通過聚類、決策樹和相關分析離散化、標稱數(shù)據(jù)的概念分層產(chǎn)生。

05、總結(jié)

本文是筆者在學習數(shù)據(jù)分析過程中記錄下來的一些通用的數(shù)據(jù)預處理步驟,并且用Numpy、Pandas、Matplotlib等實現(xiàn)了每一種處理方法并可視化了處理結(jié)果。

網(wǎng)頁名稱:你會用Python做數(shù)據(jù)預處理嗎?
本文地址:http://www.rwnh.cn/news6/99756.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司網(wǎng)站制作、軟件開發(fā)、營銷型網(wǎng)站建設、云服務器、品牌網(wǎng)站設計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
石狮市| 汝州市| 湘潭市| 中阳县| 贵港市| 遂昌县| 东丽区| 万山特区| 堆龙德庆县| 邹平县| 深圳市| 大兴区| 澎湖县| 新闻| 吉木乃县| 邯郸市| 永康市| 囊谦县| 济阳县| 昌乐县| 馆陶县| 阿坝县| 郎溪县| 新疆| 扶绥县| 牟定县| 永福县| 紫金县| 益阳市| 淮安市| 乡城县| 游戏| 四平市| 麻栗坡县| 澄江县| 永清县| 大名县| 隆昌县| 信宜市| 深泽县| 黄陵县|