49章詳細:カーネル密度推定
「48章 詳細:混合ガウスモデル」では、クラスタリング推定器と密度推定器のハイブリッドある混合ガウスモデルについて説明しました。密度推定器は、D次元のデータセットから、そのデータの元となるD次元確率分布の推定値を生成するアルゴリズムであることを思い出してください。GMMアルゴリズムは、密度をガウス分布の加重和として表します。カーネル密度推定(KDE:Kernel Density Estimation)は、ガウス分布を重ね合わせるというアイデアを突き詰めた考え方です。ポイントごとに1つのガウス分布を重ね合わせて、本質的にノンパラメトリックな密度推定を行います。この章では、KDEの必要性と使用法について説明します。
最初に標準的なモジュールをインポートします。
In [1]: %matplotlib inline import matplotlib.pyplot as plt plt.style.use('seaborn-whitegrid') import numpy as np
49.1 カーネル密度推定の必要性:ヒストグラム
すでに説明したように、密度推定器はデータセットを生成した確率分布をモデル化するアルゴリズムです。1次元データの場合、ヒストグラムという単純な密度推定器については熟知しているはずです。ヒストグラムは、データを個別のビンに分割し、各ビンに含まれるポイント数を数え、直感的な方法で結果を可視化します。
例えば、2つの正規分布から得られるデータを作成します。
In [2]: def make_data(N, f=0.3, rseed=1): rand = np.random.RandomState(rseed) x = rand.randn(N) ...
Get Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.