こにゃにゃちは~
2023年もDX・デジタル技術に関するトピックスや仕事に役立ちそうなTipsを、このブログを通してメンバーみんなで発信していきたいと思います。
どうぞよろしくお願いいたします!
前回のブログではPrediction OneというAIデジタルツールをご紹介いたしました。
https://niigata.insight-lab.co.jp/blog/ai-predictionone-review
今回はKaggleの課題を通してPrediction Oneで予測する流れをご説明しようと思います。
利用するKaggle(カグル)の課題
※「そもそもKaggle(カグル)って何??という方はKaggle初心者ガイドをご覧ください。
今回使うKaggleの課題は「Titanic - Machine Learning from Disaster」、1912年に沈没したタイタニック号にまつわる課題を使います。
https://www.kaggle.com/c/titanic
内容についてざっくり説明しますと、タイタニック号の乗客属性データを基に、乗客が生き残る可能性を予測する機械学習モデルを作成する課題になります。
使用するデータのダウンロード
使用する学習データ、テストデータは「Data」タブからダウンロードすることができますよ。
(ただしアカウントの作成が必要です)
画面右下にある「↓Downroad All」をクリックするとデータがダウンロードされます。
ダウンロードしたzipファイルには、以下3種類のデータが含まれています。
- 「train.csv」...学習データ
一列で一人の乗客のデータとなっており、性別、年齢、運賃、などの情報を含んでいます。
また「Survived」の列は1となっている乗客が生き残ったことを表しています。
これら属性情報から予測モデルを作成するために使います。 - 「test.csv」...テストデータ
予測モデルにこのデータを入れ、予測値を出すために使います。
したがってこちらのデータには「Survived」の列が存在していません。
Kaggleではこのテストデータの「PassengerId」に対して予測した「Survived」がどれくらい当たっているかを競います。 - 「gender_submission.csv」...提出するときのフォーマット例
このデータをみるとKaggleで課題を提出(Submit)するときには「PassengerId」、「Survived」の2列にして提出する必要があることが分かります。
※今回の課題の答えではありません。
Prediction Oneで予測モデルを作成する
ではここからPrediction Oneにデータを読み込ませてみましょう。
予測モデルの新規作成をクリックします。
学習用データを入力するよう求められますので、「ファイルを指定する」から先ほどダウンロードした「train.csv」を指定します。
予測精度を高めるためには、予測に使う列を制限したり、欠損値(空欄になっているデータ)を埋めたりしたほうがいいのですが、今回はひとまずこのまま使うことにします。
次に予測したい項目を選択します。
今回は「Survived」を選択し、「予測モデルを作成」をクリック。
すると早速予測モデルの作成が開始されます。
予測に関しては特にチューニングなどはすることはなく、すべてPrediction Oneにお任せです。
予測が終わると右下のボタンが「完了」になりますので、クリックして画面を閉じます。
予測モデルが作成されると、以下のような画面が表示され、モデルの精度などを確認することができます。
作成した予測モデルを使って予測をしてみる
ではいよいよ作成した予測モデルにテストデータを入れ、予測値を出してみましょう!
画面右上の「予測する」をクリックし、「test.csv」を選択。
アップロードをクリックします。
以下のような画面が表示されます。
テストデータの右端に予測した「Survived」を追加しますよーということですね。
右下の「予測結果プレビュー」をクリックします。
出力するデータのイメージを確認します。
左端の列に0、1結果が追加されるように出力されるようです。
今回は0、1の分類閾値を0.67に設定してみました。
予測結果プレビュー画面の詳しい説明については、以下のサイトでご確認いただけます。
https://predictionone.sony.biz/cloud_manual/operating_instruction/prediction/prediction_settting/index.html
右下の「予測して保存」をクリックします。
ファイル名を指定し、「保存」をクリックします。
作成したモデルをもとに、予測の出力が開始されます。
予測が終わると以下のような画面が表示され、予測結果のデータがダウンロードされます。
「閉じる」をクリックしましょう。
ダウンロードした予測結果ファイルを開いてみましょう。
ちゃんとSurvivedが予測されて入っていますね!
「gender_submission.csv」の説明でも述べましたが、今回KaggleにSubmitするためには、「PassengerId」、「Survived」の2列にする必要がありますので、以下のようにファイルを修正して適当なフォルダに保存しましょう。
Prediction Oneでの予測は以上で終了です!
KaggleにSubmit!
では早速KaggleにSubmitしてどれくらい正解できていたのか、確認してみましょう!
Kaggleの課題のページからLeaderboardをクリックします。
ここはこれまでSubmitした人と、そのScore (精度)とランクが表示されています。
Prediction Oneで予測したらどれくらいの精度だったのか、確認してみましょう。
右上のSubmit Predictionをクリックするとファイルをアップロードする画面が表示されます。
「Drag and drop fike to upload」に先ほどダウンロードした予測結果ファイルをドラッグ&ドロップしましょう。
ファイルをアップロードし、画面右下のSubmitをクリックするとSubmit完了です。
どんな結果になるのでしょうか...ドキドキ...
Public Scoreが0.73という結果でした。
つまり予測したうち約7割が当たっていたということですね。
Prediction Oneを使うことで全くのノーコーディングでKaggleに挑戦できちゃいました~
おわりに
少し前までは機械学習についての知識、スキルがなければデータを使った予測が難しかったですが、最近はPrediction Oneのように専門家でなくとも扱えるAIデジタルツールが登場し始めています。
無料でお試しできるライセンスも準備されていることがありますので、どんな感じで使えるのかぜひ試してみたい!ということであればぜひ利用してみてください。
また面白そうなAIデジタルツールを見つけたときにこちらでご紹介していきます!