【Kaggle入門, R言語】Titanic号の乗客データを用いた生存者予測―ロジスティックモデルでスコア80%を超えることができるか挑戦してみた―

Kaggleに入門してみたので,その内容をまとめてみます.
基本的にはKernelsで優秀な参加者のコードを参考に所々アレンジしているといった内容の記事になります.

Kaggleでは入門者向けにタイタニック号の乗客データを用いた生存者予測を行うためのデータセットを提供しており、今回はそのデータセットを用いて推定モデルの構築及び提出までの一連の流れをまとめます.
今回の挑戦ではランダムフォレストのようなアンサンブル学習器を利用するのではなく,単純なロジスティックモデルでスコア80%を超えることができるかを一つの目標としてチャレンジしました.
結果を先に言うと最高スコアは0.79426(上位26%)で残念ながらあともう一息というところでした.

Titanic: Machine Learning from Disaster | Kaggle


目次

  • データセット及び変数の定義
  • データの読み込み
  • 使用するパッケージ
  • データの確認
  • Survivedとの関係を確認
  • 説明変数の作成と欠損値の補完
  • 相関行列
  • データセットの分割
  • ロジスティック回帰モデルの推定(1回目)
  • 説明変数の追加
  • ロジスティック回帰モデルの推定(2回目)
  • おわりに
  • 参考にしたKernels
続きを読む

【R言語】友達に漫画をおススメするときに利用するレコメンドアルゴリズムについて

 岩波データサイエンスVol.5に行列分解を利用したレコメンドについて記事があったので、雰囲気だけでも理解しようと簡単な例を作成してみました。売れ筋の漫画10タイトルの購入の有無を7人について調査し、ある人(小林さん)がまだ購入してない漫画のうち、どの漫画をレコメンドしたらいいのかについてです。売れ筋漫画についてはジュンク堂書店ランキング(漫画・コミックのジュンク堂書店書店ランキング - hontoベストセラー)の上位10タイトルの漫画(2017年6月18日現在)を利用しました。今回取り上げるレコメンドアルゴリズム協調フィルタリング(ユーザベースド、アイテムベースド)、特異値分解(SVD)、非負値行列因子分解(NMF)についてです。

目次

  • データセットの作成
  • 使用するパッケージ
  • 協調フィルタリング
    • 類似度を計算する関数
    • ユーザベースド
    • 類似度の算出
    • 小林さんが購入していない漫画をレコメンド
  • アイテムベースド
    • データの分割
    • 類似度の算出
    • 小林さんが購入していない漫画をレコメンド
  • 特異値分解(SVD)
  • 非負値行列因子分解(NMF)
    • おわりに


続きを読む

Rによるニューラルネットワーク―neuralnet関数を利用した例―

個人的なメモとしてneuralnet関数の使い方についてまとめてみます。

関数の基本的な使い方については以下の本が詳しいのではないかと思います。

www.shoeisha.co.jp

本記事ではニューラルネットワークを構築して回帰問題に取り組みます。

続きを読む

【R言語】政府統計を用いた階層的クラスタリングの実践例

クラスター分析の復習の記事では、食品ごとのたんぱく質摂取量のパターンにもとづいて欧州25ヵ国をグルーピングしており、地理的に近い地域の国でクラスタを形成しているならば、日々の食事習慣みも似通ってくるのではないかと推測していました。なので、ここではクラスタ分析の使い方を覚えることを主眼に置きつつ、都道府県の主要な食品の消費データを利用して、地理的に近い県で似通った食品の消費傾向を示すクラスタが形成されるかを検証してみます。

続きを読む

【R言語】階層的クラスタリング結果の可視化及び客観的なクラスタ数の決定方法について

教師なし学習の代表的な手法の1つであるクラスタ分析について個人的な論点整理を兼ねてZumel氏とMount氏共著の"Practical Data Science with R"の第8章をまとめてみます(端折ったり本文にないコードを追加したりしてます)。
ちなみに、第8章は以下の出版社サイトからFREEで入手可能です。

Manning | Practical Data Science with R

続きを読む

【R言語】プロ野球データを例にして試みるコレスポンデンス分析の解釈の仕方ーデータ収集から視覚化までー

コレスポンデンス分析(Correspondence Analysis)とは、クロス集計表の表頭項目(列)と表側項目(行)の関係性を視覚的に表現する手法だそうです。クロス集計表を視覚化できるのは便利そうだと思ったのですが、列項目と行項目の両方をプロットした図(同時布置図)の解釈について色々と判断に迷うところがあったので、備忘録を兼ねてまとめておこうと思います。

続きを読む