Keras 建立模型並預測資料的流程通常是定義模型、compile、fit、evaluate,最後使用 `model.predict()` 對新資料推論。最重要的檢查點是輸入 shape、標籤格式與訓練推論前處理一致。
Keras 建立模型的基本流程是什麼?
Keras 模型建立流程可以拆成資料準備、模型定義、編譯、訓練、評估與預測。每一步都對應 Keras Model API 的常用方法。
```python
from tensorflow import keras
from tensorflow.keras import layers
model = keras.Sequential([
layers.Dense(16, activation='relu', input_shape=(4,)),
layers.Dense(3, activation='softmax'),
])
```
TensorFlow `tf.keras.Model` 文件提供 `fit`、`evaluate`、`predict` 等方法,是 Keras 訓練流程的主要介面(TensorFlow,存取日期:2026-08-27)。
compile 要設定哪些項目?
`compile()` 主要設定 optimizer、loss 與 metrics。optimizer 決定參數更新方式,loss 決定模型要最小化的錯誤,metrics 則用於觀察訓練表現。
```python
model.compile(
optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'],
)
```
選擇 loss 時要看標籤格式。整數類別常用 `sparse_categorical_crossentropy`,one-hot 類別常用 `categorical_crossentropy`,二元分類常用 `binary_crossentropy`。
fit、evaluate 和 predict 差在哪?
`fit()` 用於訓練模型,`evaluate()` 用於評估已知標籤資料,`predict()` 用於對新資料輸出模型預測。
```python
model.fit(x_train, y_train, epochs=20, validation_split=0.2)
test_loss, test_acc = model.evaluate(x_test, y_test)
predictions = model.predict(x_new)
```
實務資訊增益:`predict()` 不會告訴你答案是否正確,只會輸出模型分數或數值。若要知道準確率,必須準備有標籤的測試集並使用 `evaluate()`。
model.predict 輸出要怎麼解讀?
`model.predict()` 的輸出形狀取決於最後一層。softmax 分類輸出每個類別的機率分布,回歸模型通常輸出連續數值。
分類範例:
```python
import numpy as np
proba = model.predict(x_new)
class_id = np.argmax(proba, axis=1)
```
推論前要使用與訓練相同的正規化、resize、欄位順序與資料型別。訓練推論前處理不一致,是模型上線後表現落差的常見原因。
常見問題
Keras 一定要用 Sequential 建模型嗎?
Keras 不一定要用 Sequential 建模型。簡單線性模型適合 Sequential,複雜多輸入或多輸出模型適合 Functional API。
model.predict 會更新模型權重嗎?
`model.predict()` 不會更新模型權重。predict 只做前向推論,不會執行反向傳播。
validation_split 是測試集嗎?
`validation_split` 不是最終測試集。validation 資料用於訓練期間觀察模型,test 資料應保留到最後評估。
loss 選錯會怎樣?
loss 選錯可能讓模型無法收斂或指標失真。分類任務要先確認標籤是整數、one-hot 還是二元格式。
predict 前需要 reshape 嗎?
predict 前是否需要 reshape 取決於模型輸入 shape。單筆資料也要保留 batch 維度,例如 `x.reshape(1, 4)`。
參考資料
- TensorFlow,〈tf.keras.Model〉,存取日期:2026-08-27。
最後更新
2026-08-27
延伸閱讀
關於作者 {#author}
Claire Chang | 企業 AI 導入與流程轉型顧問。專注於 AI Agent 架構設計、ERP 系統整合與企業 AI 治理。
首次發布:2023-01-19
