| # π± Phone Price Prediction | |
| ## π Introduction | |
| The **Phone Price Detector** project aims to develop a machine learning model capable of predicting smartphone prices based on various features. By leveraging **Object-Oriented Programming (OOP)** principles, we will create a modular and maintainable codebase. This project includes **data preprocessing, implementing the K-Nearest Neighbors (KNN) algorithm, and utilizing classifiers** to achieve accurate price predictions. | |
| ## π― Objectives | |
| 1. **π Utilize OOP Concepts** | |
| - Design the system using **object-oriented programming** to encapsulate data and methods related to phone features and pricing. | |
| 2. **π Data Preprocessing** | |
| - β Clean and analyze the dataset to ensure high-quality input for the model. | |
| - β Handle missing values, outliers, and categorical data encoding. | |
| 3. **π KNN Implementation** | |
| - Implement the **K-Nearest Neighbors (KNN)** algorithm for price prediction. | |
| - Optimize hyperparameters to improve model performance. | |
| 4. **π Evaluation Metrics** | |
| - Display **accuracy, precision, recall, and F1 score** to evaluate model performance. | |
| - Provide insights into model reliability. | |
| 5. **π² User Input Features** | |
| - Enable users to input smartphone features for price prediction. | |
| - Present prediction results along with evaluation metrics. | |
| # Screen shots | |
| ## Home | |
|  | |
| ## Predicting Price | |
|  | |
| ### Result | |
|  | |
| ## View Phones list | |
|  | |
| ## π Methodology | |
| 1. **π₯ Data Collection** | |
| - Gather a **comprehensive dataset** containing smartphone features such as brand, model, RAM, storage, camera specifications, and their corresponding prices. | |
| 2. **π Data Preprocessing** | |
| - Use **Pandas** and **NumPy** for data manipulation. | |
| - Clean the dataset by removing duplicates and handling missing values. | |
| - Analyze feature relationships using visualizations with **Matplotlib** and **Seaborn**. | |
| 3. **π€ Model Development** | |
| - Implement **KNN, ANN, or NaΓ―ve Bayes** algorithms using **scikit-learn** based on requirements. | |
| - Train the model on the preprocessed dataset. | |
| - Use cross-validation techniques for better performance assessment. | |
| 4. **π Model Evaluation** | |
| - Calculate and display **accuracy, precision, recall, and F1 score** using **scikit-learn's metrics module**. | |
| - Provide insights into model effectiveness. | |
| 5. **π» User Interface** | |
| - Develop an **interactive Jupyter Notebook** environment for users to input features and view predictions. | |
| ## π Tools and Technologies | |
| - **π» Programming Language:** Python | |
| - **π Development Environment:** Jupyter Notebook | |
| - **π Libraries Used:** | |
| - π `pandas` for data manipulation | |
| - π’ `numpy` for numerical operations | |
| - π `matplotlib` and `seaborn` for data visualization | |
| - π€ `scikit-learn` for implementing KNN and evaluation metrics | |
| - β Additional libraries as needed | |
| ## π― Expected Outcomes | |
| - β A **robust price prediction model** for smartphones based on user-input features. | |
| - π **Detailed evaluation metrics** to assess model performance. | |
| - π‘ An **interactive Jupyter Notebook** for users to explore predictions. | |
| ## π€ Conclusion | |
| The **Phone Price Detector** project provides valuable insights into smartphone pricing trends, helping users make informed purchasing decisions. By implementing **OOP principles**, we ensure a structured and maintainable codebase, facilitating future improvements and scalability. | |
| --- | |
| π¨βπ» **Developed by:** Abdullah Bilal Yousif Student of AI | |
| at SZABIST-ISB | |