【機械学習】Kerasのニュートラルネットワークライブラリについて
記事の監修者
1000万PVを超える新規メディアの立ち上げを開発責任者として行う。株式会社ウィルゲートを退社後、民泊の運用代行業者のTwistを設立し上場企業に売却。2016年株式会社Market Drive(現テックアイエス)を設立し、取締役副社長に就任。200万ダウンロードを超えるアプリを開発。現在はプログラミングスクールのカリキュラム制作も担当。現場でのエンジニアリングと経営の両面を支えている。
今回は機械学習のフレームワークであるkerasを使ったニューラルネットワークの実装をご紹介したいと思います。
kerasとは
kerasとはPythonで書かれたTensorFlowなどの上部で動作することができるニューラルネットワークライブラリの1つです。
ディープラーニングのベースとなっている数学的理論の部分をゼロから開発せずとも、比較的短いソースコードで実装することが可能となります。
今回はscikit-learnのアヤメのサンプルデータを使用します。
アイリスデータは説明がdataに目的変数となるデータがtargetに含まれているため、まずはxとyにそれぞれデータを分けて格納します。
xyに分割した後にはそれぞれのデータの前処理を行います。
xに関してはデータのスケールが異なるため正規化を行います。 またyに関してはOne-hot ベクトルの処理でそれぞれ前処理を行いましょう。
次に学習用のデータとテスト用のデータに分割します。
学習データとテストデータに分けた後はモデルの作成を行います。
kerasで作成するモデルはadd関数を用いてモデル自体の設定を行うことが可能になります。
今回は以下のように設定を行いましょう。
上記でモデルのフィットを行ったため、実際にモデルの出力結果が出力されています。
それでは、上記で出力された結果を評価してみましょう。
出力結果としては89%一致という評価になりますので、モデルとしてはまずまずといったところでしょうか。
kerasは機械学習フレームワークの中でも最も敷居が低いものになります。
tensorflowやpytorchを触る前に、まずはkerasから取り組むことをおすすめします。
全国どこにいても学べる!超優良のプログラミングスクールまとめました【国内完全網羅】現役エンジニアが厳選したおすすめのプログラミングスクール
自分の住んでるエリアでプログラミングスクールを探したい⭐️
エリア別で、おすすめのプログラミングスクールをまとめました。
ぜひ参考にしてみてくださいね。
北海道 / 東北
関東
群馬 / 栃木 / 埼玉 / 茨城 / 東京 / 千葉 / 神奈川
中部
福井 / 石川 / 岐阜 / 愛知 / 富山 / 長野 / 山梨 / 静岡 / 新潟
近畿
兵庫 / 京都 / 大阪 / 滋賀 / 奈良 / 三重 / 和歌山