ねほり.com

何もないから何かみつかる

Kaggle の Titanic Prediction Competition でクラス分類(Keras Functional API編)

      2019/12/22

データサイエンティストの転職サイトを見ると年収 600万 ~ 1,200万円ぐらいだ。

書かれている内容を大体まとめると次のようなスキルが必要だと分かる。

【必須】

  • 統計学、機械学習に関する知識・実務経験
  • データ分析の実務経験(Python/R/C++などの経験)
  • PythonやR等のデータ解析プログラミングに関する経験・知識
  • ビジネスにおける定量的な効果検証・改善施策立案の経験
  • C++,Java,Pythonなどで実際のプロダクトやビジネス上の課題に対して自然言語処理を応用した経験(3年以上)
  • Cabocha,KNPなどの言語解析ツールの利用経験
  • Word2VecやNERなどの機械学習を応用したツールの利用経験
  • 英語メール,英語論文読解に抵抗のない方

【歓迎】

  • 開発プロジェクトマネジメントの経験
  • 国際論文(NIPS、 ICML、 KDD等)採録実績
  • 社外との要件定義など技術的打ち合わせ経験
  • 機械学習モデルの構築、改善の実務経験
  • 大規模なデータやサービスの分析の実務経験
  • データベース、SQLに関する実務経験
  • BtoBプロジェクトに関する経験
  • 機械学習 (LSTM,SVM,LDAなど)に対する経験

 

Pythonで機械学習フレームワークが利用できて、データ分析と統計学に精通していれば転職可能そうです。

 

 

前回データの可視化により、データ傾向を理解した上で、もう少しデータ加工やKerasを触って理解を深めてみる。

Jupyter notebookでscroll boxの高さを変える

ブラウザでみれるからHTMLなので次のように変更できるっぽい。

けど、縦軸は伸びなかった・・・。

データの概略をつかむ

前回は紹介しなかったが、このような見える化もできます。

ヒストグラムで概略をつかむ

Jupyter notebookで画像を表示するためにrcParamsを使ってサイズを変更しています。

ヒストグラムにするとかなりみやすいですね。

Ageは20~30代が多く、Survivedは生存できなかったほうが割合としては多いなど、傾向が一目でわかります。

相関係数で概略をつかむ

量的データどうしの相関関係をみるときには、ピアソンの積率相関係数を用います。

pandas.DataFrameオブジェクトからcorr()メソッドを呼ぶと、各列の間の相関係数が算出されます。

ここで「相関係数」はすべてデフォルトでは「ピアソンの積立相関係数」となっています。

相関係数の絶対値 強さ
0.0~0.2 相関無し
0.2~0.4 やや相関有り
0.4~0.7 強い相関がある
0.7~1.0 非常に強い相関がある

Sex(性別)、Fare(金額)、Pclass(階級)にも相関があります。

相関係数は、1 ~ -1 の値をとり、値が大きいほど強い正の相関があり、0に近いと相関はなし

また、Pythonのビジュアライゼーションライブラリseabornを使うと、corr()で得られるようなpandas.DataFrameをヒートマップとして簡単に可視化できます。

KerasでFunctional APIを利用

Kerasには2通りのModelの書き方があります。

「Sequential Model」と「Functional API Model」です。

「Sequential Model」は入力と出力が必ず1つずつのネットワーク構成しか定義することができません。

・・・ネット上には、そう書いてありますが、同じネットワークを「Sequential Model」と「Functional API Model」で書いて比較しているサイトが全くありません。

前回の「Sequential Model」を「Functional API Model」で書いてみます。

Sequentialで書いた場合

Functional APIで書いた場合

結果

難しいことは何もありませんでした。

 

 
ただ、、下記のように書くと違うのかな・・・・。

結果

結果は確かに違うけど・・・・、学習ネットワークとして本当に違うのか・・・な。

ソースコード

 - 2019年(社会人15年), 機械学習, テクノロジー

  関連記事

機械学習で株価予測(交差検証+ROC 曲線とAUCで精度65%)

日本では5つの要因でサラリーマンの給料は上りません。 ① 労働組合の弱体化 ② …

curlと1024バイトとExpect: 100-continue

GWも出社して動作確認の手使いと、今月末リリース予定の実装を進め中。 山手線も会 …

バックテスト完了後に売買結果をテキストに保存する(システムトレード)

過去のイザナミ愛用者のブログを読み漁ると、2015年頃までは独自ストラテジー・開 …

mplfinance を利用してロウソク足を手軽にプロット

マスクは未だ市場に流通していません。 そして近所の薬局に朝6:30に起きて行って …

【カキ養殖の歴史】広島県がカキ養殖発祥の地・・地区はどこ?(2/2)

海のミルクとも言われるほど、栄養価が高いことで人気の牡蠣。 今回は、前回の記事の …

Turbolinuxが利用できる音楽プレーヤー「wizpy 4GB」購入

2009年04月10日(金) wizpy 4GB(3,980円)購入 wizpy …

Protra使い方発展編(年毎の勝率、最大DD、PFを表示する)

はっきり言って、私のサイトで「システムトレードの記事」が全く人気がありません。 …

JavaScriptクリップボードデータを取得する

March 10, 2005 JavaScript は色々な悪さに使えるスクリプ …

KaggleのHome Credit Default Risk体験(他人のKernelパクリ編)

過去の「Featured」として、まずはタイタニック同様の「分類」コンテストで有 …

AWS Summit Tokyo 2013 は飯が食べれず

仕事をサボってAWS(Amazon web service) Summit To …