This project is a Price Predictor designed as a Minimum Viable Product (MVP) to showcase the flow of user interaction and capabilities of predicting prices based on various features. It uses Streamlit for the user interface, allowing users to load data, select features, train a model, and make predictions.
- Data loading and cleaning from CSV files
- Feature selection based on correlation analysis
- Model training with options for Random Forest Regressor and Linear Regression
- Interactive price prediction based on user inputs
- Python 3.9 or later
- pip for installing dependencies
- Clone the repository to your local machine:
git clone <repository-url>
- Navigate to the project directory:
cd path/to/price_predictor
- Install required Python packages in an activated virtual environment:
pip install -r requirements.txt
- Prepare your dataset in CSV format.
- Ensure it includes the necessary features for training and prediction.
- Set the target feature in the
config.py
file.
- Start the Streamlit application:
streamlit run main.py
- Open your web browser and go to the address shown in the terminal (usually
http://localhost:8501
).
- Data Loading: Upload your CSV file and select columns to include.
- Feature Selection: Choose features based on correlation analysis.
- Model Training: Select a model and configure its parameters.
- Prediction: Enter values for the selected features to predict prices.
.
└── price_predictor
├── loading_and_selection.py # Handles data loading and feature selection
├── main.py # Main application script for Streamlit
├── model_training_and_eval.py # Handles model training and evaluation
├── prediction.py # Manages prediction logic and user input collection for prediction
└── README.md # Project documentation
main.py
: The entry point of the application. It integrates different modules and Streamlit UI components.loading_and_selection.py
: Contains functions for loading data, cleaning, and selecting features based on user input.model_training_and_eval.py
: Includes functions for training machine learning models and evaluating their performance.prediction.py
: Handles the collection of user inputs for features and uses the trained model to predict prices.
This project is designed as an MVP. Future enhancements could include advanced model tuning, the integration of more sophisticated feature selection techniques, and deployment strategies for scaling the application.