| | import gradio as gr |
| | import joblib |
| | import numpy as np |
| |
|
| | |
| | model = joblib.load("stock_model.pkl") |
| | scaler = joblib.load("scaler.pkl") |
| | label_encoder = joblib.load("label_encoder.pkl") |
| |
|
| | def predict_rating(ticker, pe, de, roe, mcap, dividend): |
| | try: |
| | |
| | features = np.array([[float(pe), float(de), float(roe), float(mcap), float(dividend)]]) |
| | scaled = scaler.transform(features) |
| | prediction = model.predict(scaled) |
| | rating = label_encoder.inverse_transform(prediction)[0] |
| | return f"๐ Stock **{ticker.upper()}** is recommended to: **{rating}**" |
| | except Exception as e: |
| | return f"โ Error: {str(e)}" |
| |
|
| | |
| | iface = gr.Interface( |
| | fn=predict_rating, |
| | inputs=[ |
| | gr.Textbox(label="Stock Ticker (e.g., INFY)"), |
| | gr.Number(label="PE Ratio"), |
| | gr.Number(label="DE Ratio"), |
| | gr.Number(label="ROE (%)"), |
| | gr.Number(label="Market Cap (โน Cr)"), |
| | gr.Number(label="Dividend Yield (%)") |
| | ], |
| | outputs="markdown", |
| | title="๐ Stock Recommendation - Morningstar Style", |
| | description="Enter stock parameters to get a Buy/Hold/Sell recommendation." |
| | ) |
| |
|
| | iface.launch() |
| |
|