Yatheshr commited on
Commit
ee8711b
·
verified ·
1 Parent(s): c6a6e49

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -0
app.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import joblib
3
+ import numpy as np
4
+
5
+ # Load model and scaler
6
+ model = joblib.load("stock_model.pkl")
7
+ scaler = joblib.load("scaler.pkl")
8
+ label_encoder = joblib.load("label_encoder.pkl")
9
+
10
+ def predict_rating(ticker, pe, de, roe, mcap, dividend):
11
+ try:
12
+ # Prepare input for model
13
+ features = np.array([[float(pe), float(de), float(roe), float(mcap), float(dividend)]])
14
+ scaled = scaler.transform(features)
15
+ prediction = model.predict(scaled)
16
+ rating = label_encoder.inverse_transform(prediction)[0]
17
+ return f"📈 Stock **{ticker.upper()}** is recommended to: **{rating}**"
18
+ except Exception as e:
19
+ return f"❌ Error: {str(e)}"
20
+
21
+ # Define the Gradio interface
22
+ iface = gr.Interface(
23
+ fn=predict_rating,
24
+ inputs=[
25
+ gr.Textbox(label="Stock Ticker (e.g., INFY)"),
26
+ gr.Number(label="PE Ratio"),
27
+ gr.Number(label="DE Ratio"),
28
+ gr.Number(label="ROE (%)"),
29
+ gr.Number(label="Market Cap (₹ Cr)"),
30
+ gr.Number(label="Dividend Yield (%)")
31
+ ],
32
+ outputs="markdown",
33
+ title="📊 Stock Recommendation - Morningstar Style",
34
+ description="Enter stock parameters to get a Buy/Hold/Sell recommendation."
35
+ )
36
+
37
+ iface.launch()