機械学習の基礎

準備:Matplotlib のインストール

今回、12.3〜12.5 でグラフの描画を行いますが、そのためには事前に Matplotlib をインストールする必要があります。Matplot を参照して、準備してください。

教科書 Lesson 12

これ以降は、教科書の Lesson 12 を進めてください。ただし 12.1〜12.5 まで、です。

12.1 機械学習とは

(ここは概念説明のみ)

12.2 統計指標

説明を読んで、以下のことが納得いったでしょうか。

二つの標準偏差(母集団と標本)
p.346 のコラムに書かれていることを頭に留めておくと良いです。つまり自分が使っている関数が母標準偏差なのか不偏標準偏差なのか意識できていますか、という話題です。これが意識にないと、例えば同じデータを使って他の表計算ソフトウェアなどで標準偏差を出したところ値が合わない(今回 5.1468436… と出ていますが、それが 5.2805502… といった値になった)場合に助かりませんから。今回教科書で出てきた pstdev( ) メソッドは母標準偏差として出します。stdev( ) メソッドが不偏標準偏差を出します。(表12-1参照)
最頻値を求める statistic.mode() 関数の仕様変更
教科書 p.344 では最頻値 statistics.mode() において、最頻値が一意に求まらないとき(つまり[ 1, 1, 2, 2, 3 ] のように最頻値が二種あるとき)エラー(例外)を出す、とありますが、Mac の Python 環境ではエラーになりません。Pythonの公式ドキュメントを見ると、version 3.8 から仕様変更があり、最頻値が複数種あるとき、その最初の値を返すようになった、とあります。(あなたの Python のバージョンはコマンド % python3 --version で確認できます)

12.3 以降のための準備:Matplotlib のインストール

さて 12.3 以降は Matplotlib を使ったグラフ描画の演習です。そのためには事前に Matplotlib をインストールする必要があります。Matplotlib を参照して、準備してください。

12.3 ヒストグラム

説明を読み、実際に試してください。それができれば、p.367 の練習問題 1. をやってください。

12.4 散布図

説明を読み、実際に試してください。それができれば、p.367 の練習問題 2. をやってください。

乱数 - random モジュール

p.355 に乱数を発生させる方法がいくらか紹介されています。詳細は random — 疑似乱数を生成する (Python doc)などを参照すると良いでしょう。

12.5 その他のグラフ

説明を読み、実際に試してください。なお「その他の」と言っていますが、これはつまり折れ線グラフです。

12.6 データの高度な取り扱い

(この科目では扱いません。NumPy などよく使われるモジュールの説明がありますから、興味のある人は試すと良いでしょう。)

Lesson 12 のまとめ

さて、これで教科書の p.366 「12.7 レッスンのまとめ」まで来ました。そこに書かれていることが理解出来ますか?(最後の一項目(NumPy)はこのクラスではやりません)

問題ないようであれば、p.367 以降の練習問題、1. 〜 3. までをやってください。提出は 2. 3. の二つとします。(でも 1. をやっておかないと 3. で困りますから、スキップしないように)

(サクッと終わった人むけの)挑戦課題

この課題は提出必須とはしません。興味のある人だけやってみると良いでしょう。

前回取り込んだ国勢調査のデータから、京都市といくつかの地域の15歳から30歳までの人口の(その地域の全人口に対する)割合を求めたデータを作成して population.csv ファイルに置きました。これを使って以下の要件を満たすようにグラフ化してみてください。

要件:

なお下の図は縦横比を手作業で調整してバランスを整えて(見やすくして)います。グラフそのものはお楽しみということで伏せておきます。京都というところがどういうところか、ちょっと面白いものが見られると思います。

image-20240710194659119