NumPyのBincount統計関数の使用

NumPyのBincount統計関数の使用

  • 人工知能(AI)
6分で読めます 更新日 Jan 20, 2021

ポイント: NumPyのbincount関数は、配列内のユニークな値を効率的にカウントし、統計分析を容易にします。このガイドには、Matplotlibを使用してその適用例を示す実用的な例とビジュアライゼーションが含まれています。

  • 配列の作成とbincountの使用を示しています。
  • データのカウントとプロットのための完全なコードを含んでいます。
  • データビジュアライゼーションと機械学習に関する追加リソースへのリンクがあります。

NumPyは配列を作成する以上のことを行います。この作業馬は、科学計算や機械学習に重要な相関関係などの統計および関数も行います。我々はNumPy統計関数の調査をbincount()から始めます。

bincount関数

NumPyでは、bincount関数は配列内のユニークな値の数をカウントします。最初に次のような配列を作成します:

  • 1が3つ
  • 2が2つ
  • 4が5つ
  • 5が1つ
    arr = np.array([1,1,1,2,2,3,4,4,4,4,4,5])

結果は:

    array([1, 1, 1, 2, 2, 3, 4, 4, 4, 4, 4, 5])

次に、NumPyのbincount()関数を使用してユニークな要素をカウントします。

    d=np.bincount(arr)

インデックス位置ごとのカウントの配列を生成します。言い換えれば、左から右へカウントします。前に0があることに注意してください。奇妙な理由で、NumPyは配列のサイズよりも1つ多いビンを返します。したがって、それに対していくつかの調整を行います。

    array([0, 3, 2, 1, 5, 1])

arrからユニークな要素を持つ配列を作成します。これは、後でカウントを値に対してプロットできるようにするためです。

    a=np.unique(arr)

結果は:

    array([1, 2, 3, 4, 5])

NumPyが配列のサイズよりも1つ多いビンを返すため、プロットできるようにユニークカウントとbincountが同じ形状になるように、最初に0を挿入します。

    b=np.insert(arr,0,[0])

これにより、次のようになります:

    array([0, 1, 1, 1, 2, 2, 3, 4, 4, 4, 4, 4, 5])

次に、それを使ってユニークなリストを作成します:

    c=np.unique(b)

bincountと整合するように、今は余分な0があります

    array([0, 1, 2, 3, 4, 5])

今、cとdは同じ形状なので、Matplotlibを使用してプロットできます。

    plt.bar(c,d)

このチャートの結果は:

ご覧の通り、次のようになります:

  • 値0の要素が5つ
  • 値3の要素が1つ

完全なコード

こちらが完全なコードです。

    import numpy as np
import matplotlib.pyplot as plt
arr = np.array([1,1,1,2,2,3,4,4,4,4,4,5])
d=np.bincount(arr)
a=np.unique(arr)
b=np.insert(arr,0,[0])
c=np.unique(b)
plt.bar(c,d)

これらの投稿は私自身のものであり、BMCの立場、戦略、または意見を必ずしも表しているわけではありません。

人工知能(AI)の関連記事

The Briefを購読する

このオファーに登録することで、あなたはBMCのプライバシーポリシーを読み、同意したことを確認します。

ありがとう

あなたはThe Briefに登録されました
The Briefはメインフレームとエンタープライズオーケストレーション—BMC AMIとControl-M—および、両者に関するアナリストの研究、顧客の展開、イベントをカバーしています。