はじめに
kaggleに挑戦しようと思い立ちました。
しかし、データ分析自体初心者なのでとりあえず手を動かすことにしました。
Python実践データ分析100本ノックをやって基本的なpandasやmatplotlibの動かし方を学びながらデータに向き合っていこうと思います。
Python実践データ分析100本ノック
あくまでkaggleへの挑戦録をつけることがメインなので本書に関する詳しい解説ではなく、学んだことを備忘録的にざっくりまとめる程度にとどめます。
本書で学べる事をざっくり
pandas
データ読み込み
import pandas as pd
csv_df = pd.read_csv("CSVファイル名")
excel_df = pd.read_excel("EXCELファイル名")
引数もいろいろあるので使いながら慣れていく必要がありそうです。
調べてみるとこちらはURLから読み込むことも可能なようです。
便利だなあ
データの結合
merge_df = pd.merge(csv_df, excel_df, on="id", how="left")
上記はSQLでいうところのLeft Inner Joinができます。
onで結合条件, howで結合方法を指定できます。
データの連結
concat_df = pd.concat([csv_df, excel_df], axis=1)
axisは連結方向を指定できます。(1は縦方向の連結)
データ同士が同じカラム構造を持っている場合や、カラムをそのまま横につなげたい場合などに使用するとよさそうですね。
欠損値(null値)の確認
csv_df.isnull().sum()
最適化問題
第7章では数理最適化問題も扱っていました。
Graphの可視化、およびロジスティクスネットワークの最適化あたりを学べます。
以下のライブラリを使用しました。
- pulp
- ortoolpy
使用方法については割愛させていただきますが、線形最適化に定式化できるものは、短時間で解を求められるよう
使用方法については割愛です。
実務では選択肢に入る気がしてます。
kaggleで使用機会があるかは謎ですが...
やってみた感想
細かなデータを整理していくのが大事なのだと痛感した。
予測器も万能なものではなく、データクレンジングなどで結構精度変わるんだなあってのが実感できただけでも大きな収穫となった。
とりあえずpandasやscikit-learnに触れてどのように使用していくかイメージがつかめた。
最後に
次にQiita更新するのはkaggleコンペに挑戦してみたって内容で書こうかなと思ってます。
初心者が実際コンペに触れてみてどのように感じたか、わからないことの共有などしたいなと考えています。
今回のQiitaなかなか時間とれなくてすごい適当に書いてしまったので読む価値なかったかもです。すみません。