最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中尋找數(shù)據(jù)異常值的3種方法

 更新時(shí)間:2022年08月22日 11:34:14   作者:sgzqc???????  
這篇文章主要介紹了Python中尋找數(shù)據(jù)異常值的3種方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

1. 引言

在數(shù)據(jù)處理、機(jī)器學(xué)習(xí)等領(lǐng)域,我們經(jīng)常需要對(duì)各式各樣的數(shù)據(jù)進(jìn)行處理,本文重點(diǎn)介紹三種非常簡(jiǎn)單的方法來檢測(cè)數(shù)據(jù)集中的異常值。 

2. 舉個(gè)栗子

為了方便介紹,這里給出我們的測(cè)試數(shù)據(jù)集,如下:

data = pd.DataFrame([
[87, 82, 85],
[81, 89, 75],
[86, 87, 69],
[91, 79, 86],
[88, 89, 82],
[0, 0, 0], # this guy missed the exam
[100, 100, 100],
], columns=["math", "science", "english"])

圖示如下:

假設(shè)這里我們有一堆學(xué)生的三門科目的考試成績(jī)——英語、數(shù)學(xué)和科學(xué)。這些學(xué)生通常表現(xiàn)很好,但其中一人錯(cuò)過了所有考試,三門科目都得了0分。在我們的分析中包括這個(gè)家伙可能會(huì)把事情搞砸,所以我們需要將他視為異常。

3. 孤立森林

使用孤立森林算法來求解上述異常值分析非常簡(jiǎn)單,代碼如下:

from sklearn.ensemble import IsolationForest
predictions = IsolationForest().fit(data).predict(data)
# predictions = array([ 1, 1, 1, 1, 1, -1, -1])

這里預(yù)測(cè)值針對(duì)每一行進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果為1或者-1;其中1表示該行不是異常值,而-1表示該行是異常值。在上述例子中,我們的孤立森林算法將數(shù)據(jù)中的最后2行都預(yù)測(cè)為異常值。

4. 橢圓模型擬合

使用孤橢圓模型擬合算法來求解上述異常值同樣非常方便,代碼如下:

from sklearn.covariance import EllipticEnvelope
predictions = EllipticEnvelope().fit(data).predict(data)
# predictions = array([ 1, 1, 1, 1, 1, -1, 1])

在上述代碼中,我們使用了另外一種異常值檢測(cè)算法來代替孤立森林算法,但是代碼保持不變。相似地,在預(yù)測(cè)值中,1表示非異常值,-1表示異常值。在上述情況下,我們的橢圓模型擬合算法只將倒數(shù)第二個(gè)學(xué)生作為異常值,即所有成績(jī)都為零的考生。

5. 局部異常因子算法

類似地,我們可以非常方便地使用局部異常因子算法來對(duì)上述數(shù)據(jù)進(jìn)行分析,樣例代碼如下:

from sklearn.neighbors import LocalOutlierFactor
predictions = LocalOutlierFactor(n_neighbors=5, novelty=True).fit(data).predict(data)
# array([ 1, 1, 1, 1, 1, -1, 1])

局部異常因子算法是sklearn上可用的另一種異常檢測(cè)算法,我們可以簡(jiǎn)單地在這里隨插隨用。同樣地,這里該算法僅將最后第二個(gè)數(shù)據(jù)行預(yù)測(cè)為異常值。

6. 挑選異常值檢測(cè)方法

那么,我們?nèi)绾螞Q定哪種異常檢測(cè)算法更好呢? 簡(jiǎn)而言之,沒有“最佳”的異常值檢測(cè)算法——我們可以將它們視為做相同事情的不同方式(并獲得略有不同的結(jié)果)

7. 異常值消除

在我們從上述三種異常檢測(cè)算法中的任何一種獲得異常預(yù)測(cè)后,我們現(xiàn)在可以執(zhí)行異常值的刪除。 這里我們只需保留異常預(yù)測(cè)為1的所有數(shù)據(jù)行,

代碼如下:

# predictions = array([ 1, 1, 1, 1, 1, -1, 1])
data2 = data[predictions==1]

結(jié)果如下:

8. 總結(jié)

本文重點(diǎn)介紹了在Python中使用sklearn機(jī)器學(xué)習(xí)庫(kù)來進(jìn)行異常值檢測(cè)的三種方法,并給出了相應(yīng)的代碼示例。

到此這篇關(guān)于Python中尋找數(shù)據(jù)異常值的3種方法的文章就介紹到這了,更多相關(guān)Python尋找數(shù)據(jù)異常值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python按行讀取文件,去掉每行的換行符\n的實(shí)例

    python按行讀取文件,去掉每行的換行符\n的實(shí)例

    下面小編就為大家分享一篇python按行讀取文件,去掉每行的換行符\n的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python中hashlib模塊用法示例

    python中hashlib模塊用法示例

    這篇文章主要介紹了python中hashlib模塊用法示例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • Python直接賦值、淺拷貝與深度拷貝實(shí)例分析

    Python直接賦值、淺拷貝與深度拷貝實(shí)例分析

    這篇文章主要介紹了Python直接賦值、淺拷貝與深度拷貝,結(jié)合實(shí)例形式分析了Python直接賦值、淺拷貝與深度拷貝的概念、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-06-06
  • Python中的urllib庫(kù)高級(jí)用法教程

    Python中的urllib庫(kù)高級(jí)用法教程

    這篇文章主要介紹了Python中的urllib庫(kù)高級(jí)用法教程,想要請(qǐng)求需要設(shè)置一些請(qǐng)求頭,如果要在請(qǐng)求的時(shí)候增加一些請(qǐng)求頭,那么就必須使用request.Request類來實(shí)現(xiàn)了,比如要增加一個(gè) User-Agent ,增加一個(gè) Referer 頭信息等,需要的朋友可以參考下
    2023-10-10
  • 關(guān)于Python 列表的索引取值問題

    關(guān)于Python 列表的索引取值問題

    這篇文章主要介紹了Python 列表的索引取值,本節(jié)重點(diǎn)掌握多次索引取值的語法:列表[索引][索引],結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 基于tensorflow __init__、build 和call的使用小結(jié)

    基于tensorflow __init__、build 和call的使用小結(jié)

    這篇文章主要介紹了基于tensorflow __init__、build 和call的使用小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 一文帶你掌握Python中多線程和線程池的使用方法

    一文帶你掌握Python中多線程和線程池的使用方法

    Python中的多線程和線程池是其強(qiáng)大的功能之一,可以讓我們更加高效地利用CPU資源,提高程序的運(yùn)行速度。本文將介紹Python中多線程和線程池的使用方法,并提供一些實(shí)用的案例供讀者參考
    2023-04-04
  • 使Python代碼流暢無縫連接的鏈?zhǔn)秸{(diào)用技巧

    使Python代碼流暢無縫連接的鏈?zhǔn)秸{(diào)用技巧

    鏈?zhǔn)秸{(diào)用是一種編程風(fēng)格,它允許將多個(gè)方法調(diào)用連接在一起,形成一個(gè)連貫的操作鏈,在Python中,鏈?zhǔn)秸{(diào)用常常用于使代碼更簡(jiǎn)潔、易讀,尤其在處理數(shù)據(jù)處理和函數(shù)式編程中應(yīng)用廣泛
    2024-01-01
  • Python中requests做接口測(cè)試的方法

    Python中requests做接口測(cè)試的方法

    Requests是一個(gè)很實(shí)用的Python HTTP客戶端庫(kù),編寫爬蟲和測(cè)試服務(wù)器響應(yīng)數(shù)據(jù)時(shí)經(jīng)常會(huì)用到,本文主要介紹了Python中requests做接口測(cè)試的方法,感興趣的可以了解一下
    2021-05-05
  • python opencv實(shí)現(xiàn)gif圖片分解的示例代碼

    python opencv實(shí)現(xiàn)gif圖片分解的示例代碼

    這篇文章主要介紹了python opencv實(shí)現(xiàn)gif圖片分解的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評(píng)論

黄平县| 凌海市| 洛阳市| 铁岭市| 甘孜县| 靖江市| 宝丰县| 安阳市| 武城县| 兰考县| 曲周县| 惠水县| 宕昌县| 勃利县| 漯河市| 卓尼县| 兴国县| 仁怀市| 手游| 保亭| 习水县| 当雄县| 襄汾县| 古浪县| 赣州市| 舒城县| 抚顺市| 宁都县| 大庆市| 安溪县| 那坡县| 河北区| 阳新县| 塔河县| 华亭县| 启东市| 巩留县| 合山市| 庄河市| 林口县| 遂昌县|