fix:merapikan kode
This commit is contained in:
parent
0aa83453fc
commit
2abe7595ab
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -252,18 +252,6 @@ def get_price_history(
|
||||||
degree = int(settings.nilai_degree) if settings.nilai_degree is not None else 3
|
degree = int(settings.nilai_degree) if settings.nilai_degree is not None else 3
|
||||||
coef0 = float(settings.nilai_coef) if settings.nilai_coef is not None else 0.0
|
coef0 = float(settings.nilai_coef) if settings.nilai_coef is not None else 0.0
|
||||||
|
|
||||||
# 8. Latih Model SVR dengan Kernel Linear
|
|
||||||
# Inisialisasi Model SVR
|
|
||||||
# if kernel == "linear":
|
|
||||||
# svr = SVR(kernel=kernel, C=C, epsilon=epsilon)
|
|
||||||
# else:
|
|
||||||
# svr = SVR(kernel=kernel, C=C, gamma=gamma, epsilon=epsilon)
|
|
||||||
# if kernel in ["poly", "sigmoid"]:
|
|
||||||
# svr.coef0 = coef0
|
|
||||||
# if kernel == "poly":
|
|
||||||
# svr.degree = degree
|
|
||||||
# svr = SVR(kernel='linear', C=1.0, epsilon=0.01)
|
|
||||||
# svr = SVR(kernel='rbf', C=1.0, epsilon=0.01, gamma='scale')
|
|
||||||
if kernel == "linear":
|
if kernel == "linear":
|
||||||
svr = SVR(kernel="linear", C=C, epsilon=epsilon)
|
svr = SVR(kernel="linear", C=C, epsilon=epsilon)
|
||||||
|
|
||||||
|
@ -288,14 +276,14 @@ def get_price_history(
|
||||||
|
|
||||||
|
|
||||||
# 11. Prediksi 30 Hari ke Depan
|
# 11. Prediksi 30 Hari ke Depan
|
||||||
last_data = pd.DataFrame([X.iloc[-1].values], columns=X.columns) # ✅ Gunakan DataFrame
|
last_data = pd.DataFrame([X.iloc[-1].values], columns=X.columns)
|
||||||
|
|
||||||
predictions = []
|
predictions = []
|
||||||
for _ in range(7):
|
for _ in range(7):
|
||||||
pred = svr.predict(last_data)[0]
|
pred = svr.predict(last_data)[0]
|
||||||
predictions.append(pred)
|
predictions.append(pred)
|
||||||
|
|
||||||
# ✅ Update input dengan DataFrame, bukan NumPy array
|
# Update input dengan DataFrame, bukan NumPy array
|
||||||
last_data = pd.DataFrame([[last_data.iloc[0, 1], last_data.iloc[0, 2], last_data.iloc[0, 3], pred]], columns=X.columns)
|
last_data = pd.DataFrame([[last_data.iloc[0, 1], last_data.iloc[0, 2], last_data.iloc[0, 3], pred]], columns=X.columns)
|
||||||
|
|
||||||
# 12. Konversi hasil prediksi ke skala asli
|
# 12. Konversi hasil prediksi ke skala asli
|
||||||
|
|
|
@ -15,7 +15,7 @@ priceTomat_router = APIRouter(
|
||||||
tags=["Price Tomat"]
|
tags=["Price Tomat"]
|
||||||
)
|
)
|
||||||
|
|
||||||
# 🔹 GET: Ambil semua data harga tomat
|
|
||||||
@priceTomat_router.get("/", dependencies=[Depends(verify_token)])
|
@priceTomat_router.get("/", dependencies=[Depends(verify_token)])
|
||||||
def get_prices(db=Depends(get_db)):
|
def get_prices(db=Depends(get_db)):
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -14,7 +14,7 @@ riwayat_router = APIRouter(
|
||||||
tags=["Riwayat Pengujian SVR"]
|
tags=["Riwayat Pengujian SVR"]
|
||||||
)
|
)
|
||||||
|
|
||||||
# ✅ Get all riwayat pengujian
|
# Get all riwayat pengujian
|
||||||
@riwayat_router.get("/", dependencies=[Depends(verify_token)])
|
@riwayat_router.get("/", dependencies=[Depends(verify_token)])
|
||||||
async def get_all_riwayat(db: Session = Depends(get_db)):
|
async def get_all_riwayat(db: Session = Depends(get_db)):
|
||||||
try:
|
try:
|
||||||
|
@ -25,14 +25,14 @@ async def get_all_riwayat(db: Session = Depends(get_db)):
|
||||||
return [dict(row._mapping) for row in result]
|
return [dict(row._mapping) for row in result]
|
||||||
except SQLAlchemyError as e:
|
except SQLAlchemyError as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
print("🔥 ERROR Database:", str(e))
|
print(" ERROR Database:", str(e))
|
||||||
raise HTTPException(status_code=500, detail=f"Terjadi kesalahan pada database: {str(e)}")
|
raise HTTPException(status_code=500, detail=f"Terjadi kesalahan pada database: {str(e)}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print("🔥 ERROR tidak terduga:", str(e))
|
print(" ERROR tidak terduga:", str(e))
|
||||||
raise HTTPException(status_code=500, detail=f"Terjadi kesalahan: {str(e)}")
|
raise HTTPException(status_code=500, detail=f"Terjadi kesalahan: {str(e)}")
|
||||||
|
|
||||||
|
|
||||||
# ✅ Get riwayat pengujian by ID
|
# Get riwayat pengujian by ID
|
||||||
@riwayat_router.get("/{id}", dependencies=[Depends(verify_token)])
|
@riwayat_router.get("/{id}", dependencies=[Depends(verify_token)])
|
||||||
async def get_riwayat_by_id(id: int):
|
async def get_riwayat_by_id(id: int):
|
||||||
query = select(riwayatPengujian).where(riwayatPengujian.c.id == id)
|
query = select(riwayatPengujian).where(riwayatPengujian.c.id == id)
|
||||||
|
@ -41,7 +41,7 @@ async def get_riwayat_by_id(id: int):
|
||||||
return dict(result._mapping)
|
return dict(result._mapping)
|
||||||
raise HTTPException(status_code=404, detail="Riwayat Pengujian tidak ditemukan")
|
raise HTTPException(status_code=404, detail="Riwayat Pengujian tidak ditemukan")
|
||||||
|
|
||||||
# ✅ Create new riwayat pengujian
|
# Create new riwayat pengujian
|
||||||
@riwayat_router.post("/", dependencies=[Depends(verify_token)])
|
@riwayat_router.post("/", dependencies=[Depends(verify_token)])
|
||||||
async def create_riwayat(data: RiwayatPengujian):
|
async def create_riwayat(data: RiwayatPengujian):
|
||||||
query = insert(riwayatPengujian).values(
|
query = insert(riwayatPengujian).values(
|
||||||
|
@ -56,7 +56,7 @@ async def create_riwayat(data: RiwayatPengujian):
|
||||||
conn.commit()
|
conn.commit()
|
||||||
return {"message": "Riwayat Pengujian berhasil ditambahkan"}
|
return {"message": "Riwayat Pengujian berhasil ditambahkan"}
|
||||||
|
|
||||||
# ✅ Update riwayat pengujian by ID
|
# Update riwayat pengujian by ID
|
||||||
@riwayat_router.put("/{id}", dependencies=[Depends(verify_token)])
|
@riwayat_router.put("/{id}", dependencies=[Depends(verify_token)])
|
||||||
async def update_riwayat(id: int, data: RiwayatPengujian):
|
async def update_riwayat(id: int, data: RiwayatPengujian):
|
||||||
query = update(riwayatPengujian).where(riwayatPengujian.c.id == id).values(
|
query = update(riwayatPengujian).where(riwayatPengujian.c.id == id).values(
|
||||||
|
@ -75,7 +75,7 @@ async def update_riwayat(id: int, data: RiwayatPengujian):
|
||||||
|
|
||||||
return {"message": "Riwayat Pengujian berhasil diperbarui"}
|
return {"message": "Riwayat Pengujian berhasil diperbarui"}
|
||||||
|
|
||||||
# ✅ Delete riwayat pengujian by ID
|
# Delete riwayat pengujian by ID
|
||||||
@riwayat_router.delete("/{id}", dependencies=[Depends(verify_token)])
|
@riwayat_router.delete("/{id}", dependencies=[Depends(verify_token)])
|
||||||
async def delete_riwayat(id: int):
|
async def delete_riwayat(id: int):
|
||||||
query = delete(riwayatPengujian).where(riwayatPengujian.c.id == id)
|
query = delete(riwayatPengujian).where(riwayatPengujian.c.id == id)
|
||||||
|
|
|
@ -48,7 +48,7 @@ async def seed_database():
|
||||||
conn.execute(query)
|
conn.execute(query)
|
||||||
conn.commit()
|
conn.commit()
|
||||||
|
|
||||||
return {"message": "✅ Seeder berhasil dijalankan: Data setting_predict sudah diisi."}
|
return {"message": " Seeder berhasil dijalankan: Data setting_predict sudah diisi."}
|
||||||
|
|
||||||
|
|
||||||
# Mapping kernel ke kolom yang bisa diupdate
|
# Mapping kernel ke kolom yang bisa diupdate
|
||||||
|
|
Loading…
Reference in New Issue