varalakshmi55 commited on
Commit
35861d1
·
verified ·
1 Parent(s): ccea267

Delete pages/predict page.py

Browse files
Files changed (1) hide show
  1. pages/predict page.py +0 -65
pages/predict page.py DELETED
@@ -1,65 +0,0 @@
1
- # app.py (your Streamlit file)
2
- import streamlit as st
3
- import numpy as np
4
- import pickle
5
- from sklearn.metrics import accuracy_score, f1_score, roc_auc_score
6
- import pandas as pd
7
-
8
- st.title("🧠 Sleep Event Prediction")
9
-
10
- # --- Load Pickles ---
11
- @st.cache_resource
12
- def load_all():
13
- with open("model.pkl", "rb") as f: model = pickle.load(f)
14
- with open("scaler.pkl", "rb") as f: scaler = pickle.load(f)
15
- with open("label_encoder.pkl", "rb") as f: le = pickle.load(f)
16
- with open("X_test.pkl", "rb") as f: X_test = pickle.load(f)
17
- with open("y_test.pkl", "rb") as f: y_test = pickle.load(f)
18
- return model, scaler, le, X_test, y_test
19
-
20
- model, scaler, le, X_test, y_test = load_all()
21
-
22
- # --- Predict and Evaluate ---
23
- y_pred = model.predict(X_test)
24
- y_proba = model.predict_proba(X_test)
25
-
26
- accuracy = accuracy_score(y_test, y_pred)
27
- f1 = f1_score(y_test, y_pred, average='macro')
28
-
29
- if y_proba.shape[1] == 2:
30
- roc = roc_auc_score(y_test, y_proba[:, 1])
31
- else:
32
- roc = roc_auc_score(y_test, y_proba, multi_class='ovo', average='macro')
33
-
34
- # --- Display Metrics ---
35
- # st.subheader("Model Performance")
36
- # st.metric("Accuracy", f"{accuracy:.4f}")
37
- # st.metric("F1 Score", f"{f1:.4f}")
38
- # st.metric("ROC AUC Score", f"{roc:.4f}")
39
-
40
- # Create a DataFrame for metrics
41
- import pandas as pd
42
-
43
- st.subheader("Model Performance")
44
-
45
- # Create a DataFrame for metrics
46
- metrics_df = pd.DataFrame({
47
- "Metric": ["Accuracy", "F1 Score", "ROC AUC Score"],
48
- "Value": [f"{accuracy:.4f}", f"{f1:.4f}", f"{roc:.4f}"]
49
- })
50
-
51
- # Display as table
52
- st.table(metrics_df)
53
-
54
-
55
- # --- Predict User Input ---
56
- st.subheader("Predict Sleep Event")
57
- anglez = st.number_input("Enter anglez:", value=27.8800)
58
- enmo = st.number_input("Enter enmo:", value=0.0000)
59
-
60
- if st.button("Predict Sleep Event"):
61
- input_data = np.array([[anglez, enmo]])
62
- input_scaled = scaler.transform(input_data)
63
- prediction = model.predict(input_scaled)[0]
64
- label = le.inverse_transform([prediction])[0]
65
- st.success(f"Predicted Event: {label}")