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

PyOD進(jìn)行異常值檢測(cè)使用實(shí)例

 更新時(shí)間:2024年02月16日 12:30:24   作者:Deephub  
異常值檢測(cè)各個(gè)領(lǐng)域的關(guān)鍵任務(wù)之一,PyOD是Python Outlier Detection的縮寫(xiě),可以簡(jiǎn)化多變量數(shù)據(jù)集中識(shí)別異常值的過(guò)程,在本文中,我們將介紹PyOD包,并通過(guò)實(shí)際給出詳細(xì)的代碼示例

PyOD簡(jiǎn)介

PyOD為異常值檢測(cè)提供了廣泛的算法集合,適用于有監(jiān)督和無(wú)監(jiān)督的場(chǎng)景。無(wú)論處理的是帶標(biāo)簽的數(shù)據(jù)還是未帶標(biāo)簽的數(shù)據(jù),PyOD都提供了一系列技術(shù)來(lái)滿(mǎn)足特定需求。PyOD的突出特性之一是其用戶(hù)友好的API,使新手和有經(jīng)驗(yàn)的從業(yè)者都可以輕松的訪問(wèn)它。

示例1:kNN

我們從一個(gè)簡(jiǎn)單的例子開(kāi)始,利用k近鄰(kNN)算法進(jìn)行離群值檢測(cè)。

首先從PyOD導(dǎo)入必要的模塊

 from pyod.models.knn import KNN 
 from pyod.utils.data import generate_data
 from pyod.utils.data import evaluate_print

我們生成具有預(yù)定義離群率的合成數(shù)據(jù)來(lái)模擬異常值。

contamination = 0.1  # percentage of outliers
 n_train = 200  # number of training points
 n_test = 100  # number of testing points
 X_train, X_test, y_train, y_test = generate_data(
     n_train=n_train, n_test=n_test, contamination=contamination)

初始化kNN檢測(cè)器,將其與訓(xùn)練數(shù)據(jù)擬合,并獲得離群值預(yù)測(cè)。

clf_name = 'KNN'
 clf = KNN()
 clf.fit(X_train)

使用ROC和Precision @ Rank n指標(biāo)評(píng)估訓(xùn)練模型在訓(xùn)練和測(cè)試數(shù)據(jù)集上的性能。

print("\nOn Training Data:")
 evaluate_print(clf_name, y_train, clf.decision_scores_)
 print("\nOn Test Data:")
 evaluate_print(clf_name, y_test, clf.decision_function(X_test))

最后可以使用內(nèi)置的可視化功能可視化離群檢測(cè)結(jié)果。

from pyod.utils.data import visualize
 
 visualize(clf_name, X_train, y_train, X_test, y_test, clf.labels_,
           clf.predict(X_test), show_figure=True, save_figure=False)

這是一個(gè)簡(jiǎn)單的用法示例

示例2 模型集成

異常值檢測(cè)有時(shí)會(huì)受到模型不穩(wěn)定性的影響,特別是在無(wú)監(jiān)督的情況下。所以PyOD提供了模型組合技術(shù)來(lái)提高魯棒性。

import numpy as np
 from sklearn.model_selection import train_test_split
 from scipy.io import loadmat
 
 from pyod.models.knn import KNN
 from pyod.models.combination import aom, moa, average, maximization, median
 from pyod.utils.utility import standardizer
 from pyod.utils.data import generate_data
 from pyod.utils.data import evaluate_print
 
 X, y = generate_data(train_only=True)  # load data
 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4)
 
 # standardizing data for processing
 X_train_norm, X_test_norm = standardizer(X_train, X_test)
 
 n_clf = 20  # number of base detectors
 
 # Initialize 20 base detectors for combination
 k_list = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140,
             150, 160, 170, 180, 190, 200]
 
 train_scores = np.zeros([X_train.shape[0], n_clf])
 test_scores = np.zeros([X_test.shape[0], n_clf])
 
 print('Combining {n_clf} kNN detectors'.format(n_clf=n_clf))
 
 for i in range(n_clf):
     k = k_list[i]
 
     clf = KNN(n_neighbors=k, method='largest')
     clf.fit(X_train_norm)
 
     train_scores[:, i] = clf.decision_scores_
     test_scores[:, i] = clf.decision_function(X_test_norm)
 
 # Decision scores have to be normalized before combination
 train_scores_norm, test_scores_norm = standardizer(train_scores,
                                                     test_scores)
 # Combination by average
 y_by_average = average(test_scores_norm)
 evaluate_print('Combination by Average', y_test, y_by_average)
 
 # Combination by max
 y_by_maximization = maximization(test_scores_norm)
 evaluate_print('Combination by Maximization', y_test, y_by_maximization)
 
 # Combination by median
 y_by_median = median(test_scores_norm)
 evaluate_print('Combination by Median', y_test, y_by_median)
 
 # Combination by aom
 y_by_aom = aom(test_scores_norm, n_buckets=5)
 evaluate_print('Combination by AOM', y_test, y_by_aom)
 
 # Combination by moa
 y_by_moa = moa(test_scores_norm, n_buckets=5)
 evaluate_print('Combination by MOA', y_test, y_by_moa)

如果上面代碼提示錯(cuò)誤,需要安裝combo包

pip install combo

總結(jié)

可以看到,PyOD進(jìn)行離群值檢測(cè)是非常方便的,從基本的kNN離群值檢測(cè)到模型組合,PyOD都提供了一個(gè)全面的整合,這使得我們可以輕松高效地處理異常值檢測(cè)任務(wù)。

最后pyod的文檔和官網(wǎng)

https://avoid.overfit.cn/post/9df020be7be84d759aeef2dfa8e4d8cd

以上就是PyOD進(jìn)行異常值檢測(cè)使用實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于PyOD異常值檢測(cè)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python 爬蟲(chóng)批量爬取網(wǎng)頁(yè)圖片保存到本地的實(shí)現(xiàn)代碼

    Python 爬蟲(chóng)批量爬取網(wǎng)頁(yè)圖片保存到本地的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Python 爬蟲(chóng)批量爬取網(wǎng)頁(yè)圖片保存到本地,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • python模型集成知識(shí)點(diǎn)總結(jié)

    python模型集成知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家整理了一篇關(guān)于python模型集成知識(shí)點(diǎn)總結(jié),有需要的朋友們可以學(xué)習(xí)參考下。
    2021-08-08
  • Python通過(guò)跳板機(jī)訪問(wèn)數(shù)據(jù)庫(kù)的方法

    Python通過(guò)跳板機(jī)訪問(wèn)數(shù)據(jù)庫(kù)的方法

    跳板機(jī)是一類(lèi)可作為跳板批量操作的遠(yuǎn)程設(shè)備的網(wǎng)絡(luò)設(shè)備,是系統(tǒng)管理員和運(yùn)維人員常用的操作平臺(tái)之一。本文給大家介紹Python通過(guò)跳板機(jī)訪問(wèn)數(shù)據(jù)庫(kù)的方法,感興趣的朋友跟隨小編一起看看吧
    2021-10-10
  • Python學(xué)習(xí)筆記之變量、自定義函數(shù)用法示例

    Python學(xué)習(xí)筆記之變量、自定義函數(shù)用法示例

    這篇文章主要介紹了Python學(xué)習(xí)筆記之變量、自定義函數(shù)用法,結(jié)合實(shí)例形式分析了Python變量、自定義函數(shù)的概念、功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-05-05
  • python raise的基本使用

    python raise的基本使用

    這篇文章主要介紹了python raise的基本使用,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • 使用PyInstaller庫(kù)把Python程序打包成exe

    使用PyInstaller庫(kù)把Python程序打包成exe

    這篇文章介紹了使用PyInstaller庫(kù)把Python程序打包成exe的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • Python標(biāo)準(zhǔn)庫(kù)pathlib操作目錄和文件

    Python標(biāo)準(zhǔn)庫(kù)pathlib操作目錄和文件

    這篇文章主要為大家介紹了Python標(biāo)準(zhǔn)庫(kù)pathlib操作目錄和文件的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • 淺談Python中range與Numpy中arange的比較

    淺談Python中range與Numpy中arange的比較

    這篇文章主要介紹了淺談Python中range與Numpy中arange的比較,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • python轉(zhuǎn)換wrf輸出的數(shù)據(jù)為網(wǎng)頁(yè)可視化json格式

    python轉(zhuǎn)換wrf輸出的數(shù)據(jù)為網(wǎng)頁(yè)可視化json格式

    這篇文章主要介紹了python轉(zhuǎn)換wrf輸出的數(shù)據(jù)為網(wǎng)頁(yè)可視化json格式,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Python練習(xí)之操作SQLite數(shù)據(jù)庫(kù)

    Python練習(xí)之操作SQLite數(shù)據(jù)庫(kù)

    這篇文章主要介紹了Python練習(xí)之操作SQLite數(shù)據(jù)庫(kù),主要通過(guò)三個(gè)問(wèn)題如何創(chuàng)建SQLite數(shù)據(jù)庫(kù)?如何向SQLite表中插入數(shù)據(jù)?如何查詢(xún)SQLite表中的數(shù)據(jù)?展開(kāi)文章主題詳情,需要的朋友可以參考一下
    2022-06-06

最新評(píng)論

遂昌县| 宜阳县| 湘潭市| 贞丰县| 巧家县| 临泽县| 广河县| 酒泉市| 息烽县| 梧州市| 江山市| 健康| 康马县| 神木县| 岳池县| 华安县| 石嘴山市| 眉山市| 饶阳县| 中方县| 彩票| 望城县| 黔东| 漳浦县| 白水县| 潜江市| 喀喇沁旗| 祁阳县| 疏附县| 大庆市| 中山市| 新宾| 双城市| 隆回县| 那曲县| 武清区| 修武县| 成都市| 广平县| 武川县| 定远县|