Vertex AIとBigQueryのデータ整形Tips集

データ分析は、データを分析するフェーズよりもデータを整形・加工し、分析で使えるようにする工程が大半を占めています。この記事ではVertex AIとBigQuery でデータ分析をする際に行うデータ整形の例をいくつか挙げています。ぜひご活用ください。
GCP上のリージョン設定
GCPでは同一プロジェクトは基本的に同一リージョン内に保存しておくと作業がスムーズに進みます。
リージョンは全く別システムとして稼働しているので、マルチリージョンにすることによって一つのリージョンがダウンしても、ほかのリージョンのシステムは影響を受けず、可用性が高まるという利点があります。
しかし、リージョンによっては一部サービスが使用できないリージョンがあったり、通信速度の違いがあったりと注意が必要な点があります。
そのため、GCPの同一プロジェクト内ではリージョンは一つに絞っておくと作業の際にエラーになりずらくなります。

データにnullが入らないようにする
Vertex AIでデータ分析を行う場合には、機械学習用のデータの欠損処理の際にnullがデータにないことが望ましいとされています。ここではSQL上でデータをnullから0に変換する方法を載せておきます。
・UPDATE関数とWHERE句を用いる
やっていることとしては簡単で、UPDATE関数を使用し、任意の行のnullを0に変換しています。
任意の行を削除する
ここでは外れ値を消去する処理について説明します。
データには外れ値がある場合があり、例えば0と1のどちらかのデータに5などが紛れ込んでしまっている場合などがあります。ほかにも外れ値は様々あり、削除の必要性があるかは別途検討が必要です。
ここでは処理すべき外れ値がある場合の外れ値の削除法補を記載しています。
・DELETE関数とWHERE句を用いる

時系列データを分析で使えるようにする
データをBigQuery などに入れた際に、時系列データが文字列で入ってしまうことはよくあることであり、データ整形の難所の一つでもあります。
時系列データは文字列のままでは使えず、時系列型のデータに直す必要があります。ここでは文字列を時系列データに変換する方法を記載します。
・フォーマットが時系列になっている場合は、SQLを用いてCASTを利用
任意の行をキャストを使用してタイムスタンプ型のデータに変換しています。
フォーマットが時系列になっていない場合は、スプシで時系列に変換してからBigQuery に入れてください。

時間軸ごとの分析にしよするデータ加工
データ分析で時間軸ごとにデータを分析したい際にEXTRACTを利用してデータを加工してください。
この例では一時間ごとにデータを分けて新しいデータに加工しています。