機械学習
kerasの ImageDataGenerator を使って画像を読み込み、kaggleの画像分類問題をやっていたのですが、 validationデータで良い正答率が出るにもかかわらず、testデータにするとうまく分類できない状況に陥りました。 原因は flow_from_directory で classes を…
seabornがいいらしいとか書いておきながらですが、kaggleのkernelや世の中の機械学習の記事を 読んでいるとmatplotlibの使い方も知っておかないとなーと思いました。 以下がmatplotlibの公式サイトで、親切にチュートリアルや詳細なドキュメントが用意されて…
ぱっと見ただけではよくわからないデータの表も、ヒートマップを使えば意味のあるものに見えてくるということもあるでしょう。 seabornにはヒートマップを描くための関数が用意されているので、それを使ってみたいと思います。 seabornには機械学習のチュー…
seabornというmatplotlibのラッパーライブラリを使用すると、matplotlibよりも簡単に美しいグラフ描画ができるみたいです。 seaborn: statistical data visualization — seaborn 0.8.1 documentation import seaborn as sns matplotlibと一緒にimportしてや…
グルーピングはデータの集計に使えます。 例えばtitanicのtraining dataのDataFrameをtrain_dfとして以下のように書くと train_df.groupby('Sex').max() こんな結果が得られます。 train_dfに対してSexでグルーピングしてそれぞれの特徴量の最大値を取得した…
kaggleのtitanic生存予測のkernelのトップにあった。 まとめ方が見やすく、とにかく執念を感じる! EDA To Prediction(DieTanic) | Kaggle それぞれの特徴量のタイプ分けから、どうやって解析すべきか、から どのアルゴリズムを使って予測するのが良さそうか…
どの特徴量がターゲットを求めるのに重要なのかを知るための指標として、 相関係数を使うのは、データ解析の第一歩に良さそうです。 まずは以下の記事に相関係数についてわかりやすまとめてあるので見てみましょう。 blog.apar.jp x軸とy軸にそれぞれ異なる…
機械学習アルゴリズムにデータを入れていざ学習させよう、というときには当たり前ですが データフレームの形式のままでは無理です。 データフレームから特徴量とターゲット(正解)を配列として切り出してやる必要があります。 まずpandas.DataFrame で作られ…
データフレームに列や行を追加したかったら concat() 、削除したかったら drop を使います。 やってみましょう。 まず適当なデータフレームを作っておきます。 import pandas as pd import numpy as np df = pd.DataFrame(np.array([['a','b','c'], ['a','b'…
機械学習ではしばしばデータの解析を容易にするためにワンホットエンコーディングという手法を使います。 例えば「性別」というパラメータがあればその中には「男性」や「女性」が含まれますが、 この「性別」を分解して「男性」「女性」をそれぞれ一つのパ…
機械学習において収集したデータを使おうと思ったとき、ほとんどのケースでデータに欠損があります。 そんなときは、もっともらしい値で穴埋めをするなどの対処が必要ですが、 それより前にどのパラメータのデータがどれだけ欠損しているかを確認したいです…
kaggleの問題に取り組んでいるときなど、jupyter上でぱぱっとcsvの中身を見れると便利。 例えばタイタニックの生存予測のトレーニングデータcsvの中身を見たいとき Titanic: Machine Learning from Disaster | Kaggle 以下のようなコードで表形式に表示でき…