Spaces:
Sleeping
Sleeping
File size: 1,260 Bytes
d7f4720 1b0d4fd d7f4720 1b0d4fd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | import streamlit as st
import numpy as np
from sklearn.datasets import load_breast_cancer
from src.inference import predict_one
from src.eda import run_eda # <-- pastikan file src/eda.py sudah ada
st.set_page_config(page_title="Breast Cancer Classifier", layout="wide")
# Tabs: Prediction & EDA
tab_pred, tab_eda = st.tabs(["🏠 Prediction", "📊 EDA"])
# =======================
# Tab 1: Prediction
# =======================
with tab_pred:
st.title("Breast Cancer Classifier (RandomForest + MinMaxScaler)")
data = load_breast_cancer()
features = list(data.feature_names)
st.sidebar.header("Input Features")
vals = []
cols = st.columns(2)
for i, f in enumerate(features):
default_val = float(np.mean(data.data[:, i]))
with cols[i % 2]:
vals.append(
st.number_input(
f, value=default_val, step=0.01, format="%.4f"
)
)
arr = np.array(vals, dtype=float)
if st.button("Predict"):
y = predict_one(arr)
st.success(f"Prediction: **{data.target_names[y]}** (class={y})")
st.caption("0 = malignant, 1 = benign")
# =======================
# Tab 2: EDA
# =======================
with tab_eda:
run_eda()
|