タグ

ブックマーク / qiita.com/F8LUUI5kOxLvrmuIAIPwFsUWSKNdgW5N (5)

  • Pythonでのランダムオーバーサンプリング(Random Over Sampling)とその実装 - Qiita

    はじめに 不均衡なクラス分布を持つデータセットは、機械学習のタスクでよく遭遇します。例えば、クレジットカード詐欺の検出では、正常な取引(ネガティブクラス)と詐欺取引(ポジティブクラス)の間で極端な不均衡があります。このような状況では、多数クラスの学習が優先され、少数クラスの学習が十分に行われないことがあります。これに対する対策の一つとして、ランダムオーバーサンプリングがあります。 ランダムオーバーサンプリングとは? ランダムオーバーサンプリングは、少数クラスのサンプルをランダムに複製してデータセットに追加することで、クラス間の不均衡を解消する手法です。これにより、クラス間のサンプル数の差を減らし、モデルが少数クラスを無視することを防ぎます。 ただし、ランダムオーバーサンプリングは過学習を引き起こす可能性があることに注意が必要です。なぜなら、同じサンプルを何度も複製することで、モデルが特定の

    Pythonでのランダムオーバーサンプリング(Random Over Sampling)とその実装 - Qiita
    misshiki
    misshiki 2023/07/18
    “ランダムオーバーサンプリングは、少数クラスのサンプルをランダムに複製してデータセットに追加することで、クラス間の不均衡を解消する手法です。”
  • 機械学習におけるクラスの重み付けとその実装方法 - Qiita

    機械学習におけるクラスの重み付け 機械学習において、データセットのクラス分布が不均衡な場合には、重み付けの考え方を導入することが多いです。これは特に、一部のクラスのデータ数が他のクラスと比べて非常に少ない場合(不均衡なデータセット)に有効です。この記事では、クラスの重み付けについて説明し、その実装方法をKerasとAdaBoostで解説します。 クラスの重み付けとは? クラスの重み付け(Class weighting)は、不均衡なクラス分布を持つデータセットに対する学習において、少数派のクラスを適切に扱うためのテクニックです。具体的には、クラスの重み付けは分類器に対して、少数派のクラスのデータに対する学習により重要な重みを置くよう指示します。これにより、少数派のクラスのデータがモデル学習において大きな影響を持つようになり、全体のパフォーマンスが向上することが期待できます。 Kerasでの実

    機械学習におけるクラスの重み付けとその実装方法 - Qiita
    misshiki
    misshiki 2023/07/18
    “クラスの重み付け(Class weighting)は、不均衡なクラス分布を持つデータセットに対する学習において、少数派のクラスを適切に扱うためのテクニックです。”
  • 機械学習でデータ不均衡を解消する:ダウンサンプリングの利用 - Qiita

    こんにちは、機械学習を学んでいる皆さん!今日は、データの不均衡という一般的な問題と、それに対する解決策の一つであるダウンサンプリングについて解説します。 不均衡データとは何か? 機械学習のデータセットでは、時々クラス(カテゴリ)間でサンプル数に大きな偏りがある、いわゆる「クラス不均衡」の問題に直面します。たとえば、クレジットカードの不正利用検出のような問題では、正例(不正利用)は極めて少なく、負例(正当な取引)が圧倒的に多いといった状況があります。このような不均衡があると、多数派のクラスを予測することで高い正解率を得られるため、モデルは少数派のクラスを適切に学習・予測できない場合があります。 ダウンサンプリングとは何か? この問題を解決するための一つのアプローチが、ダウンサンプリングです。ダウンサンプリングとは、多数派のクラスのサンプル数をランダムに削減し、少数派のクラスとの比率を均等にす

    機械学習でデータ不均衡を解消する:ダウンサンプリングの利用 - Qiita
    misshiki
    misshiki 2023/06/08
    “imbalanced-learnライブラリを使用します。これは、不均衡データに対するさまざまな再サンプリング手法を提供しています。”こういうライブラリがあるんだ。
  • 機械学習の予測モデルでのポストプロセス手法 - Qiita

    こんにちは、今回は機械学習の予測モデルにおける「ポストプロセス」について説明します。ポストプロセスとは、モデルが出力した予測結果を後処理する手法の一つです。特に、特定のクラスへの予測確率を調整する際に用いられます。 ポストプロセスの一例 以下に、ポストプロセスを適用する簡単な例を示します。ここでは、特定のクラス(クラス1)への予測確率を増強することを目指します。 import numpy as np # 仮の予測確率 preds = np.array([0.1, 0.4, 0.35, 0.7]) # ブースティング係数 boost = 4.7 # オッズを計算しブーストする odds = boost * preds / (1 - preds) # オッズを確率に戻す preds_boosted = odds / (1 + odds) この例では、まず予測確率(preds)をオッズに変換し、

    機械学習の予測モデルでのポストプロセス手法 - Qiita
    misshiki
    misshiki 2023/06/05
    “ポストプロセスとは、モデルが出力した予測結果を後処理する手法の一つです。特に、特定のクラスへの予測確率を調整する際に用いられます。”
  • 統計学とPython: データの正規性検定と可視化 - Qiita

    記事では、データ分析において重要な役割を果たす正規性検定について説明し、Pythonを用いた具体的な実装方法を紹介します。具体的には、ヒストグラムとQ-Qプロットの作成、そして正規性検定(ダゴスティーノの歪度/尖度検定、オムニバス検定、コルモゴロフ=スミルノフ検定、シャピロ=ウィルク検定)を取り上げます。 ヒストグラムの描画 ヒストグラムは、データの分布を可視化するためのツールです。Pythonでは、matplotlibのhist関数を使って簡単に描画できます。 import matplotlib.pyplot as plt import numpy as np # データ生成 data = np.random.normal(0, 1, 1000) # ヒストグラムの描画 plt.hist(data, bins=30) plt.show() Q-Qプロットの描画 Q-Qプロットは、データ

    統計学とPython: データの正規性検定と可視化 - Qiita
    misshiki
    misshiki 2023/05/17
    “データ分析において重要な役割を果たす正規性検定について説明し、Pythonを用いた具体的な実装方法を紹介”
  • 1