Databricks経由Machine Learningの旅 第四話 -Unity Catalogでkaggleのデータをわかりやすくして貰う- 

# はじめに
本記事はDatabricks アドベントカレンダー2024 23日目の記事です。

https://qiita.com/advent-calendar/2024/databricks

[前回はUnity Catalogの特徴について、機械学習で活用する視点からご紹介しました。](https://qiita.com/wakama1994/items/18979f3232024284e8a0)

今回は、Unity Catalogを活用していきます。カタログ機能にある「AI生成」機能を用いて、機械学習のデータを理解するのに使います。（第三話の予告とはテーマを変更しました🙏）

なお、機械学習のデータとして、データコンペの「kaggle」のデータを用いています。

# 対象読者
- Unity Catalogを実際にこれから触っていきたい人
- kagglerで、Unity Catalogを使ってデータをじっくり観察したい人

# 利用データ
第一話のようにTitanicコンペがテーブルデータのため、こちらを用いて検証しました。

https://www.kaggle.com/c/titanic/data

# やったこと
csvファイルを手元にダウンロードをし、「カタログの登録」を行なったあと、AI生成の機能を用いてデータの理解を促進してもらいました。

### カタログへの登録
カタログエクスプローラーから、「作成>テーブルの作成」を押下し、ドラックアンドドロップで登録を行います。

![スクリーンショット 2025-01-08 15.55.43（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/49877b67-f04c-9adf-7253-24cb7b2b5adf.png)

そうすると、「ファイルアップロードからテーブルを作成または変更」で、登録するカタログ・スキーマに間違いないかを確認し、任意のテーブル名をつけます。問題ない場合は、右下の「テーブルを作成」を押下します。

![スクリーンショット 2025-01-09 9.40.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/ddab4843-780c-b05b-9b37-7fc0c015a3dd.png)



なおkaggle APIからTROCCOで転送してテーブル登録することも可能です。
筆者の過去記事で説明しているものがありますので、こちらをご参照ください。

https://qiita.com/wakama1994/items/17be09bb78165cefae11



### AI生成の機能について
次にデータの理解を促進するために用いた、AI生成の機能について紹介します。

使えたものとして、データの概観を理解する「概要＞データの説明」 と各カラムの説明をする「概要＞コメント」の２つで利用ができました。 

#### データの説明について
概要部分からは「AIが提案する説明」の部分に、自動的にどのようなデータかを説明してくれる機能がありました。
こちらの内容で問題なければ、承認ボタンを押下してもらうと、実際に中身が反映されます。

![スクリーンショット 2025-01-09 9.48.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/83aecd9b-986f-f290-c12e-d3a235a81df4.png)

承認後も、編集する機能があり、手入力で修正することが可能なほか、ここにもAI生成の機能も存在しました。
デフォルトでは「テキストを短くする」や「テキストを翻訳」（日本語翻訳ではなく、要約に近い）がありました。

![スクリーンショット 2025-01-09 9.49.10 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/517523bf-1e91-6a5f-6636-dbbc588d6556.png)

また、AI生成の機能をカスタマイズすることも可能で、英文で生成されたものを**日本語翻訳もできました！**

「テキストを翻訳」を押下し、送信ボタンを押す前に「コメントを日本語で翻訳」と書き換えると、AI生成で作成された文章が日本語で返ってきました！

![スクリーンショット 2025-01-09 9.51.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/ffbc7291-b5a1-676b-76c6-896986f7cee8.png)

![スクリーンショット 2025-01-09 9.52.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/f9b9bc59-cee0-bbf1-5e24-8c23f5584d7b.png)

#### コメントについて
次にテーブルの機能として、各カラムのコメントを書く箇所があります。
こちらに関してもAI生成の機能がありました。
画面右上の「AI生成」を押下すると、コメント欄に「カラムにはどんなデータが存在するか？」を自動で文章を生成してくれます。

![スクリーンショット 2025-01-09 9.58.35 2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/d7dea2c4-d999-02e6-9a6d-71b8f49f0f6b.png)

![スクリーンショット 2025-01-09 10.02.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2725527/8818524d-5eb3-3136-00fc-9ed1bcc62c66.png)


こちらの機能についても、データの説明で紹介した、編集機能の「テキストを短くする」やカスタマイズして「コメントを日本語で翻訳」も対応していました。

# まとめ
今回はUnity Catalogのカタログ機能を用いて、kaggleコンペのテーブルデータの理解の促進を行いました。

kaggleのコンペを進める上で、事前に何のデータかわかっていると、EDA等が進めやすいと感じてました。
実際に開催されているkaggleコンペに出る際は、「AI生成」の機能を活用して、データの理解を深めていこうと思います。

:::note warn
今回の記事では「AI生成」で作成されたものにはマスクをかけています。
本記事で興味を持った方は、データをダウンロードし、ご自身の環境で文章の中身を確認してみてください！
:::
なお次回以降のお話ですが、検討中です。
Unity Catalogをより深く掘っていくor Auto ML機能に着手するか迷い中です。

# 参考文献
AI生成の日本語訳に関して、Databricksの中の人が書いた記事がヒットし、参考にさせて頂きました。

https://qiita.com/taka_yayoi/items/2273b99c4b0e480856db