« 「SCRUMMASTER THE BOOK」の感想~スクラムマスターはチームが自己組織化したら御用済みなのか? | トップページ | 「ここはウォーターフォール市、アジャイル町」の感想 »

2020/12/18

Pythonデータ分析の気づき

Pythonデータ分析ライブラリでコーディングしていると、いくつか気づきがある。
初心者のラフなメモ。

【参考】
Pandas Cheat Sheetのリンク: プログラマの思索

ゆるふわPandasチートシートのリンク: プログラマの思索

scikit-learn「アルゴリズム・チートシート」のリンク: プログラマの思索

NumPyを図解で理解する: プログラマの思索

Python と R の違いのリンク: プログラマの思索

Numpyは普通の行列計算だが、常識と違う部分がある。
ブロードキャストとユニバーサルファンクション。
いずれも、行列の要素に一括計算できる。

2つの行列のShapeが違う場合に、ブロードキャストできるかどうかでまだ間違える。

Numpyのブロードキャストの挙動 - Qiita

NumPy♪ブロードキャストを雰囲気で理解していませんか? | Snow Tree in June

ゼロから作るDeep Learning」を読むと、シグモイド関数の計算でNumpyのブロードキャストがトリックとして上手く使われていると感じた。

Pandasは、SQLの代わりになること、グラフ表示の2つがある。
concat, merge, groupbyなど色々ある。
ExcelもCSVも読み込めるので、SQLの代わりとして、データの結合・抽出・マージ・分割が簡単にできる。

Pandasのグラフ表示は簡単だが、割と癖があるように思う。
MatplotLibとは使い方が微妙に異なるのでまだ間違う。

データフレームに利用人数、利用料金があったとする。
利用料金ごとの人数をヒストグラムで表示する場合、同じ結果を出すソースコードが4種類もある。

df["利用料金"].hist()
plt.show()

df["利用料金"].plot(kind='hist')
plt.show()

df["利用料金"].value_counts().plot.bar()
plt.show()

df["利用料金"].value_counts().plot(kind="bar")
plt.show()

Pandasでヒストグラムの作成や頻度を出力する方法 - DeepAge

とはいえ、Pandasに慣れると、Excelの表データがあれば、データ読み込み→データ集計と整形→折れ線グラフ・棒グラフ・散布図などでグラフ表示までの処理をスクリプトで簡単にかける。
VBマクロやExcelのピボットテーブルもいらない。
特に、散布図が簡単にかけるのはいい。

MatplotLibは多彩なグラフが書ける。
グラフの種類が多い。
plot, pie, bar, barh, scatter, hist, boxplot, corr。
積み上げ棒グラフも簡単。

グラフ要素を細かく設定できる。
枠線・折れ線・棒の色や太さ、凡例、タイトル、などなど。
引数の細かい仕様を覚えるのは面倒だが、凝った作りにできる。

skelarnは機械学習をお手軽に実践できる。
データをテスト・検証用データに分けて、fit→predictするだけ。
サンプル数が100程度でも十分に色々遊べる。

skelarnは、おおまかに、カテゴリで分類すること、回帰モデルで予測すること、の2つ。
アルゴリズムが多いので、どれがどの場面で有効なのか、1個ずつ、抑える。

モデル評価も、分類・回帰の2つ。
混同行列は「分類モデル」を評価する。
「回帰モデル」を評価するのは、MAE, MSE, RMSE, 決定係数の 4 つ。

ROC曲線を見て、最近、コロナニュースでよく聞く、偽陽性率と真陽性率の話も関係することが何となく分かってきた気がする。
そういうことを考えると、機械学習がこんなに簡単なPythonライブラリで初心者が簡単に扱えることがすごいし、統計やデータ分析を知らない専門家の話はアホかな、とか思う時もある。

機械学習をきちんと理解したいので、「Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎」を読み始めた。
他の本も色々立ち読みしてみたが、この本が初心者でも取り掛かりやすいように思った。

|

« 「SCRUMMASTER THE BOOK」の感想~スクラムマスターはチームが自己組織化したら御用済みなのか? | トップページ | 「ここはウォーターフォール市、アジャイル町」の感想 »

統計学・機械学習・深層学習」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 「SCRUMMASTER THE BOOK」の感想~スクラムマスターはチームが自己組織化したら御用済みなのか? | トップページ | 「ここはウォーターフォール市、アジャイル町」の感想 »