この記事では、python に関する関連知識を提供します, 主にデータ分析における外れ値に関連する問題を紹介します. 一般に、外れ値の検出方法には、統計的手法とクラスターベースの手法が含まれます。以下に、外れ値の検出に特化した方法をいくつか紹介しますので、皆様の参考になれば幸いです。
推奨学習: Python 学習チュートリアル
1 外れ値とは何ですか?
機械学習では、異常の検出と処理は比較的小さな分岐、または機械学習の副産物です。これは、一般的な予測問題では、 モデルは通常、式であるためです。サンプル全体のデータ構造の一般的な特性を表すこの式は通常、サンプル全体の一般的な特性を捉えており、これらの特性に関してサンプル全体と完全に矛盾する点は異常点と呼ばれますが、通常、異常点はそうではありません。予測問題では通常、サンプル全体の特性に焦点が当てられており、異常点の生成メカニズムはサンプル全体と完全に一致していないため、予測問題の開発者によって歓迎されています。アルゴリズムが異常を検出した場合、モデルが点に敏感な場合、生成されたモデルはサンプル全体をうまく表現できないため、予測は不正確になります。 一方、異常な点は、病気の予測などの特定のシナリオでは分析者にとって非常に興味深いものです。通常、健康な人の身体的指標は、ある面では類似しています。身体的指標を分析する場合、彼の身体状態はいくつかの側面で変化したはずです。もちろん、この変化は必ずしも病気によって引き起こされるわけではありません(ノイズポイントと呼ばれることが多い)が、異常の発生と検出は病気の予測となる重要な出発点です。同様のシナリオは、信用詐欺やサイバー攻撃などにも適用できます。
2 外れ値の検出方法
一般に、外れ値の検出方法には統計的手法、クラスタリングベースの手法、および外れ値の検出に特化した手法などがあり、これらについては以下で説明します。それに応じて。
1. 単純な統計
pandas
を使用する場合、describe()
を直接使用して、データの統計的記述を観察できます (いくつかの統計を大まかに観察します) が、統計データは次のように連続的です:
df.describe()
または、単純に散布図を使用して外れ値の存在を明確に観察します。以下に示すように:
2. 3∂ 原則
この原則には条件があります: データは正規分布に従う必要があります 。 3∂ 原則の下では、外れ値が標準偏差の 3 倍を超える場合、それは外れ値と見なされます。正または負の 3∂ の確率は 99.7% であるため、平均値から 3∂ 以外の値が出現する確率は P(|x-u| > 3∂)
四分位範囲 (IQR) を使用して異常値を検出します ( Tukey の検定 とも呼ばれます)。箱ひげ図の定義は次のとおりです。
上位四分位の 1.5 倍、または下位四分位の IQR 距離の -1.5 倍 を超えるポイントを外れ値と規定します。以下は、主に numpy の
percentile メソッドを使用した Python でのコード実装です。
Percentile = np.percentile(df['length'],[0,25,50,75,100]) IQR = Percentile[3] - Percentile[1] UpLimit = Percentile[3]+ageIQR*1.5 DownLimit = Percentile[1]-ageIQR*1.5
seaborn の視覚化メソッド
boxplot を使用して、次のことを実現することもできます。
f,ax=plt.subplots(figsize=(10,8)) sns.boxplot(y='length',data=df,ax=ax) plt.show()
確率分布モデルを構築し、オブジェクトがモデルに適合する確率を計算し、オブジェクトを低い値で扱います。外れ値としての確率。モデルがクラスターの集合である場合、異常はどのクラスターにも大きく属さないオブジェクトであり、モデルが回帰の場合、異常は予測値から比較的離れているオブジェクトです。
外れ値の確率の定義:外れ値とは、データの確率分布モデルに関して、確率が低いオブジェクトです。この状況の前提条件は、データセットがどのような分布に従っているかを知ることですが、その推定が間違っていると、裾の重い分布が発生します。
たとえば、特徴エンジニアリングの RobustScaler
メソッドは、データ特徴値をスケーリングするときに、データ特徴の分位分布を使用してデータを分位に従って複数のセグメントに分割し、中央のセグメントはスケーリングに使用されます。たとえば、25% 分位数から 75% 分位数までのデータのみがスケーリングに使用されます。これにより、異常なデータの影響が軽減されます。
長所と短所: (1) 統計における強固な理論的基礎を備えたこれらのテストは、使用されるテストの種類に関する十分なデータと知識がある場合に非常に効果的です。(2)多変量データの場合、使用できるオプションは少なくなり、高次元データの場合、これらの検出の可能性は低くなります。
5. 近接性に基づく外れ値の検出
統計手法では、データの分布を使用して外れ値を観察します。一部の方法では、いくつかの分布条件も必要ですが、実際にはデータの分布は非常に困難です。いくつかの前提条件を満たすため、使用には特定の制限があります。
データ セットの統計的分布を決定するよりも、データ セットの近さの意味のある尺度を決定する方が簡単です。 オブジェクトの外れ値スコアはその k 最近傍 (KNN) までの距離によって与えられるため、この方法は統計的方法よりも一般的で使いやすいです。
外れ値スコアは k の値に非常に敏感であることに注意してください。 k が小さすぎる場合、近くにある少数の外れ値によって低い外れ値スコアが発生する可能性があり、K が大きすぎる場合、k 点未満のクラスター内のすべてのオブジェクトが外れ値になる可能性があります。このスキームを k の選択に対してより堅牢にするために、k の最近傍の平均距離を使用できます。
長所と短所: (1) シンプル; (2) 短所: 近接ベースの方法は O(m2) 時間を必要とし、大規模なデータセットには適していません。 3) この方法はパラメータの選択にも敏感です; (4) この方法はグローバルしきい値を使用し、そのような密度の変化を考慮できないため、異なる密度の領域を含むデータセットを処理できません。
5. 密度ベースの外れ値の検出
密度ベースの観点から見ると、外れ値は低密度領域にあるオブジェクトです。密度は近接性に関して定義されることが多いため、密度ベースの外れ値検出は近接ベースの外れ値検出と密接に関連しています。 密度を定義する一般的な方法は、k 個の最近傍までの平均距離の逆数として密度を定義することです。この距離が小さければ密度は高く、その逆も同様です。 もう 1 つの密度定義は DBSCAN クラスタリング アルゴリズムで使用される密度定義です。つまり、オブジェクトの周囲の密度は、オブジェクトから指定された距離 d 内にあるオブジェクトの数に等しくなります。
利点と欠点: (1) オブジェクトが外れ値であるという定量的な尺度が得られ、データの領域が異なる場合でも適切に処理できます。(2) ) 距離ベースの方法と同様に、これらの方法の時間計算量は必然的に O(m2) になります。低次元データの場合、特定のデータ構造を使用すると O(mlogm)
を達成できます; (3) パラメーターの選択が困難です。 LOF
アルゴリズムは、さまざまな k 値を観察し、最大外れ値スコアを取得することでこの問題を処理しますが、これらの値の上限と下限を選択する必要があります。
6. クラスタリングベースの外れ値検出方法
クラスタリングベースの外れ値:オブジェクトはクラスタリングに基づいた外れ値であり、そのオブジェクトがどのクラスタにも強く属していない場合、オブジェクトは外れ値に属します。
初期クラスタリングに対する外れ値の影響: クラスタリングを通じて外れ値が検出された場合、外れ値はクラスタリングに影響を与えるため、構造が有効であるかどうかという疑問が生じます。これは、異常値の影響を受けやすい k-means
アルゴリズムの欠点でもあります。この問題に対処するには、オブジェクトをクラスタリングし、外れ値を削除し、オブジェクトを再度クラスタ化するという方法を使用できます (これは最適な結果を保証するものではありません)。
長所と短所: (1) 線形および線形に近い複雑さ (K 平均法) に基づくクラスタリング手法は、外れ値の発見に非常に効果的である可能性があります; (2) クラスターの定義通常は外れ値の補数であるため、クラスターと外れ値が同時に検出される可能性があります; (3) 結果として得られる外れ値セットとそのスコアは、使用されるクラスターの数とデータ内の外れ値の存在に大きく依存する可能性があります; (4)クラスタリング アルゴリズムによって生成されるクラスターの品質は、アルゴリズムによって生成される外れ値の品質に大きな影響を与えます。
7. 特殊な外れ値の検出
実際、上記のクラスタリング手法の本来の目的は、外れ値を見つけることではなく教師なし分類ですが、たまたまその機能が外れ値の検出を可能にするだけです。派生関数です。
上記の方法に加えて、特に異常点の検出に使用される 2 つの一般的な方法があります。One Class SVM
と Isolation Forest
です。詳細は次のとおりです。詳細な調査を行ってください。
3 異常値の処理方法
異常値が検出されたため、ある程度の処理が必要です。外れ値を処理する一般的な方法は、次のカテゴリに大まかに分類できます。
- 異常値を含むレコードを削除: 異常値を含むレコードを直接削除;
- 欠損値として扱う: 異常値を欠損値として扱う欠損値は欠損値処理方法を使用して処理されます;
- 平均値補正: 外れ値は前後 2 つの観測値の平均で補正できます;
- 処理なし: 外れ値のあるデータセットに対して直接データマイニングを実行します;
外れ値を削除する必要があるかどうかは、実際の状況に基づいて検討できます。一部のモデルは外れ値にあまり敏感ではないため、外れ値があってもモデルの効果には影響しません。ただし、ロジスティック回帰 LR などの一部のモデルは外れ値に非常に敏感です。処理しないと、過剰適合などの非常に悪い効果が発生する可能性があります。起こる。
4 外れ値の概要
上記は、外れ値の検出および処理方法の概要です。
いくつかの検出方法で外れ値を見つけることはできますが、得られる結果が絶対に正しいわけではなく、具体的な状況はビジネスの理解に基づいて判断する必要があります。同様に、外れ値をどのように処理するか、削除するのか、修正するのか、処理しないのかについても、実態に応じて検討する必要があり、固定されたものではない。
推奨学習: Python チュートリアル
以上がPython データの外れ値の検出と処理 (詳細な例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの問題を解決する方法は?風光明媚なスポットコメントと分析を行っているとき、私たちはしばしばJieba Wordセグメンテーションツールを使用してテキストを処理します...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
