| import streamlit as st
|
| import pandas as pd
|
| import numpy as np
|
| import joblib
|
|
|
| st.title("💎 Gemstone Price Estimator")
|
| st.write("Bu uygulama, değerli taşların fiyatını tahmin eder.")
|
|
|
|
|
| carat = st.slider("Carat", 0.2, 5.0, 1.0)
|
| depth = st.slider("Depth", 50.0, 70.0, 60.0)
|
| table = st.slider("Table", 50.0, 70.0, 58.0)
|
| x = st.slider("x (mm)", 3.0, 10.0, 6.0)
|
| y = st.slider("y (mm)", 3.0, 10.0, 6.0)
|
| z = st.slider("z (mm)", 2.0, 6.0, 4.0)
|
| clarity_score = st.slider("Clarity Score", 1, 10, 5)
|
| color_score = st.slider("Color Score", 1, 7, 3)
|
| cut_score = st.slider("Cut Score", 1, 5, 3)
|
|
|
|
|
| user_input = pd.DataFrame([{
|
| "carat": carat,
|
| "depth": depth,
|
| "table": table,
|
| "x": x,
|
| "y": y,
|
| "z": z,
|
| "clarity_score": clarity_score,
|
| "color_score": color_score,
|
| "cut_score": cut_score
|
| }])
|
|
|
|
|
| model = joblib.load("rf_model.pkl")
|
| columns = joblib.load("model_columns.pkl")
|
|
|
|
|
| user_input = user_input[columns]
|
|
|
|
|
| if st.button("Tahmini Fiyatı Göster"):
|
| prediction = model.predict(user_input)[0]
|
| st.success(f"💰 Tahmini Fiyat: ${prediction:,.2f}")
|
|
|