🐯

機械学習モデル作成シリーズ Step3 配列データ

2024/03/09に公開

機械学習モデル作成のStep3です。前回はデータをロードする方法について扱いました。
今回は配列データについて解説します。

3 配列データ

データをロードすることで、プログラム上で扱えるようになります。プログラム上で複数のデータ形式を活用することで、それぞれ適した操作を行うことができます。

機械学習ではN次元配列データがよく利用され、これらをライブラリで扱うことがよくあります。

今回はこの配列データについて紹介します。

3.1 numpy.ndarray

NumPyライブラリの基本的なデータ構造であり、多次元配列を提供します。列名を持ちません。

用途:高速な数値計算や配列操作。

3.2 pandas.DataFrame

Pandasライブラリの2次元ラベル付きデータ構造です。
列ごとに異なるデータ型を持つことができ、SQLテーブルやExcelスプレッドシートのような形式でデータを操作できます。任意で列名を持ちます。
列が1つの場合、DataFrameではなくSeriesとなります。

用途:複数種類のデータ集計、前処理

3.3 polars.DataFrame

Polarsライブラリの2次元ラベル付きデータ構造です。
Pandasのデータフレームと高い互換性があり、Pandasよりも高速なデータフレーム操作を行うことができます。任意で列名を持ちます。

用途:複数種類のデータ集計、前処理

3.4 tensorflow.Tensor

TensorFlowライブラリで使用される、多次元配列のデータ構造です。
機械学習モデルの構築と計算グラフ(学習の流れを表したグラフ)の実行に使用され、GPUやTPUでの計算を効率化します。
列名を持ちません。

用途:機械学習モデルの構築、実行

3.5 torch.Tensor

PyTorchライブラリでの基本的なデータ構造で、多次元配列を表します。
自動微分機能を備えており、機械学習モデルの構築と訓練に広く使用されます。
列名を持ちません。

用途:機械学習モデルの構築、実行

Step3まとめ

Step3では機械学習で頻出するデータ形式について見て行きました。
おおまかに、
Numpy: 数値計算
Pandas, Polars: 前処理
TensorFlow, PyTorch: 機械学習モデルの構築
という分類になっています。

実際のモデル構築では、Pandas(Polars)でデータを取得して前処理、Numpyに変換して計算、TensorFlowやPyTorchに変換してモデルの学習に使用する、という流れになります。

ここでは全体的なデータの流れについてなんとなく理解しておきましょう。
次回step4ではデータの前処理について解説していきます。

Discussion