ねほり.com

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

Kaggle の Titanic Prediction Competition で機械学習を習得(Keras Functional API編)

   

データサイエンティストの転職サイトを見ると年収 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年), テクノロジー

  関連記事

トレシズ氏の移動平均乖離率(出来高)の有効性検証(1/2)(システムトレード)

トレシズ氏は、イザナミを専門にシステムトレードの開発・公開・販売を行っている人物 …

学科オセロプログラム大会優勝するも自慢が過ぎて非難を浴びました・・

最近どうも体調がすぐれません。  間違い無く体力不足です。パソコンの前 …

相場師朗氏の「くちばし」「パンパカパン」の有効性検証(protraシストレ)

相場師朗氏は、早稲田大学卒、元外資系銀行で為替のディーラーです。複数の会社も経営 …

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

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

ゲームの脱衣麻雀でイカサマゲームのアルゴリズムを調査

試験中にコンピュータを立ち上げてはいけない!  ゲームを必ずやってしま …

JavaScriptの知識をPhotoShopの自動化に活用

2011年06月12日(日) JavaScriptの知識をPhotoShopの自 …

最大ドローダウン(時価)を計算してみる(システムトレード)

【前回のあらすじ】 おっす!オラ悟空! みんなはドローダウン(時価)って知ってっ …

Kerasを使った株の利益を計算(ディープラーニング)

PytorchはLSTMが難しいらしいし、TensorFlowも難しいので未挑戦 …

エンジニアによる品質保証(品質説明力編)

「バグ出しのテスト」をすれば品質が保証できると思いがちですが、そうではありません …

Bootswatchによる2rowデザイン&軽量化の検討

この2ヶ月間で「ランキング出力のOAuth 2.0対応」「Yahooコメントラン …