【統計】最頻値とは

最頻値とは

最頻値(モード)とは、最も多く出現している値を指します。統計における代表値の1つです。

Pythonで最頻値を求める

Pythonで最頻値を求めるには、statisticsモジュールのmodeを利用します。

import statistics
twitter = np.array([180, 80, 30, 50, 210])
facebook = np.array([100, 120, 100, 120, 110])

mode_tw = statistics.mode(twitter)
mode_fb = statistics.mode(facebook)

print(mode_tw) # 180
print(mode_fb) # 100

sicpyでも最頻値(mode)を扱うことができますが、少し複雑です。

sicpy.modeは、値と頻度に分けて取得できますが、scipyのmodeでは、最頻値があった場合に最小のものを返します。そのため、twitterの最頻値では最小値は30になるため、30を返しています。

import scipy.stats as stats

twitter = np.array([180, 80, 30, 50, 210])
facebook = np.array([100, 120, 100, 120, 110])

mode_tw = scipy.stats.mode(twitter)
mode_fb = scipy.stats.mode(facebook)

print(mode_tw[0][0]) # 30
print(mode_fb[0][0]) # 100

pythonのhelp関数を用いて、関数の説明を出力してみます。

import scipy.stats as stats
print(help(scipy.stats.mode))

出力結果

Return an array of the modal (most common) value in the passed array.
    
    If there is more than one such value, only the smallest is returned.

日本語訳すると以下のように記載されています。

渡された配列の中から、モーダルな(最も一般的な)値を配列で返します。
    
    そのような値が複数ある場合は、最小のものだけが返されます。

Pythonやデータ分析を効率よく学ぶには?

データ分析を効率よく学ぶには、普段からPythonを利用している現役のデータサイエンティストや機械学習エンジニアに質問できる環境で学ぶことです。
質問し放題かつ、体系的に学べる動画コンテンツでデータ分析技術を学びたい方は、オンラインで好きな時間に勉強できるAI Academy Bootcampがオススメです。受講料も業界最安値の35,000円(6ヶ月間質問し放題+オリジナルの動画コンテンツ、テキストコンテンツの利用可能)なので、是非ご活用ください。

コメントを残す