Unveiling insights from data, one line at a time with Linear Regression!
Developed a web-based regression engine that enables users to upload their own datasets and perform linear regression with ease. The system includes automated handling of null values and outliers, ensuring cleaner data preprocessing. It conducts rigorous statistical assumption checks (linearity, independence of error, normality, homoscedasticity, multicollinearity) and visualizes these assumptions using Matplotlib and Seaborn.
Users can interactively predict the target variable by providing custom input features, and receive detailed regression metrics such as RΒ², MAE, and RMSE. A professionally styled, downloadable PDF report is generated summarizing the model, assumptions, and performance insights.
- Upload your dataset (CSV, JSON format)
- Automatically detect attribute keys
- Enter the target and features
- Enter the method to treat null values
- Automatically detects and treats outliers
- Fit a linear regression model
- Generate model summary with RΒ², MAE, MSE, RMSE
- Check linear regression assumptions (linearity, normality, multicollinearity, Homoscedasticity, Independence of error) and visualize it
- Predict the target for user input
- Download a PDF report of the model
- User session management with caching for quick reuse
Regression_Engine/
ββ client/
β ββ public/
β β ββ data_scientist_.jpeg
β β ββ data_scientist.avif
β β ββ no_image_found.jpg
β ββ src/
β β ββ assets/
β β β ββ csv.png
β β β ββ json.png
β β β ββ logo.svg
β β ββ components/
β β β ββ AssumptionCard.jsx
β β β ββ Assumptions.jsx
β β β ββ Attributes.jsx
β β β ββ BuildModel.jsx
β β β ββ DragDropWrapper.jsx
β β β ββ DropFiles.jsx
β β β ββ FeatureSelector.jsx
β β β ββ GenerateReport.jsx
β β β ββ Header.jsx
β β β ββ Hero.jsx
β β β ββ LimitationsHero.jsx
β β β ββ ModelInference.jsx
β β β ββ ModelingDataCard.jsx
β β β ββ NullHandling.jsx
β β β ββ PredictionForm.jsx
β β β ββ SkeletonCard.jsx
β β ββ hooks/
β β β ββ useTooltip.jsx
β β ββ pages/
β β β ββ ExplorePage.jsx
β β β ββ HomePage.jsx
β β ββ utils/
β β β ββ fetchImageList.jsx
β β ββ App.jsx
β β ββ index.css
β β ββ main.jsx
β ββ .gitignore
β ββ eslint.config.js
β ββ index.html
β ββ package-lock.json
β ββ package.json
β ββ vite.config.js
ββ server/
β ββ app/
β β ββ static/
β β β ββ downloads/
β β β ββ fonts/
β β β β ββ Montserrat-Bold.ttf
β β β β ββ Montserrat-Medium.ttf
β β β β ββ Montserrat-Regular.ttf
β β β ββ images/
β β β ββ after_removing_outliers/
β β β ββ assumption_1/
β β β ββ assumption_2/
β β β ββ assumption_3/
β β β ββ assumption_4/
β β β ββ assumption_5/
β β β ββ before_removing_outliers/
β β β ββ icon.svg
β β ββ templates/
β β β ββ report.html
β β ββ uploads/
β β ββ __init__.py
β β ββ cache.py
β β ββ config.py
β β ββ regression.py
β β ββ routes.py
β β ββ utils.py
β ββ .gitignore
β ββ requirements.txt
β ββ run.py
ββ .gitignore
ββ README.md-
npm
npm install npm@latest -g
-
Download GTK for Windows at https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases
- Clone the repository
git clone https://github.com/Ganeshkumar-K-S/Regression_Engine.git- Create & Activate a Virtual Environment at server(Optional but Recommended)
# Windows
cd server
python -m venv venv
venv\Scripts\activate
# macOS/Linux
cd server
python3 -m venv venv
source venv/bin/activate- Install Backend Dependencies
pip install -r requirements.txt- Install Frontend Dependencies
cd client
npm install tailwindcss @tailwindcss/vite tailwind-scrollbar
npm install react-dropzone @heroicons/react @hello-pangea/dnd
npm install react-loading-skeleton
npm install react-tooltip
npm install react-select framer-motion lucide-react- Run the Backend Server
# From the root directory (where Flask app is located)
python app.py- Run the frontend react
cd client
npm run dev- Open the link in browser
- Python Data Analysis: NumPy & Pandas Masterclass
- Python Data Visualization: Matplotlib & Seaborn Masterclass
- Python Data Science: Regression & Forecasting
- Harivansh B
- Ganesh Kumar K S
- Harish D