WEB問題集
オンプレミスの Oracle データベースから BigQuery へ、変更データを準リアルタイムに連続同期する必要があります。最も少ない運用負担で実現できるサービスはどれですか。
正解:B
正解の根拠
Datastream はサーバーレスの CDC サービスであり、Oracle や MySQL の変更データを低レイテンシで BigQuery に直接ストリーミングできます。
| 要件 | Datastream の対応 |
|---|---|
| 準リアルタイム | 秒単位のレイテンシで CDC を反映 |
| 運用負担 | サーバーレスで管理不要 |
| BigQuery 連携 | ネイティブ統合あり |
不正解の理由
- B は差分取得が困難で負荷も高くなります
- C は移行用途であり継続同期に向きません
- D は Oracle が Pub/Sub を直接呼び出せず非現実的です
住宅価格予測モデルで「築年数」の値が 0 から 120 まで、「面積平方メートル」が 20 から 500 まで分布しています。勾配ベースの線形モデルで学習する前に推奨される前処理はどれですか。
正解:C
正解の根拠
勾配ベースの最適化では特徴量のスケールが揃っていないと収束が遅くなり、影響度の大きい特徴量に偏ります。標準化または Min-Max により等スケールにそろえます。
| 手法 | 用途 |
|---|---|
| 標準化 | 正規分布を仮定する線形モデル |
| Min-Max | 距離ベースやニューラルネット |
不正解の理由
- B は連続値をカテゴリ化して情報を失います
- C は本質的なスケール差を解消しません
- D のラベルエンコーディングは連続値に不適切です
カテゴリカル変数「都市名」が 50000 種類存在します。ディープラーニングモデルで最も効率的に表現する手法はどれですか。
正解:B
正解の根拠
高カーディナリティのカテゴリは Embedding 層で密ベクトルに変換することでメモリ効率と汎化性能が向上します。
| 手法 | 次元数 | 適用 |
|---|---|---|
| Embedding | 数十〜数百 | 高カーディナリティ |
| One-hot | カテゴリ数と同じ | 低カーディナリティ |
不正解の理由
- B は次元爆発でメモリと計算量が膨大になります
- C は順序関係のない値に順序を付けてしまいます
- D は情報損失が大きく精度低下を招きます
参考:Embeddings
時系列の株価データでモデルを学習し未来を予測したいと考えます。データを訓練・検証・テストに分割する正しい方法はどれですか。
正解:D
正解の根拠
時系列予測では情報の漏れを防ぐため時間に基づく分割を行い、未来のデータが訓練に混入しないようにします。
| 分割 | 期間 |
|---|---|
| train | 過去 |
| validation | 中間 |
| test | 最新 |
不正解の理由
- B は未来情報が訓練に漏れリーク発生します
- C は時系列の順序を無視します
- D は予測の方向と矛盾します
Cloud Storage 上の数 TB の Parquet ファイルを Dataflow で読み取り変換した後、BigQuery に書き込むパイプラインを構築します。最も適した Apache Beam 接続方法はどれですか。
正解:C
正解の根拠
Apache Beam には Parquet 用の ReadFromParquet と BigQuery 書き込み用の WriteToBigQuery が用意されており、これがバッチ ETL の標準パターンです。
| 段階 | トランスフォーム |
|---|---|
| 読み取り | ReadFromParquet |
| 書き込み | WriteToBigQuery |
不正解の理由
- B は Parquet をテキストとして扱えません
- C はソースが Cloud Storage であり Pub/Sub ではありません
- D は読み書きの方向が逆です
