Pythonデータ分析の気づき
Pythonデータ分析ライブラリでコーディングしていると、いくつか気づきがある。
初心者のラフなメモ。
【参考】
Pandas Cheat Sheetのリンク: プログラマの思索
ゆるふわPandasチートシートのリンク: プログラマの思索
scikit-learn「アルゴリズム・チートシート」のリンク: プログラマの思索
Numpyは普通の行列計算だが、常識と違う部分がある。
ブロードキャストとユニバーサルファンクション。
いずれも、行列の要素に一括計算できる。
2つの行列のShapeが違う場合に、ブロードキャストできるかどうかでまだ間違える。
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で学ぶ特徴量エンジニアリングと機械学習の基礎」を読み始めた。
他の本も色々立ち読みしてみたが、この本が初心者でも取り掛かりやすいように思った。
| 固定リンク
「統計学・機械学習・深層学習」カテゴリの記事
- 統計学の考え方をastahでまとめた(2023.05.28)
- ランダム化比較試験はなぜ注目されて利用されるようになったのか(2023.04.08)
- ChatGPTで起きている事象の意味は何なのか(2023.04.02)
- 過学習に陥った人間や社会の事例は何があるのか(2023.01.09)
- 計量政治学と計量経済学の考え方の違い(2022.10.02)
「Python」カテゴリの記事
- 「コーディングを支える技術」は良い本だ(2022.05.26)
- Pythonで微分積分や統計の基礎を理解しよう(2022.05.15)
- Python の numpy の裏では FORTRAN のライブラリが動いているらしい(2022.02.06)
- プログラマが「何をやっているか分からない」「何が分からないか分からない」状態から脱出する記事がとても良い(2021.07.18)
- MATLABとPythonのリンク(2021.06.06)
コメント