ホームページ > バックエンド開発 > Python チュートリアル > Python での外れ値の処理 - IQR メソッド

Python での外れ値の処理 - IQR メソッド

Barbara Streisand
リリース: 2024-10-11 10:45:30
オリジナル
660 人が閲覧しました

導入

現実世界のデータから洞察を得る前に、データを精査して、データに一貫性があり、エラーがないことを確認することが重要です。ただし、データにはエラーが含まれる可能性があり、一部の値は他の値と異なって見える場合があり、これらの値は外れ値として知られています。異常値はデータ分析に悪影響を及ぼし、誤った洞察をもたらし、利害関係者による不適切な意思決定につながります。したがって、外れ値への対処は、データ サイエンスにおけるデータの前処理段階における重要なステップです。この記事では、外れ値を処理するさまざまな方法を評価します。

外れ値

外れ値は、データセット内の大部分のデータ ポイントと大きく異なるデータ ポイントです。これらは、特定の変数の予想される値または通常の値の範囲外にある値です。外れ値は、データ入力時のエラー、サンプリングエラーなど、さまざまな理由で発生します。機械学習では、外れ値によりモデルが誤った予測を行う可能性があり、その結果、不正確な予測が生じる可能性があります。

Jupyter Notebook を使用したデータセット内の外れ値の検出

  • Python ライブラリをインポートする
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
plt.style.use('ggplot')
ログイン後にコピー
  • パンダを使用して CSV ファイルをロードします
df_house_price = pd.read_csv(r'C:\Users\Admin\Desktop\csv files\housePrice.csv')
ログイン後にコピー
  • 住宅価格データセットの最初の 5 行を確認して、データフレームを一目で確認してください
df_house_price.head()
ログイン後にコピー

Handling Outliers in Python - IQR Method

  • 箱ひげ図を使用して価格列の外れ値をチェックする
sns.boxplot(df_house_price['Price'])
plt.title('Box plot showing outliers in prices')
plt.show()
ログイン後にコピー

Handling Outliers in Python - IQR Method

  • 箱ひげ図の視覚化から、価格列に異常値が含まれています
  • 次に、より適切な意思決定を確実にし、機械学習モデルが正しい予測を行うために、これらの外れ値を処理する方法を考え出す必要があります

IQR 外れ値の処理方法

  • IQR メソッドは、四分位範囲がデータの中央半分の広がりを測定することを意味します。これはサンプルの中央の 50% の範囲です。

四分位範囲を使用して外れ値を削除する手順

  • データの 25% である第 1 四分位 (Q1) とデータの 75% である第 3 四分位 (Q3) を計算します。
Q1 = df_house_price['Price'].quantile(0.25)
Q3 = df_house_price['Price'].quantile(0.75)
ログイン後にコピー
  • 四分位範囲を計算します
IQR = Q3 - Q1
ログイン後にコピー
  • 外れ値の境界を決定します。
lower_bound = Q1 - 1.5 * IQR
ログイン後にコピー

Handling Outliers in Python - IQR Method

  • 下限は、-5454375000.0 を下回る値は外れ値であることを意味します
upper_bound = Q3 + 1.5 * IQR
ログイン後にコピー

Handling Outliers in Python - IQR Method

  • 上限は、12872625000.0 を超える値は外れ値であることを意味します

  • 価格列の外れ値を削除します

filt = (df_house_price['Price'] >= lower_bound) & (df_house_price['Price'] <= upper_bound)

df = df_house_price[filt]
df.head()
ログイン後にコピー

Handling Outliers in Python - IQR Method

  • 外れ値を除去した後の箱ひげ図
sns.boxplot(df['Price'])
plt.title('Box plot after removing outliers')
plt.show()
ログイン後にコピー

Handling Outliers in Python - IQR Method

外れ値を処理するさまざまな方法

  • Z スコア法
  • パーセンタイル キャッピング (Winsorizing)
  • トリミング(切り詰め)
  • 代入
  • クラスタリングベースのメソッド (DBSCAN など)

結論

IQR 手法はシンプルかつ外れ値に対して堅牢であり、正規性の仮定に依存しません。欠点は、一変量データしか処理できないことと、データが歪んでいたり裾が重い場合に有効なデータ ポイントが削除される可能性があることです。

ありがとうございます
詳細については、リンクインと github で私をフォローしてください。

以上がPython での外れ値の処理 - IQR メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート