Kerasは柔軟な入力形式に対応しており、モデルの学習や評価の際に NumPy配列 や Pandas DataFrame をデータとして使用することが可能です。以下では、それぞれの入力形式についての特徴と使用方法を詳しく説明します。
1. NumPy配列による入力
特徴:
-
Kerasは内部的にTensorFlowのテンソルを扱いますが、NumPy配列は自動的にテンソルに変換されるため、最も基本的で広く使われる形式です。
-
多次元のデータ(画像、時系列など)にも柔軟に対応できます。
使用例:
2. Pandas DataFrameによる入力
特徴:
-
Pandasはデータ前処理・分析に優れており、欠損値処理、カテゴリ変数のエンコード、フィルタリングなどを簡潔に行えます。
-
KerasはDataFrameを内部でNumPy配列に変換して処理しますが、カラム名付きでの処理が必要な場合や前処理との連携に便利です。
使用例:
注意点
| 項目 | 内容 |
|---|---|
| データ型 | NumPy配列 (np.ndarray) や Pandasの DataFrame / Series を受け入れ可能 |
| 欠損値 | 欠損値(NaN)があるとエラーが発生するため、前処理で除去または補完が必要 |
| 正規化 | 特徴量が異なるスケールを持つ場合は、StandardScaler や MinMaxScaler などで正規化することが推奨される |
| DataFrame使用時の推奨 | データフローが複雑でない限り、内部でNumPy変換が行われるため、DataFrameを直接使っても問題ない |
補足: Scikit-learnとの連携
KerasはScikit-learnと親和性が高いため、train_test_split()などと組み合わせて簡単に前処理・学習が行えます。
まとめ
-
NumPy配列はKerasにとって基本的かつ高速な入力形式です。
-
Pandas DataFrameは前処理の利便性から非常に実用的で、Kerasもそのまま受け入れ可能です。
-
欠損値やスケーリングに注意すれば、どちらの形式も柔軟に利用できます。
必要に応じて、Kerasのtf.data.Datasetを使った大規模データ処理への移行も検討できます。
生成日:2025/05/22