0

カスタム指標で KD 推定を使用しています。メトリックは組み込みのユークリッド距離よりも明らかに遅いですが、うまく機能します。するとき

kde=KernelDensity(...)
kde.fit(X)

適度な時間で結果が得られます。

次に計算すると

surface=np.exp(kde.score_samples(meshgrid))

ここで、mehsgrid はサイズ (約) 64000x2 の numpy 配列で、kde はグリッド内の各ポイントの距離を計算します。なぜそれが必要なのか、基本的に誤解しているようです...密度はすでに.fit()メソッドで計算されており、score_samplesはグリッド内の各ポイントの密度を単純に評価する必要があります-そうですか? 私は何かを見落としていますか?

組み込みのユークリッド メトリックを使用してすべての計算を行うと、計算はかなり高速で、.score_samples が膨大な数のポイントを反復するというヒントはありません...

どんなヒントでも大歓迎です。

4

1 に答える 1

0

サンプルにスコアを付けたい場合は、meshgrid ポイントで密度を計算する必要があります。メトリックを渡す方法に応じて、これはブルート フォース アプローチを使用して行われます。つまり、すべてのポイントまでの距離を計算します。

メトリクスを組み込みの BallTree で使用できます。これにより、計算を節約できる場合がありますが、これは使用するデータセットとメトリクスによって異なります。

于 2015-05-15T15:36:02.860 に答える