誰でも簡単にできる機械学習によるデータ分析【ChatGPT】

誰でも簡単にできる機械学習によるデータ分析【ChatGPT】 ChatGPT

「機械学習によるデータ分析に興味はあるけど、難しそう・・・」
「データ分析にあまりコストをかけることはできない・・・」

このような場合には、この記事の内容が参考になります。
この記事では、誰でも簡単にできる機械学習によるデータ分析について解説しています。

本記事の内容

  • 誰でも簡単にできる機械学習によるデータ分析
  • ChatGPT + Noteableによるデータ分析の実践

それでは、上記に沿って解説していきます。

誰でも簡単にできる機械学習によるデータ分析

機械学習によるデータ分析は、もうプロだけのモノではありません。
誇大広告ではなく、本当に誰でもできるようになりました。

ここで言う誰でもは、データサイエンティストやエンジニア以外でもと言う意味です。

難しいアルゴリズムを理解する必要はありません。
また、Pythonのコードを書く必要もありません。
正直、もうこのような本を読む必要がないかもしれません。

もちろん、機械学習やデータ分析に全く無知では厳しいかもしれません。
しかし、それでも何とかなる可能性すらあると言えます。

そんな可能性すら抱かせてくれるのが、ChatGPTです。
正確には、ChatGPTとそのプラグインであるNoteableになります。

Noteableについては、次の記事で説明しています。

誰でも簡単にできる機械学習によるデータ分析では、Noteableの利用が必須です。
そのため、Noteableを利用できるようにしておきます。

以下では、誰でも簡単に機械学習によるデータ分析ができることを説明します。
説明と言うよりは、実践したログに近いです。

ChatGPT + Noteableによるデータ分析の実践

誰でも簡単に試せるように、データはオープンなモノを利用します。
機械学習によるデータ分析と言えば、ボストンの住宅価格データセットですね。

Noteableのプラグインが有効であることを確認して、次のようにプロンプトを入力します。

scikit-learnを利用して、ボストンの住宅価格データセットを読み込んでください。

次のように返答が表示されます。

ChatGPTからNoteableに対して、次の名称でノートブックを作成するようにリクエストされました。
このことは、一つ目の「Used Noteable」をクリックして確認できます。

そして、二つ目の「Used Noteable」ではPythonコードが含まれていることを確認できます。

このPythonコードは、ChatGPTが考えたコードです。
このコードをNoteableに渡していることを確認できます。

そして、その渡されたコードの実施状況はNoteable上で確認可能です。

「こちら」リンクをクリックします。
Noteableのページが開いて、作成指示した名称のノートブックを確認できます。

そして、Pythonコードが実行されていることを確認可能です。
あと、コードを実行した結果も。

ChatGPTとNoteableに関係において、このような処理が行われています。
とりあえず、この関係を頭に入れておいてください。

これ以降は、ChatGPTだけで説明を進めます。
では、さっそくChatGPTに機械学習をさせましょう。

単刀直入に次のプロンプトを入力します。

最も精度の高い予測モデルを教えてください。

こんなプロンプトにもChatGPTはちゃんと返答してくれます。

ChatGPTの回答は、勉強になりますね。
人間の場合、ここまで丁寧に回答をしてくれるかどうか微妙です。

アルゴリズムについて、オススメを聞いてみます。

どのアルゴリズムがオススメですか?

理由を含めて、選択肢を提示してくれています。

チマチマするのは面倒なんで一気にやらせましょう。

上記4つをすべて試してください。

AI相手だと平気で無茶な指示を出せるのですよね。
この指示にはさすがに少し時間がかかります。

セッションが切れたようですが、自動で対応したようです。
このような動きは、人工知能という感じがします。

肝心の結果は、以下となっています。

  • 線形回帰 (Linear Regression): 平均二乗誤差 (MSE) 37.13
  • 決定木 (Decision Tree): 平均二乗誤差 (MSE) 36.43
  • ランダムフォレスト (Random Forest): 平均二乗誤差 (MSE) 21.53
  • 勾配ブースティング (Gradient Boosting): 平均二乗誤差 (MSE) 18.95

RMSEで表記してもらいましょう。

RMSEで表示してください。

  • 線形回帰 (Linear Regression): 平均二乗根誤差 (RMSE) 5.83
  • 決定木 (Decision Tree): 平均二乗根誤差 (RMSE) 5.86
  • ランダムフォレスト (Random Forest): 平均二乗根誤差 (RMSE) 4.44
  • 勾配ブースティング (Gradient Boosting): 平均二乗根誤差 (RMSE) 4.20

次に、モデルの最適化をお願いしてみましょう。
具体的なことは言わず、ざっくりとした物言いで。

最適化できませんか?

ここでも、ChatGPTは丁寧かつ勉強になる回答をくれています。

実施する最適化は、ハイパーパラメータチューニングであることを定義しています。
一般的には、次の二つが一般的に行われているハイパーパラメータチューニングということです。

  • グリッドサーチ(Grid Search)
  • ランダムサーチ(Random Search)

そして、ハイパーパラメータチューニングに時間がかかることを教えてくれてます。
「よろしいですか?」と、確認までしてくれるのですね。

もちろん、ここはOK。

よろしいです。

そうすると、次のように表示されます。

先に言っておくと、お知らせはしてくれません。
そのため、Noteableのノートブックで進捗を確認することをオススメします。

処理が終わったようであれば、次のように確認します。

終わりましたか?

終わっていれば、次のように表示されます。

ハイパーパラメータチューニングの結果は、精度が下がっています。
そのことについて聞いてみます。

ハイパーパラメータチューニングした方が、RMSEが下がっているのですか?

これも冷静かつ丁寧に回答してくれます。
人間同士なら、ちょっとした言い合いにもなりかねません。

折角提案してくれているので、「ベイズ最適化」をやってもらいましょう。
AIが相手なら、遠慮なく指示できますね。

ベイズ最適化を試してください。

ただ、セッションはしばしば切れるようです。

ベイズ最適化は、結構時間がかかります。

終わりましたか?

処理中に確認したら、次のように回答されます。

処理完了後(6分12秒の処理時間)に確認したら、次のように表示されます。

かなり改善されましたね。
こんなふうにChatGPTが相手であれば、ガンガンと指示を出せます。

自分で実行する場合でも、ここまで軽やかには動けません・・・
しかし、AIが相手だと遠慮も躊躇もありません。

以上、ChatGPT + Noteableによるデータ分析の実践を説明しました。

タイトルとURLをコピーしました