Google AutoML Tables の機械学習を使ってカード利用明細から家計簿の勘定科目を予測する(2)トレーニング
教師付きの機械学習サービスである Google AutoML Tables を使って、クレジットカードの利用明細(CSVファイル)から家計簿の勘定科目を予測してみます。第2回目の本記事では、前回作成したトレーニングデータを用いて機械学習モデルを作成します。
【目次】
[1]はじめに
本記事は、前回の記事『Google AutoML Tables の機械学習を使ってカード利用明細から家計簿の勘定科目を予測する(1)準備』の続き(第2回)です。
前回の記事で、過去のクレジットカード会社のサイトからダウンロードしたCSVファイルと対応する家計簿の勘定科目から、勘定科目を予測するためのトレーニングデータを作成しました。
本記事では、このトレーニングデータを使って、Google AutoML Tables でトレーニングを行い、勘定科目を予測するための機械学習モデルを作成します。
AutoML Tables の使い方はとても簡単なので操作説明だけならすぐに終わるのですが、関連することを少し書くと長くなりましたので、今回作成するモデルを使った予測やその後の試行錯誤については、以降の記事で書きます。
[2]AutoML Tables で機械学習モデルを作るまでの流れ
Google AutoML Tables でトレーニングデータを使ってトレーニングを行い、勘定科目を予測する機械学習モデルを作る手順は以下の通りです。
- GCPプロジェクトを準備します。
- データセットを作成します。
- データセットにトレーニングデータ(CSVファイル)をインポートします。
- (本記事の例では、)インポートは Google Cloud Storage を経由します。
- ターゲットや特徴に関するパラメータを設定してトレーニングを開始します。
- トレーニングが終了すると、機械学習モデルとその評価指標が得られます。
機械学習モデルを使った予測のフローについては、続く記事で書きます。
[3]GCPプロジェクトの準備
Google AutoML Tables を利用するためには、以下のGCP(Google Cloud Platform)での準備作業が必要です。
<GCPプロジェクトの準備の流れ>
- 利用するプロジェクトを決定する。
- 課金を有効化
- プロジェクトの課金が有効になっていることを確認します。
- APIの有効化
- Cloud Console 左側メニューの「APIとサービス/ライブラリ」を選択し、「Cloud AutoML API」を検索して「Cloud AutoML API」画面へ進みます。そして「有効にする」ボタンをクリックします。
- 同様の手順で「Cloud Storage API」も有効にします。
- Cloud AutoML APIを有効化すると、既に有効化されているかもしれません。
本記事では、BigQueryやクライアントライブラリ等を利用せず、全ての操作をGCPコンソールを通じて行いますので上記の準備だけで大丈夫だと思います。
BigQueryやクライアントライブラリを利用する場合は、追加の手順が必要となります。詳細については、下記ページを参照して下さい。
(注意)
AutoML Tables は有料サービスですので課金にご注意ください。個人利用で(手軽に試すというには)高価すぎるか。。。
但し、無料トライアルの設定はあります(私はこれで試しました)。
- AutoML Tables の料金
[4]データセットの作成
AutoML Tables にトレーニングデータを格納するためにデータセットを作成します。
データセットは、ドキュメントで以下のように説明されています。
- データセットとは、ソーステーブルのデータと、モデル トレーニング パラメータを決定するスキーマ情報が含まれた Google Cloud オブジェクトです。このデータセットを入力値として利用し、モデルをトレーニングします。
GCPコンソール画面からデータセットを作成する手順は以下の通りです。
- 左端のナビゲーションメニューから「人工知能/Tables」をクリックして、データセット画面を開きます。
- 「新しいデータセット」をクリックすると「新しいデータセットの作成」ダイアログ画面が表示されます。この画面で以下の項目を入力します。
- データセット名には、分かりやすい名前を入力します。
- リージョンは「グローバル」か「欧州連合」を選択します。
- 現状で選択できるリージョンは、「グローバル」か「欧州連合」の二択のようです。デフォルトは「グローバル」です。
- 選択したリージョンに応じて、連携するCloud Storage バケットのリージョンをあわせる必要があります。
- ちなみに、「グローバル」リージョンとは、ドキュメントによると、「us-central1」のようです。
- 「データセットの作成」をクリックすると、データセットの画面に切り替わり、インポートタブが表示されます。
リージョンと Cloud Storage の関係については後述します。
[5]データセットにトレーニングデータをインポート
続いて、作成したデータセットにトレーニングデータをインポートします。
以下のように書くと少々面倒な感じがしますが、一度やってみると面倒な手順ではないと思います。
(1)トレーニングデータのインポート方法
データセットにトレーニングデータをインポートする方法は3つあります。
- BigQuery からデータをインポート
- Cloud Storage から CSV ファイルを選択
- パソコンからファイルをアップロードする
このうち、CSVファイルをインポートする場合は、「Cloud Storage から CSV ファイルを選択」 または「パソコンからファイルをアップロードする」ことになります。
ここで「パソコンからファイルをアップロードする」は、直接データセットにアップロードされるのではなく、Cloud Storageを中継しますので、データセットと連携できるCloud Storageの準備も必要です。
(2)データセットと連携するCloud Storage バケットの準備
「Cloud Storage から CSV ファイルを選択」または「パソコンからファイルをアップロードする」には、データセットと連携できる Cloud Storage のバケットを準備する必要があります。
(参考)
下記要件を満たす既存のバケットがあれば新規に作成する必要はありません。また、下記のデータセットのリージョンとバケットのロケーションの対応が取れていれば、データセット毎にバケットを作成する必要はありません(バケットは共用できます)。
データセットと連携するバケットの要件は、データセット作成時に選択したリージョンによって異なります。
これによると、データセットの作成時に選択したリージョンによって、以下の要件を満たすように Cloud Storage のバケットを作成する必要があります。
<グローバル(us-central1) を選択した場合のバケット要件>
- ロケーション タイプ: Region
- ロケーション: us-central1
- ストレージ クラス: Standard(Cloud Storage ブラウザでは Regional と表示されることもある)
<欧州連合(eu) を選択した場合のバケット要件>
- ロケーション タイプ: Multi-region
- ロケーション: eu
- ストレージ クラス: Standard(Cloud Storage ブラウザでは Multi-Regional と表示されることもある)
例えば、データセットのリージョンに「グローバル」を選択した場合、Cloud Storageのバケットを以下のように作成します。
- GCPコンソールで、Cloud Storage の画面を開きます。
- 「バケットを作成」をクリックします。
- バケットの作成画面の各項目を指定します。
- 「バケットに名前を付ける」
- 目的に応じた名前を入力します。
- 「データの保存場所の選択」
- 「Region」を選択して、ロケーションには「us-central1 (アイオワ)」を指定します。
- 「データのデフォルトのストレージ クラスを選択する」
- 「Standard」を選択します。
- 上記以外の項目は用途に応じて指定します。
- 「作成」ボタンをクリックします。
(3)トレーニングデータのインポート
Cloud Storage のバケットの準備ができたら、データセットのインポート画面から、トレーニングデータ(CSVファイル)をデータセットにインポートできます。
以下の「パソコンからファイルをアップロードする」あるいは「Cloud Storage から CSV ファイルを選択」の手順のうち、どちらかお好みの方法でインポートします。
なお、データのインポートにはトレーニングデータの大きさなどによってインポートにかかる時間が異なります。(今回の例のような小さなデータは直ぐにインポートが完了します。)
インポートが完了する(あるいは失敗する)とメールで通知してくれます。
①パソコンからファイルをアップロードする方法
新規のパソコンなどからCSVファイルをアップロードする場合は、この方法が簡単かもしれません。
- AutoML Tablesのデータセット/インポートタブ画面で、「パソコンからファイルをアップロードする」を選択します。
- 「ファイルを選択」ボタンをクリックすると、ファイル選択ダイアログが表示されますので、アップロードするCSVファイルを指定します。
- 「gs:// Cloud Storage 上の宛先」の右側にある「BROWSE」をクリックすると、「フォルダの選択」画面が表示されますので、ここで連携する Cloud Storage の(同じリージョンの)バケットを選択します。
- 「インポート」をクリックします。
- インポートには少々時間がかかります。インポートが完了するとメールで通知してくれます。
ところで、パソコンからアップロードしたファイルは、指定した Cloud Storage のバケット(フォルダ)に残ります。このファイルは自動削除されないため、不要になったら自分で削除する必要があります。
②Cloud Storage から CSV ファイルを選択
既に(同じリージョンの)Cloud Storage にトレーニングデータがある場合や、同じCSVファイルから複数のデータセットを作成する場合などは、こちらの方法が便利かもしれません。
Cloud Storage にCSVファイルをアップロードする最も簡単な方法は、GCPコンソールを利用する方法だと思いますが、用途に応じて gsutilなどのツールやAPIを利用する方法もあります。gsutilなどのツールの使い方などについては以下の記事も参考にしてください。
Cloud Storage にCSVファイルがあれば、手順は簡単です。
- AutoML Tablesのデータセット/インポートタブ画面で、「Cloud Storage から CSV ファイルを選択」を選択します。
- 「gs:// *」の右側にある「BROWSE」をクリックすると、「オブジェクトの選択」画面が表示されますので、ここで連携する Cloud Storage の(同じリージョンにある)CSVファイルを選択します。
- 「インポート」をクリックします。
- インポートには少々時間がかかります。インポートが完了するとメールで通知してくれます。
(4)インポートに失敗する例など
インポートが正常終了すると「AutoML Tables finished importing data into dataset "データセット名"」というタイトルでメールで通知してくれます。
同様に、インポートに失敗した場合は「AutoML Tables was unable to import data into dataset "データセット名"」というタイトルでメール通知があります。
正直言うと、マニュアルをほとんど見ないで使い始めたため、インポート失敗を2つほど経験しましたので(笑)、失敗例を共有します。
なお、下記のエラー原因に関するCSVファイルの仕様については、前回の記事のCSVファイルのレイアウトを参照して下さい。
①ヘッダの列名に日本語が使われている場合のエラー
最初に作成したCSVファイルのヘッダ行(1行目)は、「日付,説明,金額,勘定科目」でした。すると下記のエラー内容を含むメールの通知が来ました。
Operation State: Failed with errors
Error Messages: Invalid column names: 日付,説明,金額,勘定科目
マニュアルを見ると、カラム名に日本語が使えないことが分かりましたので、ヘッダ行を「date,description,amount,account」 に変更して再度インポートすると成功しました。
②CSVファイルのエンコード
適当なExcelファイルをCSV出力して、インポートしてみると「Invalid UTF-8 record" found.」というエラーになりました。
このExcelファイルには日本語が含まれており、CSVファイルのエンコードがShift-JISだったため、UTF-8に変換してインポートすると成功しました。
Excelファイルから作成したCSVファイルを直接利用する場合はご注意ください。
[6]機械学習モデルの作成(トレーニング)
トレーニングデータのインポートが完了すると、[トレーニング]タブ画面からトレーニングを開始できます。
AutoML Tables は、機械学習で必要とされる基本的な処理を殆ど自動で行ってくれるため、最低限、ターゲット列の選択とトレーニングの予算を指定すればトレーニングを開始して機械学習モデルを作成することができます。
とはいえ、エラーが出た場合の原因を考えたり、より精度を向上させる方法を考えるために、最低限?の知識を少し補足していきます。
詳細なトレーニングに関する操作方法などは、以下のドキュメントを参照して下さい。
(1)トレーニングの開始方法
細かいことは置いといて、まずは機械学習モデルを作ってみる、ということで、早速トレーニングをやってみます。
これは「データ型」を確認したうえで「ターゲット列」を指定し、[モデル トレーニング] からトレーニングの予算を入力すれば実行できます。とても簡単です。
- 列名のリストのうち、特に「ターゲット」(予測したい項目)の「データ型」を確認します。
- 今回の例では、まずはターゲットとなる「account(勘定科目)」のデータ型が「カテゴリ」になっていることを確認します。データ型は重要なところなので(2)で補足します。
- 「ターゲット列」をプルダウンメニューから選択します。
- 今回の例では、account を選択します。
- [モデル トレーニング] をクリックして右端に表示されるダイアログ画面の項目を設定します。
- 「トレーニングの予算」に1~72 の数値を入力します。
- 推奨されるトレーニング時間は、トレーニング データのサイズに応じて変わります。
- 上記「モデルのトレーニング」のドキュメントのConsole手順 8.[トレーニングの予算] の項に目安などが書かれています。
- 今回はデータ量が少ないので、1を入力します。
- 「トレーニングの予算」を入力すると、[モデル トレーニング] が有効化されます。
- それ以外の入力項目は必要に応じて設定します。
- パラメータ調整が必要な状況が出てきた場合に設定します。
- [モデル トレーニング] をクリックします。
モデルのトレーニングを開始すると、モデル画面に切り替わって、以下のような進捗状況が表示されます。
少々時間がかかりますので、他のことをやりながら気長に待ちます。(ちなみに、今回の例だと30分前後で終わりました。)
トレーニングが終了すると、(成功でも失敗でも)メールで通知してくれます。
エラーなく正常終了した場合は機械学習モデルが作成されて、下図のようにモデル画面に主要な評価指標が表示されます。
(2)データ型とその関連情報
①データ型
トレーニングデータをインポートすると、AutoML Tables が各列のデータ型を自動的に推測してくれますので、データ型を意識しなくても利用できる場合もあります。しかし、データ型は良い予測モデルを作成するためにはとても重要な概念です。
(AutoML Tables のドキュメントに「列のデータ型は、その列がモデルのトレーニングでどう使用されるかに影響するため、重要です。」とあります。)
まず、AutoML Tables は、ターゲット列のデータ型に基づいて問題と構築すべきモデルを自動的に定義します。
具体的には、ターゲット列がカテゴリ型の場合は分類モデル(バイナリ分類、マルチクラス分類)となり、ターゲット列が数値型の場合は回帰モデルになります。
同様に、各特徴についても、データ型の選択は AutoML Tables の内部処理方法に影響を与えるので重要です。
ところで、良い予測モデルを作るためには、データの性質をうまく教えてあげる必要がります。AutoML Tables のデータ型はデータの性質に関するもので、各列のデータ性質をAutoML Tables に教えるものと考えられます。
統計や機械学習に詳しい方は説明不要なところだと思いますが、プログラミング言語でいうデータ型とは少し異なりますので、以下に補足します。とはいいつつも、データ表現などに関してはかなり奥が深いため、詳細については以下のドキュメントや書籍、Webサイト等を参照して下さい。
さて、CSVファイルはもともと文字の集まりですが、AutoML Tables にインポートすると、列毎に以下のデータ型として自動認識されます。
- カテゴリ
- テキスト
- 数値
- タイムスタンプ
各列のデータ型と関連情報は画面から確認、変更できます。
今回の例では、date(日付)、description(摘要)、amount(金額)の3つの特徴から、account(勘定科目)をターゲットとするマルチクラス分類を行う機械学習モデルを構築します。
このため、まずは「account」のデータ型が「カテゴリ」となっていることを確認します。
(ターゲットにaccountを指定したため、accountにチェックマークが付いています。)
特徴であるamountは数値、dateはタイムスタンプ、descriptionはテキストと認識されています。データ型の表示の横にある▼はドロップダウンリストになっており、それぞれカテゴリ型に変更可能になっています。
ところで、このカテゴリ型とは何でしょうか?
統計の教科書などでは、統計データの種類として「量的データ」と「質的データ」が出てきます。ざっくり言えば、量的データは、温度や身長のように大小比較ができる数値データで、質的データは、男/女、好き/どちらでもない/嫌い、のように、いくつかのカテゴリ分けされたデータです。
AutoML Tables のカテゴリ型は、各値に順序関係のない質的データであることを表します。
今回の例で考えると、勘定科目の値である「食費」や「医療費」は文字列(テキスト)ですが、データ型の観点では自由テキストではなく、カテゴリ(分類)の値を表しています。
今回は文字列の勘定科目を利用してますが、これが勘定科目番号を利用したとすると数値文字列(数値としても解釈できる)になります。しかし、勘定科目番号もカテゴリ(分類)の値を表しているため、数値ではなくカテゴリ型と考えることになります。
このように、テキスト、数値、タイムスタンプ、カテゴリの選択は、データの性質(データの処理方法が変わる)に影響があるため、慎重に選択します。
(実際に、後の記事で、データ型を変更して再試行する例を書きます。)
- (2021/12/01 追記)
- テキスト型として認識されるには条件があります。例えば、列データの中に半角空白で区切られる文字列が無い場合は、テキスト型とは認識されず、カテゴリ型としてのみ認識されます。このためテキスト型を選択することができません。
- 詳細については以下の第5回の記事を参考にしてください。
データ型の選択と合わせて、「null値許容」の設定が必要な場合もあります。
今回の例では、元データの各列全てにデータが入るため(null値はありえないので)、Nullableがオフの状態になっています。
もし、データにNULLが含まれる可能性がある場合は、ドキュメントを参照して検討して下さい。
②データの概略表示
AutoML Tables の便利な点の一つとして、列のデータ型に応じて、インポートしたデータの概略を表示してくれるところです。
例えば、列名の date をクリックすると、以下のように月、曜日、時間の統計情報を表示してくれます。
同様に、カテゴリならば円グラフで値の割合を表示してくれたり、テキストだとトークンに関する情報、数値なら分布状況をグラフ化してくれます。
さらに、リストには「欠損 %(カウント)」、「無効な値」、「固有の値」、「ターゲットとの相関」の項目もあります。
これらの項目を見れば、インポートしたデータの大雑把な傾向を確認できるので、とても便利です。
(3)データセットの分割
初心者向けガイドの「AutoML Tables がデータセットを使用する方法」に以下の記述があります。
- データセットは、トレーニング セット、検証セット、テストセットに分割されます。デフォルトでは、AutoML Tables はデータの 80% をトレーニングに、10% を検証に、10% をテストに使用しますが、これらの値は必要に応じて手動で編集できます。
自分で機械学習ツールを利用する場合は、こういったことも検討する必要がありますが、AutoML Tables では自動的に行ってくれます。
より詳細についてはドキュメントを参照して頂くとして、データセットの分割などについては、[他のパラメータを編集]ボタンから、多少カスタマイズが可能です。
(データ分割については、自動(デフォルト)、手動、時間列、が指定できます。)
(4)モデルアーキテクチャ
機械学習関係の本を読むと、難しそうなアルゴリズムがいろいろ解説されています。しかし、AutoML Tables ではそれらを理解する必要はありません。(というより、AutoML Tables は下記の通りアーキテクチャを自動決定するため、そもそも指定できません。)
AutoML Tables のトレーニング方法については、以下のドキュメントで説明されています。
- AutoML Tables の特徴と機能:モデル トレーニング
ここには以下のように書かれています。
- モデルのトレーニングを開始すると、AutoML Tables は用意されたデータセットを使用して、複数のモデル アーキテクチャのトレーニングを同時に開始します。これにより、多数のモデル アーキテクチャ候補を順次繰り返して適用する必要がないため、ご使用のデータに最適なモデル アーキテクチャを迅速に判断できます。AutoML Tables のモデル アーキテクチャ テストには以下が含まれます。
- 線形
- フィードフォワード ディープ ニューラル ネットワーク
- 勾配ブースト ディシジョン ツリー
- AdaNet
- さまざまなモデル アーキテクチャのアンサンブル
- 研究コミュニティから公開される新しいモデル アーキテクチャも、ここに追加されていきます。
これは凄いです。
しかし、AutoML Tables の画面から選択されたアーキテクチャを知ることはできません。
とはいっても、どのようなアーキテクチャが選択されたのか?くらいは気になるところです。
実は、ハイパーパラメータなどを含めたアーキテクチャの詳細をCloud Logging からトレーニングのログとして確認することができます。興味のある方は、以下のドキュメントで手順をご確認ください。
- Cloud Logging を使用してモデル アーキテクチャを表示する
ちなみに、今回のトレーニングデータでデータ型を変更すると、選択されたモデルアーキテクチャが変わる(場合もある)ことが確認できました。
(5)トレーニングエラーの例
トレーニング段階で発生するエラーはいくらか考えられますが、今回のサンプルにおいて発生したエラーを書いておきます。
前回の記事で作成したトレーニングデータでトレーニングを実行すると、以下のエラーで終了しました。
Operation State: Failed with errors
Error Messages: Missing label(s) in train split: target column contains 19
distinct values, but only 18 present. Missing label(s) in test split:
target column contains 19 distinct values, but only 14 present. Missing
label(s) in eval split: target column contains 19 distinct values, but only
14 present. There must be at least one instance of each label value in
every split.
(3)にデータセットの分割について書きましたが、どうやらデータセットがトレーニング セット、検証セット、テストセットに分割されるときに欠落するカテゴリ値(今回の例では勘定科目)がありそうだということで、データを確認してみました。
すると、2年半くらいの間に1~5回程度しか使われていない勘定科目がいくつかありました。中には今後も使われないような科目もありましたし、不明金のようなもので適当に割り振ったものもありました。
これらのデータは削除しようかと思いましたが、データ数が非常に少ないことや(最低1,000行は必要と書いてあったし)、とにかくトレーニングができることを目的として、上記のような勘定科目を一括して「不明」に割り当てました。(データ数は維持した上でターゲットのカテゴリ数を減らし、各カテゴリ値が一定数以上存在するようにしました。)
その結果、とりあえず上記のエラーはなくなり、トレーニングが正常終了して機械学習モデルができました。
この例からもデータ数だけでなく、分類問題ならカテゴリごとのデータにも気を付ける必要があることが分かります。
といいつつ、これをきっかけにデータを見直してみると、データ数の問題以前に、家計簿の運用上の課題?も発覚したりして(涙)、なかなか面白かったです。
これらについては、後の試行錯誤に関する記事でいくつか取り上げる予定です。
[7]作成した機械学習モデルの評価
トレーニングが終了すると、以下のような「評価」タブが利用できるようになり、作成された機械学習モデルの各種評価指標を見ることができます。(モデルタブでも主要評価指標を見ることができます。)
ここに表示される評価指標について書くと長くなりますので今回は割愛します。詳細については、下記ドキュメントを参照して下さい。
さて、機械学習においてモデルの数値評価はとても大事なプロセスだと思いますが、専門家の方はともかく、正直なところ、はじめて機械学習をやってみる方にとっては、数字を見ても実感がわかず「実際のところどうなの?」という感じの方もいると思います。
私としても、今回は特にデータの精査も行っていないし(既存のデータを殆どそのまま利用しただけだし)、データの量も少ないことから、評価指標より「実際に使える程度のものなのか?」に興味があります。
また、今回は超プライベートなデータを利用しており、データを公開できないので(笑)、トレーニングデータに基づいて評価指標云々をこのブログで書けません。。。
そこで、モデル評価は後回しにして、作成した機械学習モデルを使って実際のデータで予測してみることにします。その後、モデルを改善する際に評価指標を参考にします。
(2021/12/01 追記)
モデルの評価については第5回の記事に書きましたので参考にしてください。
モデルの評価については第5回の記事に書きましたので参考にしてください。
[8]再トレーニング、データの削除など
予測の前に、データセットとモデルの関係や管理について補足しておきます。
一般に、精度の高い機械学習モデルを作るためには試行錯誤が欠かせないと思います。このため、トレーニングデータを調整したり、パラメータを変更してトレーニングを繰り返すことになると思います。
トレーニングを繰り返すと、データセットやモデルが沢山できてしまいますので、不要になったデータセットやモデルを削除するなど、管理面も考える必要がでてきます。
そこで、まずデータセットとトレーニング、モデルの関係を整理しておきます。
データセットは、パラメータなどを変更して繰り返しトレーニングを行うことができます。この場合、トレーニングによって過去のモデルが破棄されるのではなく、新しく機械学習モデルが作成されます。(1つのデータセットに対して複数のモデルが対応付けられます。)
データセットから作成された機械学習モデルは以下の画面で参照できます。また、不要になったモデルを削除することもできます。
- データセット画面の「モデル」タブ
- 作成済のモデルがリスト表示されます。
- 各モデル右上のメニューからモデルを削除できます。
- データセット画面の「評価」タブと「テストと運用」タブ
- ドロップダウンリストでモデルを選択できます。
- モデル一覧画面
- 全ての作成済モデルが一覧表示されます。
- 各行右端のメニューからモデルを削除できます。
- モデルを選択するとデータセット画面に遷移して該当モデルが表示されます。
なお、データセットを削除したい場合は、データセットの一覧画面から、削除したいデータセットの行の右端のメニューから「データセットの削除」を実行すると削除できます。
(データセットを削除しても紐づいたモデルは削除されないようです。)
実際には、どのような試行錯誤を行うかによってデータセットとモデルの管理方法が変わると思います。
トレーニングデータを変更したり、データ型を変更するような場合は、それと分かるような名前を付けたデータセットで管理するほうが分かりやすいかもしれません。
一方、トレーニングデータは変更せず、トレーニングパラメータを少し変えて試したりするような場合は、同じデータセットでトレーニングを繰り返したほうが管理しやすいかもしれません。
なお、データセットは自由に名前を付けることができますが、モデルの名前は指定できない(と思います)ので、このあたりも使い分けの要素になりそうです。
[9]引き続き…
以降の記事では、今回作成した機械学習モデルを使って予測を行い、モデルの改善を試みます。
コメント
コメントを投稿