2020年7月16日に、自社開発した、プログラミング不要のAI構築プラットフォーム(AI-Plant Bamboo)のベータ版をリリースしました。タイタニック号の生存予測をやってみたいと思います。
<参考:予測の流れの動画>
タイタニック号の生存予測とは
生存可否、性別、年齢等の訓練データにて機械学習をおこない、生存可否の列がないテストデータの生存予測をする、Kaggle(分析コンペサイト)のコンペです。
>Kaggle Titanic: Machine Learning from Disaster
データ
乗客1名が1行のデータ:訓練データ(12列×891行)、テストデータ(11列×418行)
- PassengerId:乗客番号
- Survived:生存したかどうか (0 = No, 1 = Yes)、※訓練データのみ
- Pclass:チケットのクラス (1 = 1st, 2 = 2nd, 3 = 3rd)
- Name:乗客の名前
- Sex:性別
- Age:年齢
- SibSp:同乗している兄弟/配偶者の数
- Parch:同乗している親/子供の数
- Ticket:チケット番号
- Fare:旅客運賃
- Cabin:客室番号
- Embarked:乗船港
データ:以下のページの画面左下の「Data Explorer」の「test.csv」と「train.csv」
>https://www.kaggle.com/c/titanic/data
AI-Plant Bambooを使ってみる
AI-Plant Bambooとは>AI構築プラットフォーム
Welcome ページ → https://welcome.aiplant-bamboo.com/
データ準備
Kaggleから、データ(trian.csv、891行)をダウンロードして、8割(712行)と2割(179行)に分割し、学習用に以下のデータを作成しました。
- 訓練データ:tai-train.csv
- テストデータ:tai-test.csv
使ってみる
- ログイン >https://aiplant-bamboo.com
- 「ファイルをアップロードする」にて、訓練データをアップロード:tai-train.csv
- アップロードしたファイルを選択して「データ変換に進む…」をクリック
- 「このデータをテーブルに追加する…」にてアップロードしたデータをテーブルに変換します
- テーブルを選択し、「モデルを作成する…」をクリックします
- モデル名をつけて、特徴量列とラベル列を選択します
- 項目4の欠損値処理を見ると、「Age」と「Cabin」の欠損率が15%超とけっこう大きく、欠損行を削除するとデータが減るので、今回は特徴量列から外します(欠損値処理をせずに学習をかけると「欠損値処理をしろ」と怒られます)
- 欠損値「Embarked」は、欠損率が小さいので、今回は「処理方法」を「最頻値での補間」を選択します
- 項目5のアルゴリズム選択で「クラス分類」を選択し、そのページの下段の「学習を開始する」をクリックします
- 学習中
- 学習が完了しました(5分ぐらいで)。おすすめのアルゴリズムをが表示されるので「csvファイルを利用して予測する」をクリックし、テストデータ(tai-test.csv)をアップロードします
- 予測が完了すると予測結果がダウンロードできます
- 結果データ(tai-test_prediction_result.csv)に、予測結果(Survived)が追加されています。所属確率は予測の確率です
- 結果をエクセルで作成した混同行列で確認すると、正解(死亡:110, 生存:69)に対し、正しく予測できた数が、死亡:91、生存:55となり、正解率81.6%になりました。