import streamlit as st import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score st.set_page_config(page_title="Linear Regression Model", layout="centered") st.title("๐Ÿ Housing Price Predictor๐Ÿ“ˆ") uploaded_file = st.file_uploader("๐Ÿ“‚ Upload your CSV file", type=["csv"]) if uploaded_file: df = pd.read_csv(uploaded_file) st.success("โœ… File loaded successfully!") st.write("### Preview of Dataset:") st.dataframe(df.head()) all_columns = df.columns.tolist() target_column = st.selectbox("๐ŸŽฏ Select the target column (value to predict)", all_columns) feature_columns = st.multiselect("๐Ÿ› ๏ธ Select feature columns", [col for col in all_columns if col != target_column]) if st.button("๐Ÿš€ Run Linear Regression"): try: X = df[feature_columns] y = df[target_column] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) model = LinearRegression() model.fit(X_train, y_train) y_pred = model.predict(X_test) mse = mean_squared_error(y_test, y_pred) mae = mean_absolute_error(y_test, y_pred) r2 = r2_score(y_test, y_pred) st.write("### ๐Ÿ“Š Evaluation Metrics:") st.write(f"- Mean Squared Error (MSE): {mse:,.2f}") st.write(f"- Mean Absolute Error (MAE): {mae:,.2f}") st.write(f"- Rยฒ Score: {r2:.2f}") except Exception as e: st.error(f"โŒ An error occurred: {e}") else: st.info("๐Ÿ‘ˆ Upload a CSV file to begin.")