RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作 Python データサイエンス

[Kaggle] Titanic 約80% by ランダムフォレスト

投稿日:2019年2月19日 更新日:

実力不足感が否めませんが、Kaggleのチュートリアル的なTitanicにおいてランダムフォレストで正答率約80%を出せたのでコードを載せておきます。
Colaboratory

実施期間:2019/02/07~02/19
的中率:46%→80%
使用識別器:ロジスティック回帰、ランダムフォレスト、SVM、K-means、カーネルSVM
グリッドサーチ:あり

注意したこと:
・データをよく観察する。
・欠損値はよく考えて埋める。適当に埋めない。
・1つずつ理由を考える。

問題点:
・識別器の違いが判らなかった。(だいたい分かるようになってきた)
・分析のためのコードの書き方がわからなかった。
・名前の分類凝りすぎた感。(+αするなら男の名前と女の名前で列を分けたほうが良かったかも?)
・データ正規化の自作関数、data_normalize()がWarning出てしまう。
・NNとかCNN、LGBなどの優秀な識別器を自作できなかった。理解が足りない。
・ほぼほぼモノマネに終始してしまった。
・上のColaboratory URL完成してない!
・「もし乗客になった場合、死亡確率を下げるにはどうしたらいいの?」という問いに答えられない。

感想:
・時間かかったけど楽しかった。
・KaggleはPythonに慣れるのにはよさそう。
・他の人のコードをもっと読みたい。(カーネル読もね)
・Pythonやデータサイエンスの理解を深めたい。で、仕事で使いたい。

【追記:04/30】
LightGBM、XGBoostをさらに試したところ、84%の精度が出ました。
・・・とは言え、単純な「データ加工→学習→出力」ではチューニングしたランダムフォレストが一番精度高かったです。
2つのBoosting系は、出力後の結果を再度取り込んで学習させるなど、さらなる精度を求めるならよさそうです。(なお、ノンチューニングなので真価は発揮していない)

-Web制作, Python, データサイエンス

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

(VPSでつくる) Python(Flask)でMariaDB(MySQL)へ接続できるアプリをもっと読みやすく改良してみよう

連載第十二回目です。 前回の記事で、Python3.6.8+FlaskでMariaDBに接続・データベースを編集するアプリを動作させる設定を行い、動作確認しました。 今回は、機能は前回と全く同じアプリ …

[Python] tensorflow_datasetsで詰まったとき

「図解速習 DEEPLEARNING」で自己環境(Windows)で学習していました。 tensorflow_datasetsって何だ・・・? import tensorflow_datasets a …

スッキリわかるSQL入門 第2版 題材A 問75

回答が非常に長い気がするのはなぜだろうか。 /* 自己結合を用いた場合 */ SELECT DISTINCT K1.名義, K1.口座番号, K1.種別, K1.残高, K1.更新日 FROM 口座 …

手書き数字診断士(機械学習)ver 0.1 K近傍法を使ってみた

手書き文字の判定精度が全然上がらないので、他の手法を試してみました。 sklearnの開発元によると、以下の方法が良いらしい・・・。 なるほど!SVCで上手くいかない → K近傍法だな! 早速実装 p …

[Meisyo]速球の地位向上

[Meisyo]ビッグデータから学ぶ試合の基礎設計4から早4か月。 「速球の上方修正してほしいな」というコメントが届きました。 すみません! 制球に比べ、速球は蔑ろにされてきたことはわかっております。 …