LoginSignup
2
1

More than 3 years have passed since last update.

Fioneではじめる機械学習〜Titanic編

Posted at

はじめに

前回(Fioneではじめる機械学習〜導入)はFioneの基本的な利用方法を紹介しました。今回は、Kaggleで公開されているデータを利用して、予測データを作成してみます。Kaggleのデータを利用するので、Kaggleにサブミットするところまでおこなっていきます。

Kaggleとは

Kaggleは世界的なデータサイエンスのコミュニティで、分析用のデータセットを公開したり、予測モデルを探求したり、精度を競い合ったりするような場を提供するプラットフォームであり、会社でもあります。Kaggleに関する情報は検索すれば見つかるので、そちらを参照してください。

今回は、その中で入門データであるタイタニック(Titanic)を用いて、生存予測を行います。Kaggleからのデータ取得をするためには、Kaggleにログインする必要があるので、ユーザー登録してあるものとして話を進めます。

Titanicデータ

https://www.kaggle.com/c/titanic/data にアクセスして、train.csvとtest.csvをダウンロードしてください。

Titanicデータの取得

train.csvが学習用データで、test.csvはテスト用データです。テスト用データの方には生存かどうかの(Survived列)が含まれていません。

Fioneで予測データ作成

起動

Fioneの起動に必要な設定等は前回の記事を参照してください。今回は、Fione 13.6.1を利用します。

$ git clone https://github.com/codelibs/docker-fione.git -b v13.6.1
$ cd docker-fione/compose
$ docker-compose up

プロジェクトの作成

ブラウザで http://localhost:8080/admin/easyml/ にアクセスして、fioneユーザーでログインします。 デフォルトのパスワードはfioneです。

fioneユーザーでログインすると、EasyMLのプロジェクトダッシュボードが表示されます。プロジェクト名にTitanic、学習データにtrain.csvを指定して、作成ボタンを押下してください。

プロジェクトダッシュボード

学習

train.csvの読み込みが終わると、データ分析が表示されます。今回の予測対象はSurvived列なので、左側の予測領域で予測する列にSurvivedを選択します。Survivedは0または1の二値の予測なので、予測の種類には二値分類を選択します。最大実行時間はどれだけ時間で計算するか?なので、今回は1時間を選択して、1時間の計算を行います。実行ボタンを押下して、計算を開始します。

データ分析

計算が終わるまたは1時間後、予測結果サマリーが表示されます。今回は275モデルを作成して、GBM gridの結果が良いようです。作成するモデル数などは実行環境に依存します。

予測結果サマリー

予測データの作成

テスト用データtest.csvから予測データを作成しましょう。予測結果サマリーのFioneくんが「予測ページからデータファイルをアップロードしてください。」と言ってますので、その予測ページのリンクを押下します。

新規予測ページが表示されます。予測するデータにtest.csvを指定します。KaggleにサブミットするデータはIDと予測値だけのデータが必要なので、今回は出力する列の中でPassengerIdだけを選択します。入力後、アップロードボタンを押下します。

新規予測

予測データ作成が完了すると、予測結果サマリーに戻ります。データセット領域が表示されるので、predict_〜.csvファイルをダウンロードします。

予測結果サマリー

予測結果の提出

Kaggleに戻り、https://www.kaggle.com/c/titanic/submit を表示します。Step 1のところにpredict_〜.csvを指定して、コメントがあればStep 2のテキスト欄に入力して、Make Submissionボタンを押下します。

Submit predictions

問題がなければ、My Submissionsでアップロードした結果を確認することができます。

まとめ

今回は2クラス分類問題の予測モデルを作成して、Kaggleに結果をアップロードする方法を紹介しました。(ほぼ何も考えずに)データをFioneに渡すだけで、必要な予測結果が取得できることを紹介できたと思います。予測結果サマリーから予測API化も簡単にできるので、予測したいデータがあれば同様に、予測結果またはAPIなどで利用できると思います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1