This project aims to predict the auction prices of bulldozers using machine learning techniques. The dataset used for this project comes from the Kaggle competition "Blue Book for Bulldozers," which provides historical data on bulldozer sales.
The dataset includes various features such as machine specifications, sale dates, and operational conditions. The primary objective is to predict the sale price of a bulldozer given its attributes.
- The data is obtained from the Kaggle Blue Book for Bulldozers
- The dataset contains multiple CSV files, including:
Train.csv: Historical data of bulldozers with known sale prices.Valid.csv: Validation dataset to test model performance.Test.csv: Data for final model predictions.
The following steps are followed in building the machine learning model:
-
Data Preprocessing
- Handling missing values
- Feature engineering
- Encoding categorical variables
-
Exploratory Data Analysis (EDA)
- Identifying trends and relationships
- Visualizing key insights
-
Model Selection and Training
- Random Forest Regressor
- Hyperparameter tuning using RandomizedSearchCV
-
Model Evaluation
- Root Mean Squared Log Error (RMSLE)
- R² Score
To run the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/yourusername/Bulldozer-Price-Prediction-using-ML.git cd Bulldozer-Price-Prediction-using-ML -
Create a virtual environment and install dependencies:
python -m venv env source env/bin/activate # On Windows use `env\Scripts\activate` pip install -r requirements.txt
-
Run the Jupyter Notebook to explore the data and train the model:
jupyter notebook
The project requires the following Python libraries:
pandasnumpyscikit-learnmatplotlib
Install all dependencies using:
pip install -r requirements.txt- The best model achieved an RMSE of X.XX on the validation set.
- Feature importance analysis showed that
YearMade,UsageBand, andProductSizewere key factors influencing bulldozer prices. - The model performed well on test data, generalizing effectively.
- Try deep learning models such as neural networks.
- Incorporate additional data sources for better predictions.
- Deploy the model as a web app using Flask or FastAPI.
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a new branch (
feature-branch) - Commit changes
- Push to the branch and create a pull request
This project is licensed under the MIT License.