REST API berbasis FastAPI untuk memprediksi saldo keuangan pengguna berdasarkan histori 6 fitur: asset, liability, income, expenses, savings, loan.
Model ML dilatih dengan TensorFlow dan diekspor sebagai .h5 file, lalu digunakan untuk inferensi di endpoint /predict.
File/Folder Deskripsi
main.py Endpoint FastAPI untuk prediksi saldo
scaler_y.pkl Scaler untuk inverse prediksi hasil model
saldo_prediction_model_2.h5 Model hasil pelatihan
requirements.txt Daftar dependency Python
Dockerfile Konfigurasi Docker container
URL: /predict Method: POST
Format Request 1: 6 fitur (digandakan 14x)
{
"data": [500000000, 400000000, 10000000, 20000000, 1000000, 5000000]
}Format Request 2: 14 baris historis
{
"data": [
[500000000, 400000000, 10000000, 20000000, 1000000, 5000000],
...
]
}{
"prediction": [
"Rp120.000.000",
"Rp125.000.000",
...
]
}Jika scaler tidak tersedia:
{
"prediction": [[1.4415650367736816]],
"note": "Hasil belum di-inverse karena scaler_y.pkl tidak ditemukan."
}
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
fastapi
uvicorn
tensorflow
pydantic
python-multipart
numpy
joblib
scikit-learn
Model menggunakan custom loss function: MSE.
Jika scaler_y.pkl tidak tersedia, hasil prediksi tidak akan diubah ke format Rupiah.
Endpoint ini hanya memberikan estimasi saldo, bukan saran finansial resmi.