機械学習まつようこんにちは。機械学習モデルの構築練習が出来るサービス、kaggleを始めてみました。kernelを用いて初めてsubmitするまでに行ったことを紹介します。goals.www.kaggle.comkaggleでは、サイト上でプログラムを実行することができます。まで、すべてブラウザ上で無料で行うことができました。タイタニックコンペティション常時参加可能な初心者向けコンペティションです。乗客の性別や年齢といった与えられたデータから、タイタニック号で生存出来たかどうかの予測を行います。Notebookを選択で、kernelを新規作成することができます。ような要領でプログラムの作成、実行を行えます。データの読み込みこのコンペティションでは、以下の3つのcsvファイルが用意されています。このデータの予測結果を提出する。学習モデル構築に用いる。kernelから、pandasを用いてデータの読み込みを行っていきます。上に格納されていました。pandasを用いて配列に格納していきます。訓練データには、生存情報(Survived)が含まれていますが、テストデータには含まれていません。この、テストデータに含まれる乗客の生存情報を、他の情報から予測していきます。出力確認print(pred.shape)pred.head()結果このようなフォーマットのcsvファイルを作成し、提出することがコンペティションのゴールです。この解答例では、男性を全て死亡、女性を全て生存と予測しています。ちなみにこの予測方法で提出してみると、スコア(精度?)は0.76555になりました。データの可視化モデル構築のために有効そうな特徴量の選定を行っていきます。コンペティションで与えられたデータには、一部値が空欄で欠損しているものがありました。欠損しているデータの確認を行います。情報に欠損があることがわかりました。二つを特徴量として扱います。hue="Survived")seabornをインポートし、性別と階級別での生存者数の比較を行いました。女性の方が生存率が高く、また階級が高い人の方が生存率が高いことがわかりました。性別と階級以外の、学習に用いない不要なデータを取り除きます。表現されているため、これを数値に変換する必要があります。test2.replace("male",0).replace("female",1)train2.head()これにより、配列が生存情報と特徴量だけのシンプルな状態になりました。訓練データの配列を解答と特徴量の二つに分割し、これを元に機械学習モデルの構築を行います。今回は、sklearnのRandomForestClassifierを用いました。train_y)学習させた機械学習モデルを用い、テストデータの予測を行います。予測結果から提出用のcsvファイルを生成しました。Competition』を選択で、結果の提出を行うことができます。提出した結果、自分がオリジナルで作成したモデルのスコアは0.75598でした。性別で分けただけの解答例よりも悪い結果に......スコアの結果は、ランキング形式で他のユーザーと比較することが出来ます。おわりにとりあえず一通りの方法を理解しました。今後は特徴量を増やしたりして、せめてサンプルよりは予測精度を向上させたいです。pandasやseabornといったライブラリの扱いもまだまだ不慣れなので、これを機会にゴリゴリ習得していきたいなあと思いました。Pythonは様々なLibraryがあることに気づき、興味を持つことになりました。この記事は(の**24日目**の記事です。k-fold法による正答率計算を行いました。k-fold法による正答率計算を行いました。コメントをキャンセルメールアドレスが公開されることはありません。